Custom firefox chrome folder CSS theme support

System:
  Kernel: 6.12.4-zen1-1-zen arch: x86_64 bits: 64 compiler: gcc v: 14.2.1
    clocksource: tsc avail: hpet,acpi_pm
    parameters: BOOT_IMAGE=/@/boot/vmlinuz-linux-zen
    root=UUID=e1d11d1c-50d0-489f-ab31-384c2afb0ff3 rw rootflags=subvol=@
    quiet resume=UUID=3453a5e5-eeb5-460f-a6fc-a2339c6b02f4 loglevel=3 ibt=off
  Desktop: KDE Plasma v: 6.2.4 tk: Qt v: N/A info: frameworks v: 6.9.0
    wm: kwin_wayland vt: 1 dm: SDDM Distro: Garuda base: Arch Linux
Machine:
  Type: Desktop Mobo: ASRock model: B550 Phantom Gaming 4
    serial: <superuser required> uuid: <superuser required> UEFI: American
    Megatrends LLC. v: L3.41 date: 02/22/2024
CPU:
  Info: model: AMD Ryzen 7 3800X bits: 64 type: MT MCP arch: Zen 2 gen: 2
    level: v3 note: check built: 2020-22 process: TSMC n7 (7nm)
    family: 0x17 (23) model-id: 0x71 (113) stepping: 0 microcode: 0x8701034
  Topology: cpus: 1x dies: 1 clusters: 1 cores: 8 threads: 16 tpc: 2
    smt: enabled cache: L1: 512 KiB desc: d-8x32 KiB; i-8x32 KiB L2: 4 MiB
    desc: 8x512 KiB L3: 32 MiB desc: 2x16 MiB
  Speed (MHz): avg: 1756 min/max: 550/4560 boost: enabled scaling:
    driver: amd-pstate-epp governor: powersave cores: 1: 1756 2: 1756 3: 1756
    4: 1756 5: 1756 6: 1756 7: 1756 8: 1756 9: 1756 10: 1756 11: 1756 12: 1756
    13: 1756 14: 1756 15: 1756 16: 1756 bogomips: 124574
  Flags: avx avx2 ht lm nx pae sse sse2 sse3 sse4_1 sse4_2 sse4a ssse3 svm
  Vulnerabilities: <filter>
Graphics:
  Device-1: NVIDIA GP106 [GeForce GTX 1060 6GB] vendor: ZOTAC driver: nvidia
    v: 565.77 alternate: nouveau,nvidia_drm non-free: 550.xx+ status: current
    (as of 2024-09; EOL~2026-12-xx) arch: Pascal code: GP10x
    process: TSMC 16nm built: 2016-2021 pcie: gen: 1 speed: 2.5 GT/s lanes: 4
    link-max: gen: 3 speed: 8 GT/s lanes: 16 ports: active: none empty: DP-1,
    DP-2, DP-3, DVI-D-1, HDMI-A-1 bus-ID: 03:00.0 chip-ID: 10de:1c03
    class-ID: 0300
  Device-2: Advanced Micro Devices [AMD/ATI] Navi 23 [Radeon RX 6600/6600
    XT/6600M] vendor: ASRock driver: amdgpu v: kernel arch: RDNA-2
    code: Navi-2x process: TSMC n7 (7nm) built: 2020-22 pcie: gen: 4
    speed: 16 GT/s lanes: 16 ports: active: DP-5,HDMI-A-2
    empty: DP-4,DP-6,Writeback-1 bus-ID: 09:00.0 chip-ID: 1002:73ff
    class-ID: 0300
  Device-3: Microdia USB Live camera driver: snd-usb-audio,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1:2
    chip-ID: 0c45:6537 class-ID: 0102 serial: <filter>
  Display: wayland server: X.org v: 1.21.1.15 with: Xwayland v: 24.1.4
    compositor: kwin_wayland driver: X: loaded: amdgpu,nvidia
    unloaded: modesetting,nouveau,radeon alternate: fbdev,nv,vesa
    dri: radeonsi gpu: nvidia,amdgpu d-rect: 4480x1080 display-ID: 0
  Monitor-1: DP-5 pos: right res: 1920x1080 size: N/A modes: N/A
  Monitor-2: HDMI-A-2 pos: primary,left res: 2560x1080 size: N/A modes: N/A
  API: EGL v: 1.5 hw: drv: nvidia drv: amd radeonsi platforms: device: 0
    drv: nvidia gbm: drv: nvidia surfaceless: drv: nvidia wayland: drv: radeonsi
    x11: drv: radeonsi
  API: OpenGL v: 4.6.0 compat-v: 4.6 vendor: amd mesa v: 24.3.1-arch1.3
    glx-v: 1.4 direct-render: yes renderer: AMD Radeon RX 6600 XT (radeonsi
    navi23 LLVM 18.1.8 DRM 3.59 6.12.4-zen1-1-zen) device-ID: 1002:73ff
    memory: 7.81 GiB unified: no display-ID: :1.0
  API: Vulkan v: 1.4.303 layers: 11 device: 0 type: discrete-gpu name: AMD
    Radeon RX 6600 XT (RADV NAVI23) driver: N/A device-ID: 1002:73ff
    surfaces: xcb,xlib,wayland
