1

Sober is exclusively available on Flathub, whom published these figures in their Year In Review: https://flathub.org/en/year-in-review/2025

50

Sober is exclusively available on Flathub, whom published these figures in their Year In Review: https://flathub.org/en/year-in-review/2025

1

Sober is exclusively available on Flathub, whom published these figures in their Year In Review: https://flathub.org/en/year-in-review/2025

180

Sober is exclusively available on Flathub, whom published these figures in their Year In Review: https://flathub.org/en/year-in-review/2025

2

There weren't any straightforward guides when I looked this up, and I even had to ask myself. But I just needed to put so and so together, get some feedback here, and voila! Hopefully this can work for you too, and could edit userchrome.css in your favorite editor, and see the changes in Firefox immediately. I tested that it works with @import url("folder/file.css");, and nested imports too (if folder/file.css contained @import url("Another folder/file.css");.

  1. Install fx-autoconfig (I haven't tested it with other Firefox JS loaders), following the whole install section: https://github.com/MrOtherGuy/fx-autoconfig?tab=readme-ov-file#install
  2. In the chrome/JS/ folder, create <any file name>.uc.mjs (I named mine refresh.uc.mjs) and paste the script below (it's slightly modified from this snippet):
    • The part containing @onlyonce is needed so fx-autoconfig loads it just once, rather than spawn a new instance of the script every time a new firefox window is opened.
  3. Clear startup cache: https://github.com/MrOtherGuy/fx-autoconfig?tab=readme-ov-file#deleting-startup-cache
  4. You may need to toggle the script. You can go to Menu Bar > Tools > userScripts.

Script

// ==UserScript==
// @onlyonce
// ==/UserScript==

// Script from here:  https://gist.github.com/jscher2000/ad268422c3187dbcbc0d15216a3a8060?permalink_comment_id=3259657#gistcomment-3259657
setInterval(() => {
    /*
       Code to paste and run in the Browser Console
       Requires devtools.chrome.enabled => true in about:config
       Tested in Firefox 68.0.1 on Windows
    */

    // Create references to APIs we'll use
    var ss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
    var io = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
    var ds = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
      
    // Get the chrome directory in the current profile
    var chromepath = ds.get("UChrm", Ci.nsIFile);

    // Specific file: userChrome.css or userContent.css
    chromepath.append("userChrome.css");

    // Morph to a file URI
    var chromefile = io.newFileURI(chromepath);

    // Unregister the sheet
    if(ss.sheetRegistered(chromefile, ss.USER_SHEET)){
      ss.unregisterSheet(chromefile, ss.USER_SHEET);
    }

    // Reload the sheet
    ss.loadAndRegisterSheet(chromefile, ss.USER_SHEET);
}, 1000)
1

There weren't any straightforward guides when I looked this up, and I even had to ask myself. But I just needed to put so and so together, get some feedback here, and voila! Hopefully this can work for you too, and could edit userchrome.css in your favorite editor, and see the changes in Firefox immediately. I tested that it works with @import url("folder/file.css");, and nested imports too (if folder/file.css contained @import url("Another folder/file.css");.

  1. Install fx-autoconfig (I haven't tested it with other Firefox JS loaders), following the whole install section: https://github.com/MrOtherGuy/fx-autoconfig?tab=readme-ov-file#install
  2. In the chrome/JS/ folder, create <any file name>.uc.mjs (I named mine refresh.uc.mjs) and paste the script below (it's slightly modified from this snippet):
    • The part containing @onlyonce is needed so fx-autoconfig loads it just once, rather than spawn a new instance of the script every time a new firefox window is opened.
  3. Clear startup cache: https://github.com/MrOtherGuy/fx-autoconfig?tab=readme-ov-file#deleting-startup-cache
  4. You may need to toggle the script. You can go to Menu Bar > Tools > userScripts.

Script

// ==UserScript==
// @onlyonce
// ==/UserScript==

// Script from here:  https://gist.github.com/jscher2000/ad268422c3187dbcbc0d15216a3a8060?permalink_comment_id=3259657#gistcomment-3259657
setInterval(() => {
    /*
       Code to paste and run in the Browser Console
       Requires devtools.chrome.enabled => true in about:config
       Tested in Firefox 68.0.1 on Windows
    */

    // Create references to APIs we'll use
    var ss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
    var io = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
    var ds = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
      
    // Get the chrome directory in the current profile
    var chromepath = ds.get("UChrm", Ci.nsIFile);

    // Specific file: userChrome.css or userContent.css
    chromepath.append("userChrome.css");

    // Morph to a file URI
    var chromefile = io.newFileURI(chromepath);

    // Unregister the sheet
    if(ss.sheetRegistered(chromefile, ss.USER_SHEET)){
      ss.unregisterSheet(chromefile, ss.USER_SHEET);
    }

    // Reload the sheet
    ss.loadAndRegisterSheet(chromefile, ss.USER_SHEET);
}, 1000)
9
submitted 2 weeks ago* (last edited 2 weeks ago) by TheTwelveYearOld@lemmy.world to c/firefox@lemmy.ml

There weren't any straightforward guides when I looked this up, and I even had to ask myself. But I just needed to put so and so together, get some feedback here, and voila! Hopefully this can work for you too, and could edit userchrome.css in your favorite editor, and see the changes in Firefox immediately. I tested that it works with @import url("folder/file.css");, and nested imports too (if folder/file.css contained @import url("Another folder/file.css");.

  1. Install fx-autoconfig (I haven't tested it with other Firefox JS loaders), following the whole install section: https://github.com/MrOtherGuy/fx-autoconfig?tab=readme-ov-file#install
  2. In the chrome/JS/ folder, create <any file name>.uc.mjs (I named mine refresh.uc.mjs) and paste the script below (it's slightly modified from this snippet):
    • The part containing @onlyonce is needed so fx-autoconfig loads it just once, rather than spawn a new instance of the script every time a new firefox window is opened.
  3. Clear startup cache: https://github.com/MrOtherGuy/fx-autoconfig?tab=readme-ov-file#deleting-startup-cache
  4. You may need to toggle the script. You can go to Menu Bar > Tools > userScripts.

Script

// ==UserScript==
// @onlyonce
// ==/UserScript==

// Script from here:  https://gist.github.com/jscher2000/ad268422c3187dbcbc0d15216a3a8060?permalink_comment_id=3259657#gistcomment-3259657
setInterval(() => {
    /*
       Code to paste and run in the Browser Console
       Requires devtools.chrome.enabled => true in about:config
       Tested in Firefox 68.0.1 on Windows
    */

    // Create references to APIs we'll use
    var ss = Cc["@mozilla.org/content/style-sheet-service;1"].getService(Ci.nsIStyleSheetService);
    var io = Cc["@mozilla.org/network/io-service;1"].getService(Ci.nsIIOService);
    var ds = Cc["@mozilla.org/file/directory_service;1"].getService(Ci.nsIProperties);
      
    // Get the chrome directory in the current profile
    var chromepath = ds.get("UChrm", Ci.nsIFile);

    // Specific file: userChrome.css or userContent.css
    chromepath.append("userChrome.css");

    // Morph to a file URI
    var chromefile = io.newFileURI(chromepath);

    // Unregister the sheet
    if(ss.sheetRegistered(chromefile, ss.USER_SHEET)){
      ss.unregisterSheet(chromefile, ss.USER_SHEET);
    }

    // Reload the sheet
    ss.loadAndRegisterSheet(chromefile, ss.USER_SHEET);
}, 1000)
17
submitted 2 weeks ago* (last edited 2 weeks ago) by TheTwelveYearOld@lemmy.world to c/linux@programming.dev

Edit: I want a graphical window switcher that's fully keyboard controlled, so I can see the windows before switching them.

The screenshot is from hyprland-easymotion which only shows labels for visible windows. I want a switcher that allows for both switching to windows or the same, or from any app, using just the keyboard and no mouse.

Ideally I could go to a window without pressing tab or another key a bunch of times, perhaps select any window (visible or not) with a letter like easymotion.

5
submitted 2 weeks ago* (last edited 2 weeks ago) by TheTwelveYearOld@lemmy.world to c/linux@lemmy.world

Edit: I want a graphical window switcher that's fully keyboard controlled, so I can see the windows before switching them.

The screenshot is from hyprland-easymotion which only shows labels for visible windows. I want a switcher that allows for both switching to windows or the same, or from any app, using just the keyboard and no mouse.

Ideally I could go to a window without pressing tab or another key a bunch of times, perhaps select any window (visible or not) with a letter like easymotion.

37
submitted 2 weeks ago* (last edited 2 weeks ago) by TheTwelveYearOld@lemmy.world to c/linux@lemmy.ml

Edit: I want a graphical window switcher that's fully keyboard controlled, so I can see the windows before switching them.

The screenshot is from hyprland-easymotion which only shows labels for visible windows. I want a switcher that allows for both switching to windows or the same, or from any app, using just the keyboard and no mouse.

Ideally I could go to a window without pressing tab or another key a bunch of times, perhaps select any window (visible or not) with a letter like easymotion.

10
2
[-] TheTwelveYearOld@lemmy.world 10 points 1 month ago

I meaant italian brainrot, which isn't necessarily supposed to be italian, that's just the name. Some of the worst ai images yet imo: https://en.wikipedia.org/wiki/Italian_brainrot

[-] TheTwelveYearOld@lemmy.world 11 points 1 month ago

unlike some hardware manufacturer out there.

uh, which one?

[-] TheTwelveYearOld@lemmy.world 91 points 6 months ago

it's the year of the linux desktop without the year of the linux desktop.

[-] TheTwelveYearOld@lemmy.world 34 points 6 months ago

If containers are part of your work then you wouldn't buy a 8GB RAM unupgradable device anyway.

[-] TheTwelveYearOld@lemmy.world 21 points 6 months ago

Well it helps that its open source & apple is actually encouraging contributions: https://github.com/apple/container

[-] TheTwelveYearOld@lemmy.world 10 points 1 year ago

and in the cloud

[-] TheTwelveYearOld@lemmy.world 10 points 1 year ago* (last edited 1 year ago)

rn Im using Kitty, I'll check out Ghostty later.

[-] TheTwelveYearOld@lemmy.world 13 points 1 year ago

Aren't we all?! /s

[-] TheTwelveYearOld@lemmy.world 44 points 1 year ago

It was a double-edged sword. While websites could honor it, it could also be abused as another data point for fingerprinting.

[-] TheTwelveYearOld@lemmy.world 33 points 1 year ago* (last edited 1 year ago)

removing ~~yet another~~ security ~~feature~~ theatre.

DNT was always just an honor system, and can be used as another data point for fingerprinting.

[-] TheTwelveYearOld@lemmy.world 10 points 1 year ago

The only reason Mozilla still exists is because Google needs them to so Chrome can’t be a complete monopoly.

Yep this is exactly what I meant. Maybe I should've made that clear.

[-] TheTwelveYearOld@lemmy.world 29 points 2 years ago

SimpleLogin premium, with their domain. But I can't blame them for not wanting to ruin the simplelogin.com domain

view more: next ›

TheTwelveYearOld

joined 2 years ago