• 0 Posts
  • 16 Comments
Joined 8 months ago
cake
Cake day: March 23rd, 2024

help-circle


  • This gets a bit messy. Here’s a python code snippet that gives you some idea what I’m up to with my Debian/Gnome desktop:

    if while_tweaking('all', 'default browser', '√'):
        ChangeSymbolicLink(
            name='gnome-www-browser',
            action='Make Tor the default browser.',
            old=f'~ccrhode/tor-browser_en-US/{TBB_SCRIPT}',
            new='/etc/alternatives/gnome-www-browser',
            )
        ChangeSymbolicLink(
            name='x-www-browser',
            action='Make Tor the default browser.',
            old=f'~ccrhode/tor-browser_en-US/{TBB_SCRIPT}',
            new='/etc/alternatives/x-www-browser',
            )
        ChangeGConf(
            name='http handler',
            action='Change default Gnome http handler.',
            path='/desktop/gnome/url-handlers/http',
            key_values={'command': 'gnome-www-browser "%s"'},
            )
        ChangeGConf(
            name='https handler',
            action='Change default Gnome https handler.',
            path='/desktop/gnome/url-handlers/https',
            key_values={'command': 'gnome-www-browser "%s"'},
            )
        ChangeGConf(
            name='default browser',
            action='Change default Gnome browser.',
            path='/desktop/gnome/applications/browser',
            key_values={'exec': 'gnome-www-browser'},
            )
    if while_tweaking('personal', 'desktop_icons', 'all', 'default browser', '√'):
        full_path = home_path(f'tor-browser_en-US/{TBB_SCRIPT}')
        ChangeDesktopLauncher(  # 2013 Jun 29
            name='firefox',
            action='Desktop icon for browser.',
            exec_=f'{full_path} -new-window %U',  # 2015 May 14
            desktop_name='New Window',
            icon='/usr/share/pixmaps/other/Web.png',
            comment="New window for Tor browser.",
            )
        ChangeDesktopLauncher(  # 2013 Jun 29
            name='firefox',
            action='Desktop icon for browser.',
            exec_=f'{full_path} -new-tab %U',  # 2015 May 14
            desktop_name='New Tab',
            icon='/usr/share/pixmaps/other/Web.png',
            comment="New tab for Tor browser.  This desktop item IS the default browser.  Please leave as-is.",
            key_values={
                'MimeType':
                'text/html;'
                'text/xml;'
                'application/xhtml+xml;'
                'application/xml;'
                'application/vnd.mozilla.xul+xml;'
                'application/rss+xml;'
                'application/rdf+xml;'
                'image/gif;'
                'image/jpeg;'
                'image/png;'
                'x-scheme-handler/http;'
                'x-scheme-handler/https;'
                'x-scheme-handler/about;'
                'x-scheme-handler/unknown;'
                },
            )
        path_local_apps = home_path('.local/share/applications')
        ChangeMkdir(
            name='firefox',
            action='Make default mime desktop files',
            path=path_local_apps,
            )
        APPS_REPERTOIRE = [
            home_path('Desktop/tweaks-New Tab.desktop'),
            '/usr/share/applications/org.gnome.Evince.desktop',  # 2020 Jul 31
            '/usr/share/applications/org.gnome.gedit.desktop',  # 2020 Jul 31
            ]
        for app_name in APPS_REPERTOIRE:
            ChangeSymbolicLink(
                name='firefox',
                action=f'Link {app_name}.',
                old=app_name,
                new=path_local_apps,
                )
        ChangeCommand(
            name='firefox',
            action='Update Mime cache',
            args=f'update-desktop-database "{path_local_apps}"',
            )
        ChangeCommand(  # 2023 Jan 10
            name='firefox',
            action="Force ownership of mimeinfo.cache.",
            args=f'chown {USER.name}:{USER.name} "{path_local_apps}/mimeinfo.cache"',
            )
        ChangeScript(
            name='firefox',
            action='Create defaults list.',
            file_name=f'{path_local_apps}/mimeinfo.cache',
            regexs_subs=[
                (r'\[MIME Cache\]','[Default Applications]'),
                ]
            )
        ChangeSymbolicLink(
            name='firefox',
            action='Link mimeinfo.cache',
            old=f'{path_local_apps}/mimeinfo.cache',
            new=f'{path_local_apps}/defaults.list',
            )
        ChangeDesktopLauncher(
            name='tor',
            action='Desktop icon for anonymizing browser.',
            exec_=full_path,
            desktop_name='Tor',
            icon=home_path('tor-browser_en-US/onion.png'),
            comment="TOR anonymizing browser",
            )
        ChangeDesktopLauncher(
            name='firefox',
            action='Desktop icon for Firefox browser.',
            exec_='firefox',  # 2022 Jan 10
            desktop_name='Firefox',
            icon='/usr/share/icons/hicolor/64x64/apps/firefox-esr.png',  # 2023 Jan 23
            comment="Firefox browser",
            )
        IS_DESKTOP_DIRTY = True
    

    In other words, in place of your browser invocation, you want a script that applies the -new-tab option to the browser invocation and you have to correct a bunch of Gnome configs, symlinks, and MimeTypes to get that to stick.



  • GNOME is entirely adequate.

    Yes it is except when it isn’t. Maybe there’s a reason practically no Adwaita theme alternatives ship with Debian. Maybe not. But, using Gnome, it’s the default theme or nothing. I have to admit I don’t know from themes. However, there are lots of Gnome themes available from theme peddlers.

    Recently I became fed to the teeth with claws-mail, which is a GTK app. In Adwaita the foreground font color is too dark (gray) on top of the background highlight (blue). My eyesight had deteriorated to the point that I just couldn’t read the Subject of the current eMail, so I shopped for a new theme that would be … adequate. I didn’t have time to try them all.

    I settled on Ant by EliverLara. In this theme foreground font color (white) on background highlight (salmon) is just barely visible. I use it only for claws-mail:

    > env GTK_THEME=Ant claws-mail


  • Does anyone know how I can merge/deduplicate contacts in a .vcf vcard file?

    Tonto2 is a python 3/Qt graphical app that runs on desktops. It’s main purpose is not to manipulate *.vcf files, but the appendix to the instruction pages tells how, anyway. Tonto2 uses a spread-sheet-like presentation paradigm. With appropriate magical mystical spells, you can import *.vcf as *.csv and sort the *.csv by last-name, phone-number, eMail, zip-code, or whatever. It won’t de-dup, but you can spot the duplicates easier once they’re collated next to one another in one sequence or another. Show just the significant attributes. Probably you’ll want to sort, look, sort, and look again. Killing entries is nearly as simple as checking them off. FAIR WARNING: This process is time consuming, frustrating, and fraught with peril. Keep several versions of your address list until you’re sure the final is the one you want to keep forever. My experience is that I always find stuff I want to keep in each of all (sometimes more than two) duplicate entries, so deleting the dup’s is not what’s called for. Merging means manually copying from one entry and pasting into another. Due to the judgemental nature of how to handle conflicting and out-of-date info, I’ve hesitated to try to automate the process.


  • Maybe copying/moving files using a file manager?

    <plugging package=“file_manager”>FileZilla</plugging>

    -or-

    <plugging package=“file_manager”>Gnome Commander</plugging>

    …but call me quaint. I still like…

    <plugging package=“file_manager”>mc</plugging>

    … 'cause it always just works. mc can ostensibly preserve attributes, time-stamps, and (with appropriate privilege on the receiving end) ownership of transferred files (using an sftp server supposedly).



  • Doctor, Doctor, my brother thinks he’s a chicken!

    Too much fun! Like many other Comp. Sci. students, I spent way too many hours trying to get Eliza, an automated psychiatrist from MIT, to say something shocking. Weizenbaum, the developer, “was surprised and shocked that individuals, including his secretary, attributed human-like feelings to the computer program.” In this sense AI is nothing new because Eliza passed the Turing Test in 1967.





  • I’m agnostic about password managers, and I’m agnostic about sync’ing password repositories between devices. I believe there would be grave risks of losing access to my own repositories by misplacing their pass-phrases or bungling other kinds of authentication. I try not to put anything on portable devices that is super confidential. On the other hand, I restrict physical access to my desktop computer. I back it up continually, power it from an uninterruptible power supply, and run only a handful of server-side processes there. … so I feel safe … sort of.

    I suppose it may seem heretical to members of this community, but I put all my passwords in a plain-text *.csv file on my desktop machine that I maintain with my own python script.




  • I used to use [a Windows 3.1 shrink-wrapped software package] that offered notepads and appointment calendars. Then I switched to Linux. That was 16 years ago. To take the place of the Windows application, I had to write my own list-maker from scratch. Today, there’s a new python3-pyqt5 version (under GNU General Public License) of my script for Linux and Windows desktops to help maintain the equivalent of index-card files. Obviously this is not something you’d use just to be like everybody else. I use it because I don’t really know how others handle their everyday lists and I can’t think of an easier way. If you, too, suspect it ought to be easier than it is, it may be. Please look at Tonto2. Thanks.