Audio:
  Device-1: NVIDIA GP106 High Definition Audio vendor: ZOTAC
    driver: snd_hda_intel v: kernel pcie: gen: 3 speed: 8 GT/s lanes: 4
    link-max: lanes: 16 bus-ID: 03:00.1 chip-ID: 10de:10f1 class-ID: 0403
  Device-2: Advanced Micro Devices [AMD/ATI] Navi 21/23 HDMI/DP Audio
    driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s lanes: 16
    bus-ID: 09:00.1 chip-ID: 1002:ab28 class-ID: 0403
  Device-3: Advanced Micro Devices [AMD] Starship/Matisse HD Audio
    vendor: ASRock driver: snd_hda_intel v: kernel pcie: gen: 4 speed: 16 GT/s
    lanes: 16 bus-ID: 0b:00.4 chip-ID: 1022:1487 class-ID: 0403
  Device-4: Kingston HyperX 7.1 Audio
    driver: hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0 speed: 12 Mb/s
    lanes: 1 mode: 1.1 bus-ID: 1-3:3 chip-ID: 0951:16a4 class-ID: 0300
    serial: <filter>
  Device-5: Microdia USB Live camera driver: snd-usb-audio,uvcvideo
    type: USB rev: 2.0 speed: 480 Mb/s lanes: 1 mode: 2.0 bus-ID: 3-1:2
    chip-ID: 0c45:6537 class-ID: 0102 serial: <filter>
  Device-6: Oculus VR Rift S
    driver: cdc_acm,hid-generic,snd-usb-audio,usbhid type: USB rev: 2.0
    speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-3.2:7 chip-ID: 2833:0051
    class-ID: 0300 serial: <filter>
  Device-7: C-Media Blue Snowball driver: hid-generic,snd-usb-audio,usbhid
    type: USB rev: 1.1 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 3-4:6
    chip-ID: 0d8c:0005 class-ID: 0300 serial: <filter>
  API: ALSA v: k6.12.4-zen1-1-zen status: kernel-api with: aoss
    type: oss-emulator tools: N/A
  Server-1: PipeWire v: 1.2.7 status: active with: 1: pipewire-pulse
    status: active 2: wireplumber status: active 3: pipewire-alsa type: plugin
    4: pw-jack type: plugin tools: pactl,pw-cat,pw-cli,wpctl
Network:
  Device-1: Intel Wireless 8265 / 8275 driver: iwlwifi v: kernel pcie: gen: 1
    speed: 2.5 GT/s lanes: 1 bus-ID: 05:00.0 chip-ID: 8086:24fd class-ID: 0280
  IF: wlp5s0 state: up mac: <filter>
  Device-2: Realtek RTL8111/8168/8211/8411 PCI Express Gigabit Ethernet
    vendor: ASRock driver: r8169 v: kernel pcie: gen: 1 speed: 2.5 GT/s lanes: 1
    port: d000 bus-ID: 06:00.0 chip-ID: 10ec:8168 class-ID: 0200
  IF: enp6s0 state: down mac: <filter>
  IF-ID-1: wgpia0 state: unknown speed: N/A duplex: N/A mac: N/A
  Info: services: NetworkManager, smbd, systemd-timesyncd, wpa_supplicant
Bluetooth:
  Device-1: Intel Bluetooth wireless interface driver: btusb v: 0.8 type: USB
    rev: 2.0 speed: 12 Mb/s lanes: 1 mode: 1.1 bus-ID: 1-7:4 chip-ID: 8087:0a2b
    class-ID: e001
  Report: btmgmt ID: hci0 rfk-id: 0 state: down bt-service: enabled,running
    rfk-block: hardware: no software: yes address: <filter> bt-v: 4.2 lmp-v: 8
    status: discoverable: no pairing: no
