• Razorwire666@lemm.ee
    link
    fedilink
    arrow-up
    30
    ·
    1 year ago

    Now if they would let you customize keyboard shortcuts, it would have been my default browser years ago.

      • twirl7303@lemmy.world
        link
        fedilink
        arrow-up
        2
        ·
        edit-2
        1 year ago

        I use qutebrowser for this reason. Keyboard first controls. All the workaround extensions for Firefox have limitations on about, config, and addon pages. I also had trouble with losing focus to Google docs and when a page is loading. Until Firefox offers full native control options, this was too brittle for me from a keyboard accessibility perspective.

        I would love to use Firefox more though once this happens!

    • Redjard@lemmy.dbzer0.com
      link
      fedilink
      arrow-up
      6
      ·
      edit-2
      1 year ago

      You can customize browser-internal shortcuts with a script in your profile dir.
      For example this is my script

      ‹user profile›/chrome/removeshortcuts.uc.js
      var ids = `
      
      viewBookmarksSidebarKb
      key_quitApplication
      openFileKb
      key_savePage
      printKb
      goBackKb2
      goForwardKb2
      addBookmarkAsKb
      bookmarkAllTabsKb
      manBookmarkKb
      viewBookmarksToolbarKb
      
      `.replace(/\s+/g,' ').trim().split(' ');
      
      
      ids.forEach( id=>{
          var key = document.getElementById(id);
          if (key) key.remove();
      });
      
      
      ⁤
      var originalKey = document.getElementById("key_screenshot");
      if (originalKey) {
          // Clone the original key
          var newKey = originalKey.cloneNode(true);
      
          // Set the new id and shortcut for the new key
          newKey.setAttribute("id", newKey.id+"_redjard_alt");
          if (newKey.hasAttribute('data-l10n-id'))
              newKey.setAttribute("data-l10n-id", newKey.getAttribute('data-l10n-id')+"_redjard_alt");
          newKey.setAttribute("key", "S");
          newKey.setAttribute("modifiers", "accel");
      
          // Add the new key to the parent of the original key
          originalKey.parentNode.appendChild(newKey);
      }
      

      The script removes the shortcuts listed in the beginning and adds an alternate shortcut for screenshots to ctrl+s.
      You can see all internashortcuts by opening a browser console and querying the shortcut elements (using regular javascript)

      • Redjard@lemmy.dbzer0.com
        link
        fedilink
        English
        arrow-up
        1
        ·
        1 year ago

        To complete this, probably with ff117 I had to fix the way I load my userchrome files, reminding me I should probably put them here too:

        /usr/lib64/firefox/firefox.cfg
        // firefox.cfg file needs to start with a comment line
        // it is included by having the following two lines in defaults/pref/autoconfig.js:
        // pref("general.config.sandbox_enabled", false);
        // pref("general.config.filename", "firefox.cfg");
        // pref("general.config.obscure_value", 0);
        
        var Services = globalThis.Services;
        Services.obs.addObserver((aSubject, _aTopic, _aData)=>{
          var chromeWindow = aSubject;
          chromeWindow.setTimeout(()=>{
            try {
              if (chromeWindow.userChromeJsMod) return;
              chromeWindow.userChromeJsMod = true;
              var chromeFiles = chromeWindow.FileUtils.getDir("UChrm", []).directoryEntries;
              var sss = Components.classes["@mozilla.org/content/style-sheet-service;1"].getService(Components.interfaces.nsIStyleSheetService);
              while (chromeFiles.hasMoreElements()) {
                var file = chromeFiles.getNext().QueryInterface(Components.interfaces.nsIFile);
                var fileURI = Services.io.newFileURI(file);
                if (!file.isFile()) continue;
                
                if (/(^userChrome|\.uc)\.js$/i.test(file.leafName)) {
                  // load userChrome.js and *.uc.js (case insensitive) as js file
                  Services.scriptloader.loadSubScriptWithOptions(fileURI.spec, {
                    target: chromeWindow,
                    charset: "UTF-8",
                    ignoreCache: true,
                  });
                } else if (/\.as\.css$/i.test(file.leafName)) {
                  // load *.as.css (case insensitive) as css file (in browser scope)
                  if (!sss.sheetRegistered(fileURI, sss.AGENT_SHEET)) {
                    sss.loadAndRegisterSheet(fileURI, sss.AGENT_SHEET);
                  }
                } else if (/^(?!(userChrome|userContent)\.css$).+\.css$/i.test(file.leafName)) {
                  if (!sss.sheetRegistered(fileURI, sss.USER_SHEET)) {
                    sss.loadAndRegisterSheet(fileURI, sss.USER_SHEET);
                  }
                }
              }
            } catch (e) {
              Components.utils.reportError(e); // [check] Show Content Messages
            }
          }, 10);  // end of timeout
        }, "browser-delayed-startup-finished", false);
        
        /usr/lib64/firefox/defaults/pref/autoconfig.js
        pref("general.config.sandbox_enabled", false);
        pref("general.config.filename", "firefox.cfg");
        pref("general.config.obscure_value", 0);
        
    • cognitive@kbin.social
      link
      fedilink
      arrow-up
      6
      ·
      1 year ago

      How can you use anything that doesn’t support Tree Style Tabs?

      Or do you use Orion or something?

      • persolb@lemmy.ml
        link
        fedilink
        arrow-up
        1
        ·
        1 year ago

        I’ll have to try out tree style tabs. I miss chrome’s tab groups sooo much

        • cognitive@kbin.social
          link
          fedilink
          arrow-up
          2
          ·
          1 year ago

          When you do, feel free to find the “cheat code” to disable the top tab bar, it makes it a whole lot less noisy to me at least.

            • cognitive@kbin.social
              link
              fedilink
              arrow-up
              2
              ·
              1 year ago

              Welcome to the club!

              And yes, it really makes a difference. And, there are even extra extensions for TST: I use a color tabs extenaion for it as welm as an extension that lets me export a tab tree as markdown for use in my notes or to batch “bookmark” them before closing them.

      • Anafabula@discuss.tchncs.de
        link
        fedilink
        English
        arrow-up
        9
        ·
        edit-2
        1 year ago

        What do you mean?
        about:preferences#search > Search Shortcuts you can double click on the right next to the search engine to set any keyword (starting with @ or not).

        If that’s not enough, you have been able to set any keywords for any bookmarks (with %s argument replacing) since at least 2006.

        Is any of that getting deprecated?

  • BrainisfineIthink
    link
    fedilink
    arrow-up
    1
    ·
    1 year ago

    Idk what this means really but I just wanted to vent that my C drive that only has Windows install and a few essential programs was nearly out of space. A good chunk of the ballooning space was windows updated and bloat, but by far the biggest was the chrome app data. Ten gigabytes. TEN. GIGABYTES. of needless extra shit it saved, all on its own, to improve my browsing experience.

    Fuck chrome.