[-] CCRhode@lemmy.ml 1 points 1 month ago
[-] CCRhode@lemmy.ml 1 points 1 month ago

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.

[-] CCRhode@lemmy.ml 1 points 4 months ago

I'm not familiar with jabref, so I probably shouldn't stick my oar in here. But I will anyway. I've written my own python script that I use for lists like Web bookmarks. It's a poor man's database manager, so you can add attributes to bookmark entries and sort and search on those attributes.

[-] CCRhode@lemmy.ml 1 points 6 months ago

I can do better than that by using *.csv files on a desktop machine, and I'm squeamish about taking them mobile. so I don't have to deal with sync'ing them.

[-] CCRhode@lemmy.ml 1 points 6 months ago* (last edited 6 months ago)

I'm mystified that poppler-utils is not a viable option. Of course the *.pdf file would have to include the text itself, but many do.

[-] CCRhode@lemmy.ml 0 points 6 months ago

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.

view more: ‹ prev next ›

CCRhode

joined 7 months ago