Drives:
  Local Storage: total: 4.09 TiB used: 3.56 TiB (87.0%)
  SMART Message: Unable to run smartctl. Root privileges required.
  ID-1: /dev/nvme0n1 maj-min: 259:0 vendor: Gigabyte
    model: GP-ASM2NE6100TTTD size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 63.2 Gb/s lanes: 4 tech: SSD serial: <filter>
    fw-rev: EGFM13.0 temp: 38.9 C scheme: GPT
  ID-2: /dev/sda maj-min: 8:0 vendor: Seagate model: ST2000DM006-2DM164
    size: 1.82 TiB block-size: physical: 4096 B logical: 512 B speed: 6.0 Gb/s
    tech: HDD rpm: 7200 serial: <filter> fw-rev: CC26 scheme: MBR
  ID-3: /dev/sdb maj-min: 8:16 vendor: Western Digital
    model: WDS100T2B0A-00SM50 size: 931.51 GiB block-size: physical: 512 B
    logical: 512 B speed: 6.0 Gb/s tech: SSD serial: <filter> fw-rev: 00WD
    scheme: MBR
  ID-4: /dev/sdc maj-min: 8:32 vendor: Samsung model: SSD 850 EVO 250GB
    size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 1B6Q scheme: GPT
  ID-5: /dev/sdd maj-min: 8:48 vendor: Samsung model: SSD 850 EVO 250GB
    size: 232.89 GiB block-size: physical: 512 B logical: 512 B speed: 6.0 Gb/s
    tech: SSD serial: <filter> fw-rev: 1B6Q scheme: GPT
