• 0 Posts
  • 27 Comments
Joined 1 year ago
cake
Cake day: March 23rd, 2024

help-circle

  • I recommend my python script, Tonto2.

    What does Tonto2 do?

    It keeps lists.

    You can use lists to keep in touch with family, friends, and cow-orkers.

    Tonto2 keeps four kinds of lists:

    • You can use an address list to keep track of contacts’ phone numbers, mailing addresses, and eMail addresses.

    • You can use a calendar to remind you about events and appointments including date, time, and duration. You can add notes about finding the location and other prerequisites to attendance.

    • You can keep separate passwords in a password list for every website you visit and every piece of gear you own.

    • You can keep links to favorite websites in a bookmark list.

    Additionally you can make a list of bibliographic entries for writing research papers and for saving well-formatted footnotes for Web sites, but this is an arcane topic that will probably not be of general interest.

    The information in these lists is at your fingertips.

    You own it, and you can keep it. You can share it piecemeal with other people and computers without having to trust anyone or any thing with the whole enchilada. This is the idea of Tonto2.


  • Exactly! I harbor nostalgia for the old Windows 3 desktop icon grid, so I open a file manager window pointing to ~/Desktop and display the *.desktop shortcuts there as icons. This is done automatically when gdm starts. My file manager is PCManFM, which is a rip-off of nautilus. Double-clicking on an icon opens the shortcut — be it to a terminal or a graphical application. I have to alt-tab to the PCManFM window of course, so I need the keyboard. Then I have to double-click with the mouse. It’s keeping both hemispheres of the brain active: subject/verb, left/right. Presumably you can map your game controller’s buttons to keyboard equivalents like <right cursor>, <tab>, and <enter> (or map your game controller’s buttons to PCManFM’s hot key config), which would allow you to navigate the PCManFM icon grid.



  • I hit the super-key, type terminal, hit enter

    I harbor nostalgia for the old Windows 3 desktop icon grid, so I open a file manager window pointing to ~/Desktop and display the *.desktop shortcuts there as icons. This is done automatically when gdm starts. My file manager is PCManFM, which is a rip-off of nautilus. Double-clicking on an icon opens the shortcut — be it to a terminal or a graphical application. I have to alt-tab to the PCManFM window of course, so I need the keyboard. Then I have to double-click with the mouse. It’s keeping both hemispheres of the brain active: subject/verb, left/right.

    then I have a terminal which does not start maximized on workspace 1

    I run devilspie in the background to catch windows of certain applications such as terminal and maximize them on the fly. For this reason, I must disable wayland.

    Does the vanilla Gnome workflow expect you to use mouse and keyboard?

    Yes, both, apparently.

    It just seems like a lot of work/clicks/keys to achieve something simple.

    Well, that’s what you get for downplaying the role of icon grids.


  • The ideological issue (which you probably don’t care about) is that it pretty much requires proprietary (non-FOSS) drivers which run in kernel space and so in theory have complete access to all data on your computer (but then so does Intel ME). This is the main reason I personally will never use NVidia cards.

    The only meltdown I’ve had with Linux occurred on a minor rev-level update to Debian that plugged some hole in the kernel the NVidia proprietary driver was crawling through. I had used Debian and an NVidia proprietary driver for years on an ancient motherboard. Then suddenly that “solution” disappeared. I had to replace the whole machine. Yeah, it was time. No, I wasn’t ready. I don’t know whether I should have been more pissed at Debian or NVidia, but I’m still on Debian. After the kernel update, X11 reverted to a default driver, and no install, uninstall, reinstall combination of the proprietary drivers seemed efficacious. I’m sorry I don’t remember the exact software rev-levels and drivers involved. All notes I took at the time, if any, were lost in the subsequent crash and recovery from incompetently trying to roll back the kernel update.


  • This is probably NOT what you had in mind. What I use for launching apps under Gnome 43.9 is a traditional file manager. Historically, nautilus was Gnome’s file manager. I note that Gnome still has a file manager, but they don’t call it that. Over time nautilus has been gutted of a lot of its functionality. Thus, I have switched to PCManFM, which is a lightweight lookalike. I autostart it in my Desktop folder, which holds a handful of *.desktop shortcut files. I like the look of the “Icon” view mode because it reminds me of the old Windows 3.1 desktop. Alas, there is no grouping like what you’re hoping for (so far as I know), but you could create shortcuts to other *.desktop folders. PCManFM displays a tabbed window, and you can drag and drop icons onto folders on a window, and between tabs. I launch apps by double-clicking icons.



  • I’m not aware of any service that [goes fully peer-to-peer] while being practical for most people, yet.

    Retroshare is almost ready for prime time after remaining in development for over 20 years. Each “friend” runs it’s own service for the decentralized network of “friends” and hands off message fragments from immediate “friends” for swapping files, store-and-forward messages, chats, etc., to other more distant network participants.

    The swindle is that your friends know you by your IP address. If Big Government, Big Media, or Big Crime knocks over one of them, they’ve got you, too. But — not to worry — you can actually — so I’m told — run an RS instance behind a TOR hidden service.

    I much prefer the article from 22 Mar 2019 about “TOR Onion Services” preserved at the Wayback Machine instead of the current article.



  • You’re required to provide full personal details to be hired to an employer with dubious security.

    I don’t know, but I’ve been told…

    You MAY THINK you’re submitting an application directly to an employer’s Personnel Office on that employer’s Web site, but you’re actually submitting your application to that employer’s contracted head hunter — hence the junk mail because that head hunter has other clients to recruit for. It’s the lack of transparency that gripes me.

    … so the head hunter has to use restrictive filters on applications they relay to all their clients because they can’t rely on the applicant to vet employers they’d be interested in beforehand. These restrictive filters reject applicants for silly reasons like not having experience with every single piece of software on an arbitrary list of brand names.

    There is no sunset date to an application made through a third party. The head hunter and his clients will continue to bug you in perpetuity.

    They will continue to bug you about nonexistent openings. Just as they can sometimes find positions for people who are not actually looking for employment, they can sometimes place people with employers who have no open positions. It seems worth their while to try. After all, you MAY STILL BE in the market … sort of.

    Employers and their head hunters continue to recruit for positions that have already been filled. This is the old “open requisition” problem. They aim to cover the risk that their new hires won’t pan out.

    The more positions you apply for, the more head hunter databases you appear in. All their job-application software is incompatible, so you have to reapply and reapply and reapply, but it all seeks the same information: Are you currently employed? If not, they don’t know you.






  • 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).