is there any way to make debian 12.7 open new tabs instead of new windows each time I download something with firefox? - eviltoast

each time I save a file with firefox and click on ‘display progress of ongoing downloads’ on the top right part of the browser and click to open the containing directory, debian opens the directory, but in a new tunar window, not in a new tab in a pre existing thunar window.

It’s tiring working with so many open windows. Better one window and several tabs.

  • CCRhode@lemmy.ml
    link
    fedilink
    arrow-up
    1
    ·
    2 months 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.