Partition:
  ID-1: / raw-size: 136.72 GiB size: 136.72 GiB (100.00%)
    used: 67.3 GiB (49.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-2: /boot/efi raw-size: 800 MiB size: 798.4 MiB (99.80%)
    used: 584 KiB (0.1%) fs: vfat dev: /dev/nvme0n1p5 maj-min: 259:5
  ID-3: /home raw-size: 525.11 GiB size: 515.8 GiB (98.23%)
    used: 482.01 GiB (93.4%) fs: ext4 dev: /dev/nvme0n1p4 maj-min: 259:4
  ID-4: /var/log raw-size: 136.72 GiB size: 136.72 GiB (100.00%)
    used: 67.3 GiB (49.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
  ID-5: /var/tmp raw-size: 136.72 GiB size: 136.72 GiB (100.00%)
    used: 67.3 GiB (49.2%) fs: btrfs dev: /dev/nvme0n1p3 maj-min: 259:3
Swap:
  Kernel: swappiness: 133 (default 60) cache-pressure: 100 (default) zswap: no
  ID-1: swap-1 type: zram size: 31.27 GiB used: 102.8 MiB (0.3%)
    priority: 100 comp: zstd avail: lzo-rle,lzo,lz4,lz4hc,deflate,842
    max-streams: 16 dev: /dev/zram0
  ID-2: swap-2 type: partition size: 19.61 GiB used: 0 KiB (0.0%)
    priority: -2 dev: /dev/nvme0n1p8 maj-min: 259:8
Sensors:
  System Temperatures: cpu: 42.9 C mobo: N/A gpu: amdgpu temp: 47.0 C
    mem: 44.0 C
  Fan Speeds (rpm): N/A gpu: amdgpu fan: 0
Info:
  Memory: total: 32 GiB available: 31.27 GiB used: 7.95 GiB (25.4%)
  Processes: 454 Power: uptime: 39m states: freeze,mem,disk suspend: deep
    avail: s2idle wakeups: 0 hibernate: platform avail: shutdown, reboot,
    suspend, test_resume image: 12.45 GiB services: org_kde_powerdevil,
    power-profiles-daemon, upowerd Init: systemd v: 257 default: graphical
    tool: systemctl
  Packages: pm: pacman pkgs: 2011 libs: 606 tools: octopi,paru Compilers:
    clang: 18.1.8 gcc: 14.2.1 alt: 13 Shell: garuda-inxi default: fish v: 3.7.1
    running-in: konsole inxi: 3.3.36
Garuda (2.6.26-1):
  System install date:     2024-10-13
  Last full system update: 2024-12-22
  Is partially upgraded:   No
  Relevant software:       snapper NetworkManager dracut nvidia-dkms
  Windows dual boot:       Probably (Run as root to verify)
  Failed units:            

So I’m trying to install a custom theme that requires it’s own userChrome.css and I can’t get it to work, and I’m wondering if it’s supported at all or if not as this is different than normal firefox. The theme is -

And I’ve gotten it working on my normal firefox install. Steps I took regarding firedragon was -

  • Add the chrome folder into my active profile directory
  • Ensure that “toolkit.legacyUserProfileCustomizations.stylesheets” was set to true
  • Edit the userChrome.css per the theme instructions
@import url("Echelon/userChrome.css");
@import url("Aero/Echelon.css");

  • Restart firedragon

These steps on firefox got it working, however it’s been no dice with firedragon. If it simply is not supported then thats fine, but if I’m missing something please let me know.

UserChrome.css is fully supported, in fact garuda-dr460nized package offers a set of those, they are available in an ISO or located on your machine at /etc/skel/.firedragon/chrome as backup files.

Remember, Firedragon uses Firefox ESR v128 as its base, it happened to me many times in the past Mozilla changed the way some features work in .css from version to version.

You have to set your style sheets according to what v128 supports.
This is something I cannot help as I myself struggle from time to time to make some features work, as I never know how things were done for version X and Y, etc…

5 Likes

Gotcha, the theme I’m after has very little information but claims to support Firefox 121+, so it’s possible it may just not be updated enough for firedragon?

I’m also personally unsure on how I’d get the style sheets up to date unfortunately.

You say it works on Firefox, right… try it out on Floorp v11.21.0 and see if it works there.

If it doesn’t, then that would explain why it also doesn’t on Firedragon.

2 Likes

Yeah it would appear that it doesnt work in the current floorp version either.

What? Darn… that surprises me. Maybe there’s something specific to Floorp (that FD inherited) preventing your CSS. Mines always worked, sometimes after wiggling around to find the proper syntax :rofl: but they do work.

My advice would be to open up a discussion on Floorp’s github. Maybe there is a specific about:config setting to enable or something.

If you do open it up, plz post the link to it here, I’d like to follow it until a solution is found. :slight_smile:

1 Like

You have to enable CSS

You might have to tweak a setting in about:config depending on the theme.

Nice windows 7 theme though.

I was hoping there was something obvious I was missing. Unfortunately, that setting is refusing to save. If I check the box, close the tab, and reopen the tab it will have turned itself off.

Nice windows 7 theme though.

Thanks, imo windows 7 and the sweet dragonized are peak computer looks.

1 Like

I don’t think it’s that important, since my CSS works on my end.

1 Like

Out of curiosity does checking that box actually save the setting on your end?

If you click on the interrogation mark, this seems to be the setting you manually set already.

I can’t close FD right now, but I will give it a try later tonight and report if it kept it saved or not.

Try enabling toolkit.legacyUserProfileCustomizations.stylesheets in about:config an restart the browser. I know it should be set but just to knock it off the list.

image

Can confirm that this is correctly set.

I made an issue on the Floorp github to see if they have any ideas -

Edit - Thanks for the quick replies though, I appreciate it even if it’s not figured out quite yet

1 Like

I created a new profile, easy way to test.
It does not save that setting in the UI.

I am trying to test your CSS but it’s not as simple as a one-file CSS so it may take me a bit more time.

3 Likes

What folder/file structure are you using under your profile folder to drop all those files and folders for that CSS?

/home/scrubby/.firedragon/uhpsla65.default-release/chrome/Aero

/home/scrubby/.firedragon/uhpsla65.default-release/chrome/CSS

/home/scrubby/.firedragon/uhpsla65.default-release/chrome/JS

/home/scrubby/.firedragon/uhpsla65.default-release/chrome/userChrome.css

Ok same thing I got.

And this is the content of your UserChrome.css?

/* ==UserScript==
// @stylemode		author_sheet
// @name  			Aero Button Glow
// ==/UserScript==*/

@import url("Echelon/userChrome.css");
@import url("Aero/Echelon.css");

I tried appending to the original file


/*************************************************************************************************************************************************************************************************************************************************************

"userChrome.css" is a custom CSS file that can be used to specify CSS style rules for Floorp's interface (NOT internal site) using "chrome" privileges.
For instance, if you want to hide the tab bar, you can use the following CSS rule:

**************************************
#TabsToolbar {                       *
    display: none !important;        *
}                                    *
**************************************

NOTE: You can use the userChrome.css file without change preferences (about:config)

Quote: https://userChrome.org | https://github.com/topics/userchrome

************************************************************************************************************************************************************************************************************************************************************/

@charset "UTF-8";
@-moz-document url(chrome://browser/content/browser.xhtml) {
/* Please write your custom CSS under this line*/

@import url("Echelon/userChrome.css");
@import url("Aero/Echelon.css");
}

And just going raw

@import url("Echelon/userChrome.css");
@import url("Aero/Echelon.css");

And for peace of mind I just took yours and tried that, none of which are working for me.

Just so we’re on the same page too,

And this is the content of your UserChrome.css?

The capitalized “U” is a typo correct? And the correct filename is infact “userChrome.css”?

Correct, it’s SMALL CAPS “u” (funny thing I wrote it in caps lock to attract attention, though :rofl: )

2 Likes