commit 3e89f350a610da963c014093ce0663de5e769bae Author: Jurn Wubben Date: Tue Oct 28 17:49:16 2025 +0100 Basic rice set up. Still need to add a way to reiably update the package lists and i need a launcher. diff --git a/.chezmoidata.jsonc b/.chezmoidata.jsonc new file mode 100644 index 0000000..89d9f90 --- /dev/null +++ b/.chezmoidata.jsonc @@ -0,0 +1,28 @@ +{ + "colors": { + "base00": "303446", + "base01": "292c3c", + "base02": "414559", + "base03": "51576d", + "base04": "626880", + "base05": "c6d0f5", + "base06": "f2d5cf", + "base07": "babbf1", + "base08": "e78284", + "base09": "ef9f76", + "base0A": "e5c890", + "base0B": "a6d189", + "base0C": "81c8be", + "base0D": "8caaee", + "base0E": "ca9ee6", + "base0F": "eebebe", + "base10": "292c3c", + "base11": "232634", + "base12": "ea999c", + "base13": "f2d5cf", + "base14": "a6d189", + "base15": "99d1db", + "base16": "85c1dc", + "base17": "f4b8e4" + } +} diff --git a/.chezmoiexternal.toml b/.chezmoiexternal.toml new file mode 100644 index 0000000..bd9ccff --- /dev/null +++ b/.chezmoiexternal.toml @@ -0,0 +1,12 @@ +[".mozilla/firefox/JSW.default-release/chrome/firefox-gnome-theme"] + type = "archive" + url = "https://github.com/rafaelmardojai/firefox-gnome-theme/archive/refs/heads/master.zip" + refreshPeriod = "168h" + +[".local/share/icons/"] # Doesn't really require updating + type = "archive" + url = "https://github.com/ful1e5/Bibata_Cursor/releases/download/v2.0.7/Bibata-Modern-Ice.tar.xz" + +[".local/share/themes/"] # Manually update + type = "archive" + url = "https://github.com/lassekongo83/adw-gtk3/releases/download/v6.4/adw-gtk3v6.4.tar.xz" diff --git a/Pictures/profile.png b/Pictures/profile.png new file mode 100644 index 0000000..22514ae Binary files /dev/null and b/Pictures/profile.png differ diff --git a/Pictures/wallpaper.png b/Pictures/wallpaper.png new file mode 100644 index 0000000..d90a579 Binary files /dev/null and b/Pictures/wallpaper.png differ diff --git a/dot_gtkrc-2.0 b/dot_gtkrc-2.0 new file mode 100644 index 0000000..a1fcdfe --- /dev/null +++ b/dot_gtkrc-2.0 @@ -0,0 +1,19 @@ +# DO NOT EDIT! This file will be overwritten by nwg-look. +# Any customization should be done in ~/.gtkrc-2.0.mine instead. + +include "/home/jsw/.gtkrc-2.0.mine" +gtk-theme-name="adw-gtk3" +gtk-icon-theme-name="Adwaita" +gtk-font-name="Adwaita Sans 11" +gtk-cursor-theme-name="Bibata-Modern-Ice" +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle="hintslight" +gtk-xft-rgba="rgb" diff --git a/private_dot_config/gtk-3.0/gtk.css.tmpl b/private_dot_config/gtk-3.0/gtk.css.tmpl new file mode 100644 index 0000000..f6cd657 --- /dev/null +++ b/private_dot_config/gtk-3.0/gtk.css.tmpl @@ -0,0 +1,88 @@ +@define-color accent_color #{{.colors.base0D}}; +@define-color accent_bg_color #{{.colors.base0D}}; +@define-color accent_fg_color #{{.colors.base00}}; +@define-color destructive_color #{{.colors.base08}}; +@define-color destructive_bg_color #{{.colors.base08}}; +@define-color destructive_fg_color #{{.colors.base00}}; +@define-color success_color #{{.colors.base0B}}; +@define-color success_bg_color #{{.colors.base0B}}; +@define-color success_fg_color #{{.colors.base00}}; +@define-color warning_color #{{.colors.base0E}}; +@define-color warning_bg_color #{{.colors.base0E}}; +@define-color warning_fg_color #{{.colors.base00}}; +@define-color error_color #{{.colors.base08}}; +@define-color error_bg_color #{{.colors.base08}}; +@define-color error_fg_color #{{.colors.base00}}; +@define-color window_bg_color #{{.colors.base00}}; +@define-color window_fg_color #{{.colors.base05}}; +@define-color view_bg_color #{{.colors.base00}}; +@define-color view_fg_color #{{.colors.base05}}; +@define-color headerbar_bg_color #{{.colors.base01}}; +@define-color headerbar_fg_color #{{.colors.base05}}; +{{/*@define-color headerbar_border_color rgba({{substr 0 2 .colors.base01}}, {{substr 2 4 .colors.base01}}, {{substr 4 6 .colors.base01}}, 0.7);*/}} +@define-color headerbar_backdrop_color @window_bg_color; +@define-color headerbar_shade_color rgba(0, 0, 0, 0.07); +@define-color headerbar_darker_shade_color rgba(0, 0, 0, 0.07); +@define-color sidebar_bg_color #{{.colors.base01}}; +@define-color sidebar_fg_color #{{.colors.base05}}; +@define-color sidebar_backdrop_color @window_bg_color; +@define-color sidebar_shade_color rgba(0, 0, 0, 0.07); +@define-color secondary_sidebar_bg_color @sidebar_bg_color; +@define-color secondary_sidebar_fg_color @sidebar_fg_color; +@define-color secondary_sidebar_backdrop_color @sidebar_backdrop_color; +@define-color secondary_sidebar_shade_color @sidebar_shade_color; +@define-color card_bg_color #{{.colors.base01}}; +@define-color card_fg_color #{{.colors.base05}}; +@define-color card_shade_color rgba(0, 0, 0, 0.07); +@define-color dialog_bg_color #{{.colors.base01}}; +@define-color dialog_fg_color #{{.colors.base05}}; +@define-color popover_bg_color #{{.colors.base01}}; +@define-color popover_fg_color #{{.colors.base05}}; +@define-color popover_shade_color rgba(0, 0, 0, 0.07); +@define-color shade_color rgba(0, 0, 0, 0.07); +@define-color scrollbar_outline_color #{{.colors.base02}}; +@define-color blue_1 #{{.colors.base0D}}; +@define-color blue_2 #{{.colors.base0D}}; +@define-color blue_3 #{{.colors.base0D}}; +@define-color blue_4 #{{.colors.base0D}}; +@define-color blue_5 #{{.colors.base0D}}; +@define-color green_1 #{{.colors.base0B}}; +@define-color green_2 #{{.colors.base0B}}; +@define-color green_3 #{{.colors.base0B}}; +@define-color green_4 #{{.colors.base0B}}; +@define-color green_5 #{{.colors.base0B}}; +@define-color yellow_1 #{{.colors.base0A}}; +@define-color yellow_2 #{{.colors.base0A}}; +@define-color yellow_3 #{{.colors.base0A}}; +@define-color yellow_4 #{{.colors.base0A}}; +@define-color yellow_5 #{{.colors.base0A}}; +@define-color orange_1 #{{.colors.base09}}; +@define-color orange_2 #{{.colors.base09}}; +@define-color orange_3 #{{.colors.base09}}; +@define-color orange_4 #{{.colors.base09}}; +@define-color orange_5 #{{.colors.base09}}; +@define-color red_1 #{{.colors.base08}}; +@define-color red_2 #{{.colors.base08}}; +@define-color red_3 #{{.colors.base08}}; +@define-color red_4 #{{.colors.base08}}; +@define-color red_5 #{{.colors.base08}}; +@define-color purple_1 #{{.colors.base0E}}; +@define-color purple_2 #{{.colors.base0E}}; +@define-color purple_3 #{{.colors.base0E}}; +@define-color purple_4 #{{.colors.base0E}}; +@define-color purple_5 #{{.colors.base0E}}; +@define-color brown_1 #{{.colors.base0F}}; +@define-color brown_2 #{{.colors.base0F}}; +@define-color brown_3 #{{.colors.base0F}}; +@define-color brown_4 #{{.colors.base0F}}; +@define-color brown_5 #{{.colors.base0F}}; +@define-color light_1 #{{.colors.base05}}; +@define-color light_2 #{{.colors.base05}}; +@define-color light_3 #{{.colors.base05}}; +@define-color light_4 #{{.colors.base05}}; +@define-color light_5 #{{.colors.base05}}; +@define-color dark_1 #{{.colors.base05}}; +@define-color dark_2 #{{.colors.base05}}; +@define-color dark_3 #{{.colors.base05}}; +@define-color dark_4 #{{.colors.base05}}; +@define-color dark_5 #{{.colors.base05}}; diff --git a/private_dot_config/gtk-3.0/settings.ini b/private_dot_config/gtk-3.0/settings.ini new file mode 100644 index 0000000..455864d --- /dev/null +++ b/private_dot_config/gtk-3.0/settings.ini @@ -0,0 +1,17 @@ +[Settings] +gtk-theme-name=adw-gtk3-dark +gtk-icon-theme-name=Adwaita +gtk-font-name=Adwaita Sans 11 +gtk-cursor-theme-name=Bibata-Modern-Ice +gtk-cursor-theme-size=24 +gtk-toolbar-style=GTK_TOOLBAR_ICONS +gtk-toolbar-icon-size=GTK_ICON_SIZE_LARGE_TOOLBAR +gtk-button-images=0 +gtk-menu-images=0 +gtk-enable-event-sounds=1 +gtk-enable-input-feedback-sounds=0 +gtk-xft-antialias=1 +gtk-xft-hinting=1 +gtk-xft-hintstyle=hintslight +gtk-xft-rgba=rgb +gtk-application-prefer-dark-theme=0 diff --git a/private_dot_config/gtk-4.0/settings.ini b/private_dot_config/gtk-4.0/settings.ini new file mode 100644 index 0000000..72be76c --- /dev/null +++ b/private_dot_config/gtk-4.0/settings.ini @@ -0,0 +1,7 @@ +[Settings] +gtk-theme-name=adw-gtk3 +gtk-icon-theme-name=Adwaita +gtk-font-name=Adwaita Sans 11 +gtk-cursor-theme-name=Bibata-Modern-Ice +gtk-cursor-theme-size=24 +gtk-application-prefer-dark-theme=1 diff --git a/private_dot_config/gtk-4.0/symlink_gtk.css b/private_dot_config/gtk-4.0/symlink_gtk.css new file mode 100644 index 0000000..ade11cf --- /dev/null +++ b/private_dot_config/gtk-4.0/symlink_gtk.css @@ -0,0 +1 @@ +/home/jsw/.config/gtk-3.0/gtk.css diff --git a/private_dot_config/gurk/gurk.toml b/private_dot_config/gurk/gurk.toml new file mode 100644 index 0000000..625f3ed --- /dev/null +++ b/private_dot_config/gurk/gurk.toml @@ -0,0 +1,17 @@ +first_name_only = false +show_receipts = true +notifications = true +bell = true +colored_messages = false +default_keybindings = true + +[user] +display_name = "jsw" + +[keybindings.normal] +alt-enter = "" +ctrl-p = "toggle_multiline" +ctrl-j= "select_message next entry" +ctrl-k = "select_message previous entry" +ctrl-shift-j= "select_channel next" +ctrl-shift-k = "select_channel previous" diff --git a/private_dot_config/helix/config.toml b/private_dot_config/helix/config.toml new file mode 100644 index 0000000..27c8fdc --- /dev/null +++ b/private_dot_config/helix/config.toml @@ -0,0 +1,17 @@ +theme = "default-jsw" + +[editor] +line-number = "relative" +default-yank-register = "+" +bufferline = "multiple" + +[editor.cursor-shape] +insert = "bar" +normal = "block" +select = "underline" + +[keys.normal] +"C-/" = "toggle_comments" + +### THEMING + diff --git a/private_dot_config/helix/themes/default-jsw.toml.tmpl b/private_dot_config/helix/themes/default-jsw.toml.tmpl new file mode 100644 index 0000000..b959f84 --- /dev/null +++ b/private_dot_config/helix/themes/default-jsw.toml.tmpl @@ -0,0 +1,97 @@ +"attribute" = "base09" +"comment" = { fg = "base03", modifiers = ["italic"] } +"constant" = "base09" +"constant.character.escape" = "base0C" +"constant.numeric" = "base09" +"constructor" = "base0D" +"debug" = "base03" +"diagnostic" = { modifiers = ["underlined"] } +"diff.delta" = "base09" +"diff.minus" = "base08" +"diff.plus" = "base0B" +"error" = "base08" +"function" = "base0D" +"hint" = "base03" +"info" = "base0D" +"keyword" = "base0E" +"label" = "base0E" +"namespace" = "base0E" +"operator" = "base05" +"special" = "base0D" +"string" = "base0B" +"tag" = "base08" +"type" = "base0A" +"variable" = "base08" +"variable.other.member" = "base0D" +"warning" = "base09" + +"markup.bold" = { fg = "base0A", modifiers = ["bold"] } +"markup.heading.1" = { fg = "base0D", modifiers = ["bold"] } +"markup.heading.2" = { fg = "base08", modifiers = ["bold"] } +"markup.heading.3" = { fg = "base09", modifiers = ["bold"] } +"markup.heading.4" = { fg = "base0A", modifiers = ["bold"] } +"markup.heading.5" = { fg = "base0B", modifiers = ["bold"] } +"markup.heading.6" = { fg = "base0C", modifiers = ["bold"] } +"markup.italic" = { fg = "base0E", modifiers = ["italic"] } +"markup.link.text" = "base08" +"markup.link.url" = { fg = "base09", modifiers = ["underlined"] } +"markup.list" = "base08" +"markup.quote" = "base0C" +"markup.raw" = "base0B" +"markup.strikethrough" = { modifiers = ["crossed_out"] } + +"diagnostic.hint" = { underline = { style = "curl" } } +"diagnostic.info" = { underline = { style = "curl" } } +"diagnostic.warning" = { underline = { style = "curl" } } +"diagnostic.error" = { underline = { style = "curl" } } + +"ui.background" = { bg = "base00" } +"ui.bufferline.active" = { fg = "base00", bg = "base03", modifiers = ["bold"] } +"ui.bufferline" = { fg = "base04", bg = "base00" } +"ui.cursor" = { fg = "base06", modifiers = ["reversed"] } +"ui.cursor.primary" = { fg = "base05", modifiers = ["reversed"] } +"ui.cursorline.primary" = { fg = "base05", bg = "base01" } +"ui.cursor.match" = { fg = "base05", bg = "base02", modifiers = ["bold"] } +"ui.cursor.select" = { fg = "base05", modifiers = ["reversed"] } +"ui.gutter" = { bg = "base00" } +"ui.help" = { fg = "base06", bg = "base01" } +"ui.linenr" = { fg = "base03", bg = "base00" } +"ui.linenr.selected" = { fg = "base04", bg = "base01", modifiers = ["bold"] } +"ui.menu" = { fg = "base05", bg = "base01" } +"ui.menu.scroll" = { fg = "base03", bg = "base01" } +"ui.menu.selected" = { fg = "base01", bg = "base04" } +"ui.popup" = { bg = "base01" } +"ui.selection" = { bg = "base02" } +"ui.selection.primary" = { bg = "base02" } +"ui.statusline" = { fg = "base04", bg = "base01" } +"ui.statusline.inactive" = { bg = "base01", fg = "base03" } +"ui.statusline.insert" = { fg = "base00", bg = "base0B" } +"ui.statusline.normal" = { fg = "base00", bg = "base03" } +"ui.statusline.select" = { fg = "base00", bg = "base0F" } +"ui.text" = "base05" +"ui.text.directory" = "base0D" +"ui.text.focus" = "base05" +"ui.virtual.indent-guide" = { fg = "base03" } +"ui.virtual.inlay-hint" = { fg = "base03" } +"ui.virtual.ruler" = { bg = "base01" } +"ui.virtual.jump-label" = { fg = "base0A", modifiers = ["bold"] } +"ui.virtual.whitespace" = { fg = "base03" } +"ui.window" = { bg = "base01" } + +[palette] +base00 = "#{{.colors.base00}}" # Default Background +base01 = "#{{.colors.base01}}" # Lighter Background (Used for status bars, line number and folding marks) +base02 = "#{{.colors.base02}}" # Selection Background +base03 = "#{{.colors.base03}}" # Comments, Invisibles, Line Highlighting +base04 = "#{{.colors.base04}}" # Dark Foreground (Used for status bars) +base05 = "#{{.colors.base05}}" # Default Foreground, Caret, Delimiters, Operators +base06 = "#{{.colors.base06}}" # Light Foreground (Not often used) +base07 = "#{{.colors.base07}}" # Light Background (Not often used) +base08 = "#{{.colors.base08}}" # Variables, XML Tags, Markup Link Text, Markup Lists, Diff Deleted +base09 = "#{{.colors.base09}}" # Integers, Boolean, Constants, XML Attributes, Markup Link Url +base0A = "#{{.colors.base0A}}" # Classes, Markup Bold, Search Text Background +base0B = "#{{.colors.base0B}}" # Strings, Inherited Class, Markup Code, Diff Inserted +base0C = "#{{.colors.base0C}}" # Support, Regular Expressions, Escape Characters, Markup Quotes +base0D = "#{{.colors.base0D}}" # Functions, Methods, Attribute IDs, Headings +base0E = "#{{.colors.base0E}}" # Keywords, Storage, Selector, Markup Italic, Diff Changed +base0F = "#{{.colors.base0F}}" # Deprecated, Opening/Closing Embedded Language Tags, e.g. diff --git a/private_dot_config/hypr/hyprland.conf b/private_dot_config/hypr/hyprland.conf new file mode 100644 index 0000000..86d0f21 --- /dev/null +++ b/private_dot_config/hypr/hyprland.conf @@ -0,0 +1,15 @@ +source = ~/.config/hypr/land/defaults.conf +source = ~/.config/hypr/land/env.conf + +source = ~/.config/hypr/land/lookandfeel.conf +source = ~/.config/hypr/land/input.conf +source = ~/.config/hypr/land/binds.conf +source = ~/.config/hypr/land/rules.conf + +monitor=,preferred,auto,auto + +# Must be last in case they don't exist and shit'll error. +source = ~/.config/hypr/land/startup.conf +source = ~/.config/hypr/land/monitors.conf # nwg-display support +source = ~/.config/hypr/land/workspaces.conf + diff --git a/private_dot_config/hypr/land/binds.conf b/private_dot_config/hypr/land/binds.conf new file mode 100644 index 0000000..81561fe --- /dev/null +++ b/private_dot_config/hypr/land/binds.conf @@ -0,0 +1,90 @@ +# App launching +bind = $mod, Return, exec, $terminal +bind = $mod SHIFT, Return, exec, $browser +bind = $mod, a, exec, $audio +bind = $mod, n, exec, $networking +bind = $mod, b, exec, $bluetooth +bind = $mod, p, exec, $display +bind = $mod, d, exec, $menu +bind = $mod, escape, exec, $lock + +bind = CTRL, Print, exec, ~/.config/hypr/scripts/recording.sh +bind = , Print, exec, mkdir -p ~/Pictures/Screenshots && grim -t ppm -o "$(hyprctl activeworkspace -j | jq -r '.monitor')" - | satty -f - -o ~/Pictures/Screenshots/satty-$(date '+%Y%m%d-%H:%M:%S').png + + +bind = $mod, Q, killactive +bind = $mod, F, fullscreen +bind = $mod SHIFT, E, exit +bind = $mod, Space, togglefloating + +# App moving +bind = $mod, h, movefocus, l +bind = $mod, l, movefocus, r +bind = $mod, k, movefocus, u +bind = $mod, j, movefocus, d + +bind = $mod SHIFT, h, movewindow, l +bind = $mod SHIFT, l, movewindow, r +bind = $mod SHIFT, k, movewindow, u +bind = $mod SHIFT, j, movewindow, d + +# App resizing +bind = $mod, R, submap, resize +submap = resize +binde = , h, resizeactive, -10 0 +binde = , l, resizeactive, 10 0 +binde = , k, resizeactive, 0, -10 +binde = , j, resizeactive, 0, 10 +bind = $mod, R, submap, reset +bind = , Return, submap, reset +bind = , escape, submap, reset +submap = reset + +# Workspaces +bind = $mod, 1, workspace, 1 +bind = $mod, 2, workspace, 2 +bind = $mod, 3, workspace, 3 +bind = $mod, 4, workspace, 4 +bind = $mod, 5, workspace, 5 +bind = $mod, 6, workspace, 6 +bind = $mod, 7, workspace, 7 +bind = $mod, 8, workspace, 8 +bind = $mod, 9, workspace, 9 +bind = $mod, 0, workspace, 10 + +bind = $mod SHIFT, 1, movetoworkspace, 1 +bind = $mod SHIFT, 2, movetoworkspace, 2 +bind = $mod SHIFT, 3, movetoworkspace, 3 +bind = $mod SHIFT, 4, movetoworkspace, 4 +bind = $mod SHIFT, 5, movetoworkspace, 5 +bind = $mod SHIFT, 6, movetoworkspace, 6 +bind = $mod SHIFT, 7, movetoworkspace, 7 +bind = $mod SHIFT, 8, movetoworkspace, 8 +bind = $mod SHIFT, 9, movetoworkspace, 9 +bind = $mod SHIFT, 0, movetoworkspace, 10 + +## TODO: changeme scratchpad +bind = $mod, S, togglespecialworkspace, magic +bind = $mod SHIFT, S, movetoworkspace, special:magic + +# Mouse bindings +bind = $mod, mouse_down, workspace, e+1 +bind = $mod, mouse_up, workspace, e-1 +bindm = $mod, mouse:272, movewindow +bindm = $mod, mouse:273, resizewindow + +# Laptop multimedia keys for volume and LCD brightness +bind = ,XF86AudioMedia, exec, ~/.config/hypr/scripts/switch_powerprofiles.sh toggle +bindel = ,XF86AudioRaiseVolume, exec, wpctl set-volume -l 1 @DEFAULT_AUDIO_SINK@ 5%+ +bindel = ,XF86AudioLowerVolume, exec, wpctl set-volume @DEFAULT_AUDIO_SINK@ 5%- +bindel = ,XF86AudioMute, exec, wpctl set-mute @DEFAULT_AUDIO_SINK@ toggle +bindel = ,XF86AudioMicMute, exec, wpctl set-mute @DEFAULT_AUDIO_SOURCE@ toggle +bindel = ,XF86MonBrightnessUp, exec, brightnessctl -e4 -n2 set 5%+ +bindel = ,XF86MonBrightnessDown, exec, brightnessctl -e4 -n2 set 5%- + +# Playback +bindl = , XF86AudioNext, exec, playerctl next +bindl = , XF86AudioPause, exec, playerctl play-pause +bindl = , XF86AudioPlay, exec, playerctl play-pause +bindl = , XF86AudioPrev, exec, playerctl previous + diff --git a/private_dot_config/hypr/land/defaults.conf b/private_dot_config/hypr/land/defaults.conf new file mode 100644 index 0000000..9f55aa5 --- /dev/null +++ b/private_dot_config/hypr/land/defaults.conf @@ -0,0 +1,16 @@ +# Normal variables +$mod = alt + +# Essential variables +$terminal = /usr/bin/kitty +$editor = /usr/bin/helix #THIS ONE MUST BE FULL PATH +$lock = /usr/bin/hyprlock -c ~/.config/hypr/lock/lock.conf + +# Setting applications +$audio = $terminal /usr/bin/pulsemixer +$networking = $terminal /usr/bin/nmtui +$bluetooth = $terminal /usr/bin/bluetui +$display = /usr/bin/nwg-displays -w ~/.config/hypr/land/workspaces.conf -m ~/.config/hypr/land/monitors.conf + +# Other applications +$browser = /usr/bin/firefox diff --git a/private_dot_config/hypr/land/empty_workspaces.conf b/private_dot_config/hypr/land/empty_workspaces.conf new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_config/hypr/land/env.conf b/private_dot_config/hypr/land/env.conf new file mode 100644 index 0000000..1ae5bba --- /dev/null +++ b/private_dot_config/hypr/land/env.conf @@ -0,0 +1,6 @@ +env = XCURSOR_SIZE,24 +env = HYPRCURSOR_SIZE,24 + +env = TERMINAL,$terminal +env = EDITOR,$editor + diff --git a/private_dot_config/hypr/land/input.conf b/private_dot_config/hypr/land/input.conf new file mode 100644 index 0000000..debff06 --- /dev/null +++ b/private_dot_config/hypr/land/input.conf @@ -0,0 +1,18 @@ +input { + repeat_rate = 60 + repeat_delay = 200 + kb_layout = us + kb_variant = + kb_model = + kb_options = compose:ralt + kb_rules = + + follow_mouse = 1 + + sensitivity = 0 + + touchpad { + natural_scroll = false + } +} +gesture = 3, horizontal, workspace diff --git a/private_dot_config/hypr/land/lookandfeel.conf.tmpl b/private_dot_config/hypr/land/lookandfeel.conf.tmpl new file mode 100644 index 0000000..0c4fe6b --- /dev/null +++ b/private_dot_config/hypr/land/lookandfeel.conf.tmpl @@ -0,0 +1,66 @@ + +general { + gaps_in = 3 + gaps_out = 5 + border_size = 1 + + col.active_border = rgb({{ .colors.base0E }}) + col.inactive_border = rgb({{ .colors.base02 }}) + resize_on_border = false + allow_tearing = false + layout = dwindle +} + +decoration { + rounding = 5 + rounding_power = 3 + + active_opacity = 0.95 + inactive_opacity = 0.87 + shadow { + enabled = true + range = 4 + render_power = 3 + color = rgb({{ .colors.base01 }}) + } + + blur { + enabled = true + size = 10 + passes = 2 + } +} + +animations { + enabled = yes + + bezier = expressiv2FastSpatial, 0.42, 1.67, 0.21, 0.90 + bezier = expressiveSlowSpatial, 0.39, 1.29, 0.35, 0.98 + bezier = expressiveDefaultSpatial, 0.38, 1.21, 0.22, 1.00 + bezier = emphasizedDecel, 0.05, 0.7, 0.1, 1 + bezier = emphasizedAccel, 0.3, 0, 0.8, 0.15 + bezier = standardDecel, 0, 0, 0, 1 + bezier = menu_decel, 0.1, 1, 0, 1 + bezier = menu_accel, 0.52, 0.03, 0.72, 0.08 + animation = windowsIn, 1, 3, emphasizedDecel, popin 80% + animation = windowsOut, 1, 2, emphasizedDecel, popin 90% + animation = windowsMove, 1, 3, emphasizedDecel, slide + animation = border, 1, 10, emphasizedDecel + animation = layersIn, 1, 2.7, emphasizedDecel, popin 93% + animation = layersOut, 1, 2.4, menu_accel, popin 94% + animation = fadeLayersIn, 1, 0.5, menu_decel + animation = fadeLayersOut, 1, 2.7, menu_accel + animation = workspaces, 1, 7, menu_decel, slide + animation = specialWorkspaceIn, 1, 2.8, emphasizedDecel, slidevert + animation = specialWorkspaceOut, 1, 1.2, emphasizedAccel, slidevert +} + +dwindle { + pseudotile = true + preserve_split = true +} + +misc { + force_default_wallpaper = -1 + disable_hyprland_logo = false +} diff --git a/private_dot_config/hypr/land/monitors.conf b/private_dot_config/hypr/land/monitors.conf new file mode 100644 index 0000000..9f29a85 --- /dev/null +++ b/private_dot_config/hypr/land/monitors.conf @@ -0,0 +1,3 @@ +# Generated by nwg-displays on 2025-10-18 at 21:02:54. Do not edit manually. + +monitor=eDP-1,2880x1920@120.0,0x0,1.6 diff --git a/private_dot_config/hypr/land/rules.conf b/private_dot_config/hypr/land/rules.conf new file mode 100644 index 0000000..9cc043d --- /dev/null +++ b/private_dot_config/hypr/land/rules.conf @@ -0,0 +1,2 @@ +windowrule = suppressevent maximize, class:.* +windowrule = nofocus,class:^$,title:^$,xwayland:1,floating:1,fullscreen:0,pinned:0 diff --git a/private_dot_config/hypr/land/startup.conf b/private_dot_config/hypr/land/startup.conf new file mode 100644 index 0000000..c838296 --- /dev/null +++ b/private_dot_config/hypr/land/startup.conf @@ -0,0 +1,5 @@ +exec-once = swaybg -i ~/Pictures/wallpaper.png +exec-once = waybar +exec-once = ~/.config/hypr/scripts/switch_powerprofiles.sh sync +exec-once = /usr/bin/hyprlock -c ~/.config/hypr/lock/login.conf +exec-once = mako diff --git a/private_dot_config/hypr/lock/common.conf.tmpl b/private_dot_config/hypr/lock/common.conf.tmpl new file mode 100644 index 0000000..f181a1f --- /dev/null +++ b/private_dot_config/hypr/lock/common.conf.tmpl @@ -0,0 +1,57 @@ +image { + halign=center + path=/home/jsw/Pictures/profile.png + position=0, 50 + valign=center +} + +input-field { + size=200,50 + check_color=rgb(e5c890) + fail_color=rgb(e78284) + dots_center=true + dots_size=0.200000 + dots_spacing=0.350000 + fade_on_empty=false + font_color=rgb(c6d0f5) + halign=center + hide_input=false + inner_color=rgb(303446) + outer_color=rgb(292c3c) + outline_thickness=2 + placeholder_text=Input Password... + position=0, -100 + rounding=-1 + valign=center + fail_text=$FAIL ($ATTEMPTS) +} + +label { + font_family=JetBrains Mono + font_size=95 + halign=center + position=0, 300 + text=$TIME + valign=center + color_idle=rgba(c6d0f5, 0.75) + color_verify=rgba(51576d, 0.75) + color_fail=rgba(e78284, 0.75) + color_capslock=rgba(a6d189, 0.75) +} + +label { + color=rgba(f2d5cf, 0.75) + font_family=JetBrains Mono + font_size=22 + halign=center + position=0, 200 + text=cmd[update:1000] echo $(date +"%A, %B %d") + valign=center +} + +auth { + fingerprint { + enabled = true + retry_delay = 50 + } +} diff --git a/private_dot_config/hypr/lock/lock.conf b/private_dot_config/hypr/lock/lock.conf new file mode 100644 index 0000000..9db7368 --- /dev/null +++ b/private_dot_config/hypr/lock/lock.conf @@ -0,0 +1,7 @@ +source = ~/.config/hypr/lock/common.conf + +background { + blur_passes=2 + blur_size=10 + path=screenshot +} diff --git a/private_dot_config/hypr/lock/login.conf b/private_dot_config/hypr/lock/login.conf new file mode 100644 index 0000000..c96c7f4 --- /dev/null +++ b/private_dot_config/hypr/lock/login.conf @@ -0,0 +1,7 @@ +source = ~/.config/hypr/lock/common.conf + +background { + blur_passes=2 + blur_size=10 + path=~/Pictures/wallpaper.png +} diff --git a/private_dot_config/hypr/scripts/executable_recording.sh b/private_dot_config/hypr/scripts/executable_recording.sh new file mode 100644 index 0000000..9c221b5 --- /dev/null +++ b/private_dot_config/hypr/scripts/executable_recording.sh @@ -0,0 +1,14 @@ +#!/bin/env bash + +pgrep -x "wf-recorder" && pkill -INT -x wf-recorder && notify-send -h string:wf-recorder:record -t 1000 "Finished Recording" && exit 0 + +for i in $(seq 1 3); do + notify-send -h string:wf-recorder:record -t 1000 "Recording in:" "$((4 - $i))" + sleep 1 +done + +dateTime=$(date +%m-%d-%Y-%H:%M:%S) +dir="$HOME/Videos/ScreenRecordings" + +mkdir -p "$dir" +wf-recorder -f "$dir/$dateTime.mp4" diff --git a/private_dot_config/hypr/scripts/executable_switch_powerprofiles.sh b/private_dot_config/hypr/scripts/executable_switch_powerprofiles.sh new file mode 100644 index 0000000..d5aa095 --- /dev/null +++ b/private_dot_config/hypr/scripts/executable_switch_powerprofiles.sh @@ -0,0 +1,50 @@ +#!/usr/bin/env bash + +function sync() { + if [ "$(powerprofilesctl get)" = "power-saver" ]; then + hyprctl --batch "\ + keyword animations:enabled 0;\ + keyword decoration:shadow:enabled 0;\ + keyword decoration:blur:enabled 0;\ + keyword decoration:active_opacity 1;\ + keyword decoration:inactive_opacity 1;\ + keyword general:gaps_in 0;\ + keyword general:gaps_out 0;\ + keyword general:border_size 1;\ + keyword decoration:rounding 0" + + hyprctl keyword monitor eDP-1,2880x1920@60,0x0,1.5,vrr,1 #NOTE: use templating if you own multiple laptops + else + hyprctl reload + fi + + hyprctl hyprpaper reload ,~/Pictures/wallpaper.png +} +function toggle() { + if [ "$(powerprofilesctl get)" = "power-saver" ]; then + powerprofilesctl set performance + else + powerprofilesctl set power-saver + fi + + sync +} + +if [ "$#" -ne 1 ]; then + echo "Usage: $0 {toggle|sync}" + exit 1 +fi + +case "$1" in +toggle) + toggle + ;; +sync) + sync + ;; +*) + echo "Invalid option: $1" + echo "Usage: $0 {toggle|sync}" + exit 1 + ;; +esac diff --git a/private_dot_config/kitty/kitty.conf.tmpl b/private_dot_config/kitty/kitty.conf.tmpl new file mode 100644 index 0000000..29d9db5 --- /dev/null +++ b/private_dot_config/kitty/kitty.conf.tmpl @@ -0,0 +1,58 @@ +# vim:ft=kitty + +# The basic colors +background #{{.colors.base00}} +foreground #{{.colors.base05}} +selection_background #{{.colors.base05}} +selection_foreground #{{.colors.base00}} + +# Cursor colors +cursor #{{.colors.base05}} +cursor_text_color #{{.colors.base00}} + +# URL underline color when hovering with mouse +url_color #{{.colors.base04}} + +# Kitty window border colors +active_border_color #{{.colors.base03}} +inactive_border_color #{{.colors.base01}} + +# OS Window titlebar colors +wayland_titlebar_color #{{.colors.base00}} +macos_titlebar_color #{{.colors.base00}} + +# Tab bar colors +active_tab_background #{{.colors.base00}} +active_tab_foreground #{{.colors.base05}} +inactive_tab_background #{{.colors.base01}} +inactive_tab_foreground #{{.colors.base04}} +tab_bar_background #{{.colors.base01}} + +# The 16 terminal colors +# normal +color0 #{{.colors.base00}} +color1 #{{.colors.base08}} +color2 #{{.colors.base0B}} +color3 #{{.colors.base0A}} +color4 #{{.colors.base0D}} +color5 #{{.colors.base0E}} +color6 #{{.colors.base0C}} +color7 #{{.colors.base05}} + +# bright +color8 #{{.colors.base02}} +color9 #{{.colors.base12}} +color10 #{{.colors.base14}} +color11 #{{.colors.base13}} +color12 #{{.colors.base16}} +color13 #{{.colors.base17}} +color14 #{{.colors.base15}} +color15 #{{.colors.base07}} + +# extended .colors.base16 colors +color16 #{{.colors.base09}} +color17 #{{.colors.base0F}} +color18 #{{.colors.base01}} +color19 #{{.colors.base02}} +color20 #{{.colors.base04}} +color21 #{{.colors.base06}} diff --git a/private_dot_config/mako/config.tmpl b/private_dot_config/mako/config.tmpl new file mode 100644 index 0000000..632246f --- /dev/null +++ b/private_dot_config/mako/config.tmpl @@ -0,0 +1,14 @@ +background-color=#{{.colors.base00}} +text-color=#{{.colors.base05}} +border-color=#{{.colors.base0D}} +default-timeout=3000 + +[urgency=low] +background-color=#{{.colors.base00}} +text-color=#{{.colors.base0A}} +border-color=#{{.colors.base0D}} + +[urgency=high] +background-color=#{{.colors.base00}} +text-color=#{{.colors.base08}} +border-color=#{{.colors.base0D}} diff --git a/private_dot_config/packages/aur.list b/private_dot_config/packages/aur.list new file mode 100644 index 0000000..f7b33af --- /dev/null +++ b/private_dot_config/packages/aur.list @@ -0,0 +1,4 @@ +ookla-speedtest-bin +python-ble-serial +yay-bin +yay-bin-debug diff --git a/private_dot_config/packages/normal.list b/private_dot_config/packages/normal.list new file mode 100644 index 0000000..e1ed875 --- /dev/null +++ b/private_dot_config/packages/normal.list @@ -0,0 +1,71 @@ +7zip +adw-gtk-theme +amd-ucode +aria2 +atuin +base +bluetui +bluez +chezmoi +debugedit +efibootmgr +fakeroot +firefox +fish +fprintd +fwupd +fwupd-efi +git +greetd +gurk +helix +htop +hyprland +hyprlock +hyprshot +jq +kitty +libvdpau-va-gl +linux-firmware +linux-zen +make +mako +man-db +man-pages +mpv +ncspot +networkmanager +noto-fonts +noto-fonts-emoji +nwg-displays +nwg-look +openssh +pipewire +pkgconf +polkit-gnome +power-profiles-daemon +pulsemixer +rclone +reflector +rsync +rtkit +rust +rust-analyzer +satty +sudo +swaybg +tmux +ttf-jetbrains-mono-nerd +udisks2 +vulkan-radeon +waybar +waypipe +wev +wf-recorder +which +wireless_tools +wireplumber +wl-clipboard +xdg-desktop-portal-hyprland +xdg-user-dirs +yazi diff --git a/private_dot_config/private_fish/conf.d/atuin.fish b/private_dot_config/private_fish/conf.d/atuin.fish new file mode 100644 index 0000000..aa7e94a --- /dev/null +++ b/private_dot_config/private_fish/conf.d/atuin.fish @@ -0,0 +1,89 @@ +set -gx ATUIN_SESSION (atuin uuid) +set --erase ATUIN_HISTORY_ID + +function _atuin_preexec --on-event fish_preexec + if not test -n "$fish_private_mode" + set -g ATUIN_HISTORY_ID (atuin history start -- "$argv[1]") + end +end + +function _atuin_postexec --on-event fish_postexec + set -l s $status + + if test -n "$ATUIN_HISTORY_ID" + ATUIN_LOG=error atuin history end --exit $s -- $ATUIN_HISTORY_ID &>/dev/null & + disown + end + + set --erase ATUIN_HISTORY_ID +end + +function _atuin_search + set -l keymap_mode + switch $fish_key_bindings + case fish_vi_key_bindings + switch $fish_bind_mode + case default + set keymap_mode vim-normal + case insert + set keymap_mode vim-insert + end + case '*' + set keymap_mode emacs + end + + # In fish 3.4 and above we can use `"$(some command)"` to keep multiple lines separate; + # but to support fish 3.3 we need to use `(some command | string collect)`. + # https://fishshell.com/docs/current/relnotes.html#id24 (fish 3.4 "Notable improvements and fixes") + set -l ATUIN_H (ATUIN_SHELL=fish ATUIN_LOG=error ATUIN_QUERY=(commandline -b) atuin search --keymap-mode=$keymap_mode $argv -i 3>&1 1>&2 2>&3 | string collect) + + if test -n "$ATUIN_H" + if string match --quiet '__atuin_accept__:*' "$ATUIN_H" + set -l ATUIN_HIST (string replace "__atuin_accept__:" "" -- "$ATUIN_H" | string collect) + commandline -r "$ATUIN_HIST" + commandline -f repaint + commandline -f execute + return + else + commandline -r "$ATUIN_H" + end + end + + commandline -f repaint +end + +function _atuin_bind_up + # Fallback to fish's builtin up-or-search if we're in search or paging mode + if commandline --search-mode; or commandline --paging-mode + up-or-search + return + end + + # Only invoke atuin if we're on the top line of the command + set -l lineno (commandline --line) + + switch $lineno + case 1 + _atuin_search --shell-up-key-binding + case '*' + up-or-search + end +end + +if string match -q '4.*' $version + bind ctrl-r _atuin_search + bind up _atuin_bind_up + if bind -M insert >/dev/null 2>&1 + bind -M insert ctrl-r _atuin_search + # bind -M insert up _atuin_bind_up + end +else + bind \cr _atuin_search + bind -k up _atuin_bind_up + bind \eOA _atuin_bind_up + bind \e\[A _atuin_bind_up + if bind -M insert >/dev/null 2>&1 + bind -M insert \cr _atuin_search + # bind -M insert -k up _atuin_bind_up; bind -M insert \eOA _atuin_bind_up; bind -M insert \e\[A _atuin_bind_up + end +end diff --git a/private_dot_config/private_fish/conf.d/theme.fish.tmpl b/private_dot_config/private_fish/conf.d/theme.fish.tmpl new file mode 100644 index 0000000..14519df --- /dev/null +++ b/private_dot_config/private_fish/conf.d/theme.fish.tmpl @@ -0,0 +1,120 @@ +set color00 {{substr 0 2 .colors.base00}}/{{substr 2 4 .colors.base00}}/{{substr 4 6 .colors.base00}} # Base 00 - Black +set color01 {{substr 0 2 .colors.base08}}/{{substr 2 4 .colors.base08}}/{{substr 4 6 .colors.base08}} # Base 08 - Red +set color02 {{substr 0 2 .colors.base0B}}/{{substr 2 4 .colors.base0B}}/{{substr 4 6 .colors.base0B}} # Base 0B - Green +set color03 {{substr 0 2 .colors.base0A}}/{{substr 2 4 .colors.base0A}}/{{substr 4 6 .colors.base0A}} # Base 0A - Yellow +set color04 {{substr 0 2 .colors.base0D}}/{{substr 2 4 .colors.base0D}}/{{substr 4 6 .colors.base0D}} # Base 0D - Blue +set color05 {{substr 0 2 .colors.base0E}}/{{substr 2 4 .colors.base0E}}/{{substr 4 6 .colors.base0E}} # Base 0E - Magenta +set color06 {{substr 0 2 .colors.base0C}}/{{substr 2 4 .colors.base0C}}/{{substr 4 6 .colors.base0C}} # Base 0C - Cyan +set color07 {{substr 0 2 .colors.base05}}/{{substr 2 4 .colors.base05}}/{{substr 4 6 .colors.base05}} # Base 05 - White +set color08 {{substr 0 2 .colors.base03}}/{{substr 2 4 .colors.base03}}/{{substr 4 6 .colors.base03}} # Base 03 - Bright Black +set color09 $color01 # Base 08 - Bright Red +set color10 $color02 # Base 0B - Bright Green +set color11 $color03 # Base 0A - Bright Yellow +set color12 $color04 # Base 0D - Bright Blue +set color13 $color05 # Base 0E - Bright Magenta +set color14 $color06 # Base 0C - Bright Cyan +set color15 {{substr 0 2 .colors.base07}}/{{substr 2 4 .colors.base07}}/{{substr 4 6 .colors.base07}} # Base 07 - Bright White +set color16 {{substr 0 2 .colors.base09}}/{{substr 2 4 .colors.base09}}/{{substr 4 6 .colors.base09}} # Base 09 +set color17 {{substr 0 2 .colors.base0F}}/{{substr 2 4 .colors.base0F}}/{{substr 4 6 .colors.base0F}} # Base 0F +set color18 {{substr 0 2 .colors.base01}}/{{substr 2 4 .colors.base01}}/{{substr 4 6 .colors.base01}} # Base 01 +set color19 {{substr 0 2 .colors.base02}}/{{substr 2 4 .colors.base02}}/{{substr 4 6 .colors.base02}} # Base 02 +set color20 {{substr 0 2 .colors.base04}}/{{substr 2 4 .colors.base04}}/{{substr 4 6 .colors.base04}} # Base 04 +set color21 {{substr 0 2 .colors.base06}}/{{substr 2 4 .colors.base06}}/{{substr 4 6 .colors.base06}} # Base 06 +set colorfg $color07 # Base 05 - White +set colorbg $color00 # Base 00 - Black + +if test -n "$TMUX" +# Tell tmux to pass the escape sequences through +# (Source: http://permalink.gmane.org/gmane.comp.terminal-emulators.tmux.user/1324) +function put_template; printf '\033Ptmux;\033\033]4;%d;rgb:%s\033\033\\\033\\' $argv; end; +function put_template_var; printf '\033Ptmux;\033\033]%d;rgb:%s\033\033\\\033\\' $argv; end; +function put_template_custom; printf '\033Ptmux;\033\033]%s%s\033\033\\\033\\' $argv; end; +else if string match 'screen*' $TERM # [ "${TERM%%[-.]*}" = "screen" ] +# GNU screen (screen, screen-256color, screen-256color-bce) +function put_template; printf '\033P\033]4;%d;rgb:%s\007\033\\' $argv; end; +function put_template_var; printf '\033P\033]%d;rgb:%s\007\033\\' $argv; end; +function put_template_custom; printf '\033P\033]%s%s\007\033\\' $argv; end; +else if string match 'linux*' $TERM # [ "${TERM%%-*}" = "linux" ] +function put_template; test $argv[1] -lt 16 && printf "\e]P%x%s" $argv[1] (echo $argv[2] | sed 's/\///g'); end; +function put_template_var; true; end; +function put_template_custom; true; end; +else +function put_template; printf '\033]4;%d;rgb:%s\033\\' $argv; end; +function put_template_var; printf '\033]%d;rgb:%s\033\\' $argv; end; +function put_template_custom; printf '\033]%s%s\033\\' $argv; end; +end + +# 16 color space +put_template 0 $color00 +put_template 1 $color01 +put_template 2 $color02 +put_template 3 $color03 +put_template 4 $color04 +put_template 5 $color05 +put_template 6 $color06 +put_template 7 $color07 +put_template 8 $color08 +put_template 9 $color09 +put_template 10 $color10 +put_template 11 $color11 +put_template 12 $color12 +put_template 13 $color13 +put_template 14 $color14 +put_template 15 $color15 + +# 256 color space +put_template 16 $color16 +put_template 17 $color17 +put_template 18 $color18 +put_template 19 $color19 +put_template 20 $color20 +put_template 21 $color21 + +# foreground / background / cursor color +if test -n "$ITERM_SESSION_ID" +# iTerm2 proprietary escape codes +put_template_custom Pg {{.colors.base05}} # foreground +put_template_custom Ph {{.colors.base00}} # background +put_template_custom Pi {{.colors.base05}} # bold color +put_template_custom Pj {{.colors.base02}} # selection color +put_template_custom Pk {{.colors.base05}} # selected text color +put_template_custom Pl {{.colors.base05}} # cursor +put_template_custom Pm {{.colors.base00}} # cursor text +else +put_template_var 10 $colorfg +if [ "$BASE16_SHELL_SET_BACKGROUND" != false ] + put_template_var 11 $colorbg + if string match 'rxvt*' $TERM # [ "${TERM%%-*}" = "rxvt" ] + put_template_var 708 $colorbg # internal border (rxvt) + end +end +put_template_custom 12 ";7" # cursor (reverse video) +end + +# set syntax highlighting colors +set -U fish_color_autosuggestion {{.colors.base02}} +set -U fish_color_cancel -r +set -U fish_color_command green #white +set -U fish_color_comment {{.colors.base02}} +set -U fish_color_cwd green +set -U fish_color_cwd_root red +set -U fish_color_end brblack #blue +set -U fish_color_error red +set -U fish_color_escape yellow #green +set -U fish_color_history_current --bold +set -U fish_color_host normal +set -U fish_color_match --background=brblue +set -U fish_color_normal normal +set -U fish_color_operator blue #green +set -U fish_color_param {{.colors.base04}} +set -U fish_color_quote yellow #brblack +set -U fish_color_redirection cyan +set -U fish_color_search_match bryellow --background={{.colors.base02}} +set -U fish_color_selection white --bold --background={{.colors.base02}} +set -U fish_color_status red +set -U fish_color_user brgreen +set -U fish_color_valid_path --underline +set -U fish_pager_color_completion normal +set -U fish_pager_color_description yellow --dim +set -U fish_pager_color_prefix white --bold #--underline +set -U fish_pager_color_progress brwhite --background=cyan diff --git a/private_dot_config/private_user-dirs.dirs b/private_dot_config/private_user-dirs.dirs new file mode 100644 index 0000000..7f9a959 --- /dev/null +++ b/private_dot_config/private_user-dirs.dirs @@ -0,0 +1,15 @@ +# This file is written by xdg-user-dirs-update +# If you want to change or add directories, just edit the line you're +# interested in. All local changes will be retained on the next run. +# Format is XDG_xxx_DIR="$HOME/yyy", where yyy is a shell-escaped +# homedir-relative path, or XDG_xxx_DIR="/yyy", where /yyy is an +# absolute path. No other format is supported. +# +XDG_DESKTOP_DIR="$HOME/Desktop" +XDG_DOWNLOAD_DIR="$HOME/Downloads" +XDG_TEMPLATES_DIR="$HOME/Templates" +XDG_PUBLICSHARE_DIR="$HOME/Public" +XDG_DOCUMENTS_DIR="$HOME/Documents" +XDG_MUSIC_DIR="$HOME/Music" +XDG_PICTURES_DIR="$HOME/Pictures" +XDG_VIDEOS_DIR="$HOME/Videos" diff --git a/private_dot_config/systemd/user/default.target.wants/symlink_pipewire-pulse.service b/private_dot_config/systemd/user/default.target.wants/symlink_pipewire-pulse.service new file mode 100644 index 0000000..a72afa4 --- /dev/null +++ b/private_dot_config/systemd/user/default.target.wants/symlink_pipewire-pulse.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire-pulse.service diff --git a/private_dot_config/systemd/user/default.target.wants/symlink_pipewire.service b/private_dot_config/systemd/user/default.target.wants/symlink_pipewire.service new file mode 100644 index 0000000..06933ea --- /dev/null +++ b/private_dot_config/systemd/user/default.target.wants/symlink_pipewire.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire.service diff --git a/private_dot_config/systemd/user/default.target.wants/symlink_polkit-gnome.service b/private_dot_config/systemd/user/default.target.wants/symlink_polkit-gnome.service new file mode 100644 index 0000000..3b40d33 --- /dev/null +++ b/private_dot_config/systemd/user/default.target.wants/symlink_polkit-gnome.service @@ -0,0 +1 @@ +/home/jsw/.config/systemd/user/polkit-gnome.service diff --git a/private_dot_config/systemd/user/graphical-session.target.wants/symlink_hyprpaper.service b/private_dot_config/systemd/user/graphical-session.target.wants/symlink_hyprpaper.service new file mode 100644 index 0000000..3e5dae9 --- /dev/null +++ b/private_dot_config/systemd/user/graphical-session.target.wants/symlink_hyprpaper.service @@ -0,0 +1 @@ +/usr/lib/systemd/user/hyprpaper.service diff --git a/private_dot_config/systemd/user/polkit-gnome.service b/private_dot_config/systemd/user/polkit-gnome.service new file mode 100644 index 0000000..b57e12e --- /dev/null +++ b/private_dot_config/systemd/user/polkit-gnome.service @@ -0,0 +1,10 @@ +[Unit] +Description=Polkit GNOME Authentication Agent +After=graphical-session.target + +[Service] +ExecStart=/usr/lib/polkit-gnome/polkit-gnome-authentication-agent-1 +Restart=on-failure + +[Install] +WantedBy=default.target diff --git a/private_dot_config/systemd/user/sockets.target.wants/symlink_pipewire-pulse.socket b/private_dot_config/systemd/user/sockets.target.wants/symlink_pipewire-pulse.socket new file mode 100644 index 0000000..9930a8d --- /dev/null +++ b/private_dot_config/systemd/user/sockets.target.wants/symlink_pipewire-pulse.socket @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire-pulse.socket diff --git a/private_dot_config/systemd/user/sockets.target.wants/symlink_pipewire.socket b/private_dot_config/systemd/user/sockets.target.wants/symlink_pipewire.socket new file mode 100644 index 0000000..9a8dfc8 --- /dev/null +++ b/private_dot_config/systemd/user/sockets.target.wants/symlink_pipewire.socket @@ -0,0 +1 @@ +/usr/lib/systemd/user/pipewire.socket diff --git a/private_dot_config/waybar/config b/private_dot_config/waybar/config new file mode 100644 index 0000000..8b80914 --- /dev/null +++ b/private_dot_config/waybar/config @@ -0,0 +1,104 @@ +{ + "layer": "bottom", + "position": "bottom", + "height": 26, + "spacing": 5, + + "modules-left": ["hyprland/workspaces", "custom/platform-profile", "temperature"], + "modules-center": ["clock"], + "modules-right": ["wireplumber", "battery", "idle_inhibitor", "network", "bluetooth", "tray"], + + "hyprland/workspaces": { + "format": "{icon}", + "on-click": "activate", + "format-icons": { + "active": "\uf444", + "default": "\uf4c3" + }, + "icon-size": 10, + "sort-by-number": true, + "persistent-workspaces": { + "1": [], + "2": [], + "3": [], + "4": [], + "5": [], + } + }, + + "clock": { + "format": "{:%d.%m.%Y | %H:%M}" + }, + + "wireplumber": { + "format": "\udb81\udd7e {volume}%", + "max-volume": 100, + "scroll-step": 5 + }, + + "battery": { + "bat": "BAT1", + "interval": 60, + "format": "{icon} {capacity}%", + "format-icons": ["\uf244", "\uf243", "\uf242", "\uf241", "\uf240"], + }, + + "memory": { + "interval": 30, + "format": "\uf4bc {used:0.1f}G" + }, + + "temperature": { + "format": "{temperatureC}°C" + }, + + "network": { + "format": "", + "format-ethernet": "\udb83\udc9d", + "format-wifi": "{icon}", + "format-disconnected": "\udb83\udc9c", + "format-icons": ["\udb82\udd2f", "\udb82\udd1f", "\udb82\udd22", "\udb82\udd25", "\udb82\udd28"], + "tooltip-format-wifi": "{essid} ({signalStrength}%)", + "tooltip-format-ethernet": "{ifname}", + "tooltip-format-disconnected": "Disconnected", + }, + + "bluetooth": { + "format": "\udb80\udcaf", + "format-disabled": "\udb80\udcb2", + "format-connected": "\udb80\udcb1", + "tooltip-format": "{controller_alias}\t{controller_address}", + "tooltip-format-connected": "{controller_alias}\t{controller_address}\n\n{device_enumerate}", + "tooltip-format-enumerate-connected": "{device_alias}\t{device_address}" + }, + + "hyprland/language": { + "format": "{short}" + }, + + "tray": { + "icon-size": 16, + "spacing": 16 + }, + + "custom/platform-profile": { + "format": "{icon}", + "exec": "~/.config/waybar/platform_profile.sh", + "return-type": "json", + "restart-interval": 1, + "format-icons": { + "low-power": "󰾆 ", + "balanced": "󰾅 ", + "performance": "󰓅 ", + "default": "?" + }, + }, + + "idle_inhibitor": { + "format": "{icon}", + "format-icons": { + "activated": "\udb80\udd76", + "deactivated": "\udb83\udfaa" + } + } +} diff --git a/private_dot_config/waybar/executable_platform_profile.sh b/private_dot_config/waybar/executable_platform_profile.sh new file mode 100644 index 0000000..4072bc3 --- /dev/null +++ b/private_dot_config/waybar/executable_platform_profile.sh @@ -0,0 +1,2 @@ +#!/bin/sh +echo "{\"alt\": \"$(cat /sys/firmware/acpi/platform_profile)\"}" diff --git a/private_dot_config/waybar/style.css.tmpl b/private_dot_config/waybar/style.css.tmpl new file mode 100644 index 0000000..72c4e6d --- /dev/null +++ b/private_dot_config/waybar/style.css.tmpl @@ -0,0 +1,39 @@ +@define-color foreground #{{ .colors.base05 }}; +@define-color foreground-inactive #{{.colors.base04 }}; +@define-color background #{{.colors.base01 }}; + +* { + font-family: JetBrainsMono Nerd Font; + font-size: 14px; + padding: 0; + margin: 0; +} + +#waybar { + color: @foreground; + background-color: @background; +} + +#workspaces button { + color: @foreground; + padding-left: 0.7em; +} + +#workspaces button.empty { + color: @foreground-inactive; +} + +#memory, +#custom-platform-profile { + padding-left: 1em +} + +#wireplumber, +#battery, +#idle_inhibitor, +#language, +#network, +#bluetooth, +#tray { + padding-right: 1em +} diff --git a/private_dot_local/bin/executable_cpucore b/private_dot_local/bin/executable_cpucore new file mode 100644 index 0000000..bcad5b8 --- /dev/null +++ b/private_dot_local/bin/executable_cpucore @@ -0,0 +1,99 @@ +#!/usr/bin/env bash +set -euo pipefail + +# elevate once, then never again +if (( EUID != 0 )); then + exec sudo -p "Password: " "$0" "$@" +fi + +PROG=$(basename "$0") + +usage() { + cat <= 1) + --reset Bring all logical CPUs online +EOF + exit 1 +} + +get_total_cpus() { nproc --all; } + +set_cpu_online() { + local cpu=$1 val=$2 + local f="/sys/devices/system/cpu/cpu${cpu}/online" + [[ -e $f ]] || return 0 + local cur + cur=$(cat "$f" 2>/dev/null || echo "") + [[ $cur == "$val" ]] && return 0 + printf '%s\n' "$val" >"$f" 2>/dev/null || \ + echo "Warning: failed to set cpu${cpu} online=$val" >&2 +} + +reset_cpus() { + local total=$1 + for ((i = 0; i < total; i++)); do + set_cpu_online "$i" 1 + done +} + +apply_target() { + local target=$1 total=$2 + for ((i = 0; i < total; i++)); do + if ((i < target)); then + set_cpu_online "$i" 1 + elif ((i > 0)); then + set_cpu_online "$i" 0 + fi + done +} + +list_online() { + local total=$1 + local online=() + for ((i = 0; i < total; i++)); do + local f="/sys/devices/system/cpu/cpu${i}/online" + if [[ -e $f ]]; then + [[ $(cat "$f") == 1 ]] && online+=("$i") + else + online+=("$i") + fi + done + echo "Online CPUs: ${online[*]}" +} + +main() { + local total + total=$(get_total_cpus) + + if [[ $# -ne 1 ]]; then + usage + fi + + case $1 in + --reset) + reset_cpus "$total" + echo "Done." + ;; + [0-9]*) + local target=$1 + if ((target <= 0)); then + echo "Warning: minimum of 1 CPU required; using 1." >&2 + target=1 + fi + if ((target >= total)); then + reset_cpus "$total" + echo "Done." + else + apply_target "$target" "$total" + list_online "$total" + fi + ;; + *) + usage + ;; + esac +} + +main "$@" + diff --git a/private_dot_local/private_share/applications/nwg-displays.desktop b/private_dot_local/private_share/applications/nwg-displays.desktop new file mode 100644 index 0000000..37475ba --- /dev/null +++ b/private_dot_local/private_share/applications/nwg-displays.desktop @@ -0,0 +1,16 @@ +[Desktop Entry] +Type=Application + +Name=Displays Settings +Name[pl]=Ustawienia wyświetlaczy + +GenericName=Output configuration utility +GenericName[pl]=Ustawienia wyświetlaczy + +Comment=nwg-shell tool to configure outputs +Comment[pl]=Narzędzie nwg-shell do konfiguracji monitorów + +Exec=nwg-displays -m ~/.config/hypr/land/monitors.conf -w ~/.config/hypr/land/monitors.conf +Icon=nwg-displays +Terminal=false +Categories=Settings;DesktopSettings; diff --git a/private_dot_mozilla/private_firefox/installs.ini b/private_dot_mozilla/private_firefox/installs.ini new file mode 100644 index 0000000..566f5f4 --- /dev/null +++ b/private_dot_mozilla/private_firefox/installs.ini @@ -0,0 +1,4 @@ +[4F96D1932A9F858E] +Default=JSW.default-release +Locked=1 + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/LICENSE b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/LICENSE new file mode 100644 index 0000000..cf1ab25 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/LICENSE @@ -0,0 +1,24 @@ +This is free and unencumbered software released into the public domain. + +Anyone is free to copy, modify, publish, use, compile, sell, or +distribute this software, either in source code form or as a compiled +binary, for any purpose, commercial or non-commercial, and by any +means. + +In jurisdictions that recognize copyright laws, the author or authors +of this software dedicate any and all copyright interest in the +software to the public domain. We make this dedication for the benefit +of the public at large and to the detriment of our heirs and +successors. We intend this dedication to be an overt act of +relinquishment in perpetuity of all present and future rights to this +software under copyright law. + +THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, +EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF +MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. +IN NO EVENT SHALL THE AUTHORS BE LIABLE FOR ANY CLAIM, DAMAGES OR +OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, +ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR +OTHER DEALINGS IN THE SOFTWARE. + +For more information, please refer to diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/README.md b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/README.md new file mode 100644 index 0000000..a44c678 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/README.md @@ -0,0 +1,354 @@ +Firefox GNOME theme + +# Firefox GNOME theme + +[![GitHub](https://img.shields.io/github/license/rafaelmardojai/firefox-gnome-theme.svg)](https://github.com/rafaelmardojai/firefox-gnome-theme/blob/master/LICENSE) +[![Donate](https://img.shields.io/badge/PayPal-Donate-gray.svg?style=flat&logo=paypal&colorA=0071bb&logoColor=fff)](https://paypal.me/RafaelMardojaiCM) +[![Liberapay](https://img.shields.io/liberapay/receives/rafaelmardojai.svg?logo=liberapay)](https://liberapay.com/rafaelmardojai/donate) + +
+ +**A GNOME theme for Firefox** + +This theme follows latest GNOME Adwaita style. + +> [!WARNING] +> ### Disclaimer: +> Be aware that this theme might do things that are not supported by upstream Firefox. If you face an issue while using this theme, report it here first or test if it is reproducible in vanilla Firefox. +> +> If you are a software distribution maintainer, please do not ship these changes by default to your users unless you make it extremely clear that they are using a modified version of the Firefox UI. + +![Screenshot of the theme](screenshot.png) + +## Description + +This is a bunch of CSS code to make Firefox look closer to GNOME's native apps. + +### Getting in Touch + +Matrix room: [#firefox-gnome-theme:matrix.org](https://matrix.to/#/#firefox-gnome-theme:matrix.org) + +### Firefox versions support + +The `master` branch of this repo supports the current Firefox stable release `143`. + +Theme versions compatible with older Firefox releases are preserved as git tags. + +We also have the `beta` and `nightly` branches for fixes only applicable to the current Firefox beta and nightly versions. + +# Installation + +The most friendly way to get this theme is using the **Add Water** app. + + + Get it on Flathub + + +## One command install with curl + +To install this theme, you can run this command, which uses *curl* to download a script that will also download the latest released version of the theme (not the master version) and run the **auto-install** script for you. + +> [!WARNING] +> Always be careful when running scripts from the Internet. + +```sh +curl -s -o- https://raw.githubusercontent.com/rafaelmardojai/firefox-gnome-theme/master/scripts/install-by-curl.sh | bash +``` + +## Installation scripts + +If you want to use other version of the theme than the stable one you can manually download the theme and run its install scripts. + +First you need to grab a fresh copy of the theme repository by cloning it with git. + +1. Clone this repo and enter folder: + + ```sh + git clone https://github.com/rafaelmardojai/firefox-gnome-theme.git + cd firefox-gnome-theme + ``` +2. Checkout a git branch or tag if needed, otherwise use `master` and ignore this step. + ```sh + git checkout beta # Set beta branch + git checkout v78.1 # Set v78.1 tag + ``` + +This theme provides two installation scripts in addition to the curled one. + +### Auto install script + +This script will look for Firefox profiles from various known locations (`~/.mozilla/firefox/`, Flatpak, Snap, etc) and install the theme in each one. + +You can execute it by running: + +```sh +./scripts/auto-install.sh +``` + +### Manual install script + +This script will only install the theme into the profiles found in the default Firefox folder `~/.mozilla/firefox/`. The script accepts various flags to change its behavior. + +Here are some examples of how to use it: + +```sh +./scripts/install.sh # Standard +./scripts/install.sh -p pc8577yz.default-release # Only install in a profile named pc8577yz.default-release +./scripts/install.sh -f ~/.var/app/org.mozilla.firefox/.mozilla/firefox # Flatpak +./scripts/install.sh -f ~/snap/firefox/common/.mozilla/firefox #Snap +``` + +#### Script options +- `-f ` *optional* + - Set custom Firefox folder path, for example `~/.mozilla/icecat/`. + - Default: `~/.mozilla/firefox/` + +- `-p ` *optional* + - Set custom profile name, for example `e0j6yb0p.default-nightly`. + - Default: All the profiles found in the firefox folder + +### Advanced notes +
+ Expand + +If you want to checkout the theme version tag matching you Firefox version you can run: + +```sh +git checkout v$(firefox --version | cut -d ' ' -f 3 | cut -d '.' -f 1) # Using Firefox version +``` +
+ +## Package managers + +### Arch Linux + +1. Install the [AUR package](https://aur.archlinux.org/packages/firefox-gnome-theme) `firefox-gnome-theme` +2. Follow the instructions at `cat /usr/share/doc/firefox-gnome-theme/INSTALL.md` + +## Manual installation +
+ Expand + +1. Go to `about:support` in Firefox. + +2. Application Basics > Profile Directory > Open Directory. + +3. Open directory in a terminal. + +4. Create a `chrome` directory if it doesn't exist: + + ```sh + mkdir -p chrome + cd chrome + ``` + +5. Clone this repo to a subdirectory: + + ```sh + git clone https://github.com/rafaelmardojai/firefox-gnome-theme.git + ``` + +6. Create single-line user CSS files if non-existent or empty (at least one line is needed for `sed`): + + ```sh + [[ -s userChrome.css ]] || echo >> userChrome.css + [[ -s userContent.css ]] || echo >> userContent.css + ``` + +7. Import this theme at the beginning of the CSS files (all `@import`s must come before any existing `@namespace` declarations): + + ```sh + sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css + sed -i '1s/^/@import "firefox-gnome-theme\/userContent.css";\n/' userContent.css + ``` + +8. Symlink preferences file: + + ```sh + cd .. # Go back to the profile directory + ln -fs chrome/firefox-gnome-theme/configuration/user.js user.js + ``` + +9. Restart Firefox. + +10. Open Firefox customization panel and move the new tab button to headerbar. + +11. Be happy with your new gnomish Firefox. +
+ +## Required Firefox preferences +We provide a **user.js** configuration file in `configuration/user.js` that enables some preferences required by this theme to work. + +You should already have this file installed if you followed one of the installation methods, but in any case be sure this preferences are enabled under `about:config`: + +- `toolkit.legacyUserProfileCustomizations.stylesheets` + + This preference is required to load the custom CSS in Firefox, otherwise the theme wouldn't work. + +- `svg.context-properties.content.enabled` + + This preference is required to recolor the icons, otherwise you will get black icons everywhere. + +> For other non essential preferences checkout `configuration/user.js`. + +## Updating + +You can follow the installation script steps again to update the theme. + +## Uninstalling +1. Go to your profile folder. (Go to `about:support` in Firefox > Application Basics > Profile Directory > Open Directory) +2. Remove `chrome` folder. +3. Remove the unwanted preferences from your `user.js` inside your profile folder. The install script append the needed prefs in that file, you can check what preferences does it append by checking `configuration/user.js` in this repo. + +## Enabling optional features +Optional features can be enabled by creating new `boolean` preferences in `about:config`. + +1. Go to the `about:config` page +2. Type the key of the feature you want to enable +3. Set it as a `boolean` and click on the add button +4. Restart Firefox + +### Features + +- **Hide single tab** `gnomeTheme.hideSingleTab` + + Hide the tab bar when only one tab is open. + + > **Note:** You should move the new tab button out of the tabbar or it will be hidden when there is only one tab. You can rearrange the toolbars doing a right-click on any toolbar and selecting "Customize Toolbar…". + +- **Normal width tabs** `gnomeTheme.normalWidthTabs` + + Use normal width tabs as default Firefox. + +- **Swap tab close button position** `gnomeTheme.swapTabClose` + + By default the tab close buttons follows the position of the window controls, this preference reverts that behavior. + +- **Bookmarks toolbar under tabs** `gnomeTheme.bookmarksToolbarUnderTabs` + + Move Bookmarks toolbar under tabs. + +- **Active tab contrast** `gnomeTheme.activeTabContrast` + + Add more contrast to the active tab. + +- **Close only selected tabs** `gnomeTheme.closeOnlySelectedTabs` + + Show the close button on the selected tab only. + +- **System icons** `gnomeTheme.systemIcons` + + Use system theme icons instead of Adwaita icons included by theme. + + > **Note:** This feature has a [known color bug](#icons-color-broken-with-system-icons). + + +- **No themed Icons** `gnomeTheme.noThemedIcons` + + Use default Firefox icons instead of the included icons. + + +- **Symbolic tab icons** `gnomeTheme.symbolicTabIcons` + + Make all tab icons look kinda like symbolic icons. + +- **Hide WebRTC indicator** `gnomeTheme.hideWebrtcIndicator` + + Hide redundant WebRTC indicator since GNOME provides their own privacy icons in the top right. + +- **Hide unified extensions button** `gnomeTheme.hideUnifiedExtensions` + + Hide unified extensions button from the navbar, you can also use `extensions.unifiedExtensions.enabled` instead, which is only going to work till Firefox 111. + +- **Drag window from headerbar buttons** `gnomeTheme.dragWindowHeaderbarButtons` + + Allow dragging the window from headerbar buttons. + + > **Note:** This feature is BUGGED. It can activate the button with unpleasant behavior. + +- **Tabs as headerbar** `gnomeTheme.tabsAsHeaderbar` + + Place the tabs on the top of the window, and use the tabs bar to hold the window controls, like Firefox's standard tab bar. + + > **Note:** Enabling with `gnomeTheme.hideSingleTab` will replace the single tab with a title bar. + +- **OLED black theme** `gnomeTheme.oledBlack` + + Change the dark theme into the black variant. + +- **Show "List All Tabs" button on overflow** `gnomeTheme.allTabsButtonOnOverflow` + + Show the `List All Tabs` button when the tabs bar is overflowing (when you have too many tabs that the width of the tabs no longer shrinks when new tabs are added). + +- **Show "List All Tabs" button** `gnomeTheme.allTabsButton` + + Show the `List All Tabs` button all the time, like stock Firefox. + +- **Align tab title and icon to left** `gnomeTheme.tabAlignLeft` + + Align the tab title and favicon to left of tab in place of center. + +- **Bookmarks bar in fullscreen** `gnomeTheme.bookmarksOnFullscreen` + + Show the bookmarks bar while in fullscreen. + +### Extensions support + +We also have optional features to enable support for some Firefox extensions. + +> [!WARNING] +> Note that extension support is maintained by the community, so requests to support new extensions are not allowed, and the included extensions may be broken until someone shows up to fix them. + +- **Adaptive Tab Bar Colour support** `gnomeTheme.extensions.adaptiveTabBarColour` + + > **Note:** Adaptive Tab Bar Colour presently hard-codes the colours for the home page (both normal as well as private windows). When navigating from the home page to any other page, the colour of the UI might momentarily switch to the original firefox home page colour before switching back to the expected colour (this is especially noticeable in private windows). This only happens when navigating from the homepage to another page, subsequent navigations should be unaffected. + +## Known bugs + +### CSD have sharp corners +See upstream [bug](https://bugzilla.mozilla.org/show_bug.cgi?id=1408360). + +#### Wayland fix: +1. Go to the `about:config` page +2. Search for the `layers.acceleration.force-enabled` preference and set it to true. +3. Now restart Firefox, and it should look good! + +#### X11 fix: +1. Go to the `about:config` page +2. Type `mozilla.widget.use-argb-visuals` +3. Set it as a `boolean` and click on the add button +4. Now restart Firefox, and it should look good! + +### Icons color broken with System icons +Icons might appear black where they should be white on some systems. I have no idea why, but you can adjust them directly in the `system-icons.css` file, look for `--gnome-icons-hack-filter` & `--gnome-window-icons-hack-filter` vars and play with css filters. + +## Development + +If you wanna mess around the styles and change something, you might find these +things useful. + +To use the Inspector to debug the UI, open the developer tools (F12) on any +page, go to options, check both of those: + +- Enable browser chrome and add-on debugging toolboxes +- Enable remote debugging + +Now you can close those tools and press Ctrl+Alt+Shift+I to Inspect the browser +UI. + +Also you can inspect any GTK3 application, for example type this into a terminal +and it will run Epiphany with the GTK Inspector, so you can check the CSS styles +of its elements too. + +```sh +GTK_DEBUG=interactive epiphany +``` + +Feel free to use any parts of my code to develop your own themes, I don't force +any specific license on your code. + +## Credits +Developed by **[Rafael Mardojai CM](https://github.com/rafaelmardojai)** and [contributors](https://github.com/rafaelmardojai/firefox-gnome-theme/graphs/contributors). Based on **[Luna Kurame](https://github.com/lunakurame/firefox-gnome-theme)**'s original work. + +## Donate +If you want to support development, consider donating via [PayPal](https://paypal.me/RafaelMardojaiCM). Also consider donating upstream, [Firefox](https://donate.mozilla.org/) & [GNOME](https://www.gnome.org/donate/). diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/configuration/.keep b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/configuration/.keep new file mode 100644 index 0000000..e69de29 diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/FUNDING.yml b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/FUNDING.yml new file mode 100644 index 0000000..3e513c1 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/FUNDING.yml @@ -0,0 +1,12 @@ +# These are supported funding model platforms + +github: rafaelmardojai +patreon: rafaelmardojai +open_collective: # Replace with a single Open Collective username +ko_fi: # Replace with a single Ko-fi username +tidelift: # Replace with a single Tidelift platform-name/package-name e.g., npm/babel +community_bridge: # Replace with a single Community Bridge project-name e.g., cloud-foundry +liberapay: rafaelmardojai +issuehunt: # Replace with a single IssueHunt username +otechie: # Replace with a single Otechie username +custom: ['https://rafaelmardojai.com/donate/'] diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/1-bug.yml b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/1-bug.yml new file mode 100644 index 0000000..da2013b --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/1-bug.yml @@ -0,0 +1,77 @@ +name: Bug Report +description: Report a bug in the theme +title: "[Bug] " +labels: [bug] +body: + - type: markdown + attributes: + value: | + > [!IMPORTANT] + > Note that extension support is maintained by the community, so extension bug reports will be closed. If you want to report something, use [Discussions](https://github.com/rafaelmardojai/firefox-gnome-theme/discussions). + - type: textarea + attributes: + label: Describe the bug + description: A clear and concise description of what the bug is. Include screenshots if needed. + validations: + required: true + - type: textarea + attributes: + label: Steps to reproduce + description: Write steps to reproduce the behavior if possible. + - type: textarea + attributes: + label: Expected behavior + description: A clear and concise description of what you expected to happen. + - type: input + attributes: + label: Operating System + description: e.g. Fedora, Ubuntu + validations: + required: true + - type: dropdown + attributes: + label: Firefox installation method + options: + - Distro package + - Flatpak + - Snap + validations: + required: true + - type: input + attributes: + label: Firefox version + validations: + required: true + - type: input + attributes: + label: Theme version + description: e.g. v108, master branch, specific commit + validations: + required: true + - type: checkboxes + attributes: + label: Optional features enabled + description: Select the features you have enabled in `about:config`. + options: + - label: gnomeTheme.hideSingleTab + - label: gnomeTheme.normalWidthTabs + - label: gnomeTheme.swapTabClose + - label: gnomeTheme.bookmarksToolbarUnderTabs + - label: gnomeTheme.activeTabContrast + - label: gnomeTheme.closeOnlySelectedTabs + - label: gnomeTheme.systemIcons + - label: gnomeTheme.noThemedIcons + - label: gnomeTheme.symbolicTabIcons + - label: gnomeTheme.hideWebrtcIndicator + - label: gnomeTheme.hideUnifiedExtensions + - label: gnomeTheme.dragWindowHeaderbarButtons + - label: gnomeTheme.tabsAsHeaderbar + - label: gnomeTheme.oledBlack + - label: gnomeTheme.allTabsButtonOnOverflow + - label: gnomeTheme.allTabsButton + - label: gnomeTheme.tabAlignLeft + - label: gnomeTheme.bookmarksOnFullscreen + - type: textarea + attributes: + label: Additional information + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/2-feature.yml b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/2-feature.yml new file mode 100644 index 0000000..4af1726 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/2-feature.yml @@ -0,0 +1,32 @@ +name: Feature Request +description: Suggest an idea for this project +title: "[Feature] " +labels: [enhancement] +body: + - type: markdown + attributes: + value: | + > [!IMPORTANT] + > Note that requests for support of specific Firefox extensions are not allowed and will be closed. + - type: textarea + attributes: + label: Is your feature request related to a problem? Please describe. + description: | + A clear and concise description of what the problem is. + Ex. I'm always frustrated when [...] + validations: + required: true + - type: textarea + attributes: + label: Describe the solution you'd like + description: A clear and concise description of what you want to happen. + validations: + required: true + - type: textarea + attributes: + label: Describe alternatives you've considered + description: A clear and concise description of any alternative solutions or features you've considered. + - type: textarea + attributes: + label: Additional information + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/config.yml b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/config.yml new file mode 100644 index 0000000..e39a295 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/ISSUE_TEMPLATE/config.yml @@ -0,0 +1,5 @@ +blank_issues_enabled: false +contact_links: + - name: General Questions and Chat + url: https://matrix.to/#/#firefox-gnome-theme:matrix.org + about: Ask and chat about the theme in Matrix diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/workflows/release.yml b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/workflows/release.yml new file mode 100644 index 0000000..66a700a --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/workflows/release.yml @@ -0,0 +1,30 @@ +name: Release + +on: + release: + types: [published] + +jobs: + publish_aur_package: + name: Publish AUR package + runs-on: ubuntu-latest + + steps: + - uses: actions/checkout@v4 + + - name: Generate PKGBUILD + env: + RELEASE: ${{ github.event.release.tag_name }} + run: ./scripts/generate-pkgbuild.sh + + - name: Publish firefox-gnome-theme to the AUR + uses: KSXGitHub/github-actions-deploy-aur@v2.7.2 + with: + pkgname: firefox-gnome-theme + pkgbuild: ./PKGBUILD + commit_username: ${{ secrets.AUR_USERNAME }} + commit_email: ${{ secrets.AUR_EMAIL }} + ssh_private_key: ${{ secrets.AUR_SSH_PRIVATE_KEY }} + commit_message: ${{ github.event.release.tag_name }} + updpkgsums: true + test: true diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/workflows/test.yml b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/workflows/test.yml new file mode 100644 index 0000000..1cf9648 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_github/workflows/test.yml @@ -0,0 +1,41 @@ +name: Test + +on: [push] + +jobs: + test: + runs-on: ubuntu-latest + name: Smoke test + steps: + - name: Setup - Install Firefox.deb + run: | + sudo add-apt-repository ppa:mozillateam/ppa + echo ' + Package: * + Pin: release o=LP-PPA-mozillateam + Pin-Priority: 1001 + ' | sudo tee /etc/apt/preferences.d/mozilla-firefox + echo 'Unattended-Upgrade::Allowed-Origins:: "LP-PPA-mozillateam:${distro_codename}";' | sudo tee /etc/apt/apt.conf.d/51unattended-upgrades-firefox + sudo apt update + sudo apt install firefox + + - name: Setup 1 - create a Firefox profile + run: firefox --headless --createprofile test + + - name: Test 1 - Run a web installer as in README + run: curl -s -o- https://raw.githubusercontent.com/rafaelmardojai/firefox-gnome-theme/master/scripts/install-by-curl.sh | bash + + - name: Teardown 1 + run: rm -rf ls ~/.mozilla/firefox/ + + - name: Setup 2 - create a new Firefox profile + run: firefox --headless --createprofile test + + - name: Setup 2 - checkout the repo + uses: actions/checkout@v3 + + - name: Test 2 - Run a regular installer + run: ./scripts/install.sh + + - name: Teardown 2 + run: rm -rf ls ~/.mozilla/firefox/ diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_gitignore b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_gitignore new file mode 100644 index 0000000..af960c8 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/dot_gitignore @@ -0,0 +1,3 @@ +customChrome.css +customContent.css +PKGBUILD diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_auto-install.sh b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_auto-install.sh new file mode 100644 index 0000000..873d49a --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_auto-install.sh @@ -0,0 +1,44 @@ +#! /usr/bin/env bash + +firefoxInstallationPaths=( + # Firefox + ~/.mozilla/firefox # Package + ~/.var/app/org.mozilla.firefox/.mozilla/firefox # Flatpak + ~/snap/firefox/common/.mozilla/firefox # Snap + "$HOME/Library/Application Support/Firefox" # MacOS Package + ~/AppData/Roaming/Mozilla/Firefox # Microsoft Windows + + # Librewolf + ~/.librewolf # Package + ~/.var/app/io.gitlab.librewolf-community/.librewolf # Flatpak + + # Floorp + ~/.floorp # Package + ~/.var/app/one.ablaze.floorp/.floorp # Flatpak + + # Waterfox + ~/.var/app/net.waterfox.waterfox/.waterfox # Flatpak + +) + +installScript="./scripts/install.sh" +folderArg="" +foldersFoundCount=0 + +eval "chmod +x ${installScript}" + +for folder in "${firefoxInstallationPaths[@]}"; do + if [ -d "$folder" ]; then + echo Firefox installation folder found + + folderArg=" -f \"$folder\"" + eval ${installScript}${folderArg} + foldersFoundCount+=1 + + fi + +done + +if [ $foldersFoundCount = 0 ];then + echo No firefox folder found ; + fi diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_generate-pkgbuild.sh b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_generate-pkgbuild.sh new file mode 100644 index 0000000..cd1ea09 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_generate-pkgbuild.sh @@ -0,0 +1,42 @@ +#!/bin/sh + +# Exit on error +set -e + +if [ -z "$RELEASE" ]; then + echo "\$RELEASE not set, aborting" + exit 1 +fi + +pkgver=$(echo "$RELEASE" | sed 's/v//') + +cat << EOF > ./PKGBUILD +# Maintainer: Marko Korhonen +# Based on the existing AUR package firefox-gnome-theme-git +# This PKGBUILD is automatically generated by https://github.com/rafaelmardojai/firefox-gnome-theme/blob/$RELEASE/scripts/generate-pkgbuild.sh +# when a release is published on GitHub. Do not edit this file directly. + +pkgname=firefox-gnome-theme +pkgver=$pkgver +pkgrel=1 +pkgdesc='A GNOME theme for Firefox' +arch=('any') +url="https://github.com/rafaelmardojai/\$pkgname" +license=('Unlicense') +optdepends=('firefox: primary compatible browser' 'librewolf: alternative compatible browser') +conflicts=("\$pkgname-git") +install="\$pkgname.install" +source=("\$pkgname-\$pkgver.tar.gz::https://github.com/rafaelmardojai/\$pkgname/archive/refs/tags/v\$pkgver.tar.gz" "INSTALL.md") +md5sums=('TO_BE_GENERATED' + '25f18456221ffc91f472b1abff8aae84') + +package() { + cd "\$srcdir/\$pkgname-\$pkgver" + install -d "\$pkgdir/usr/lib/\$pkgname" + cp -ra theme userChrome.css userContent.css configuration "\$pkgdir/usr/lib/\$pkgname" + + # Install docs + install -Dm644 README.md "\$pkgdir/usr/share/doc/\$pkgname/README.md" + install -Dm644 "\$srcdir/INSTALL.md" "\$pkgdir/usr/share/doc/\$pkgname/INSTALL.md" +} +EOF diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_install-by-curl.sh b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_install-by-curl.sh new file mode 100644 index 0000000..03c71da --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_install-by-curl.sh @@ -0,0 +1,20 @@ +#!/usr/bin/env bash + +VERSION=$(curl --silent "https://api.github.com/repos/rafaelmardojai/firefox-gnome-theme/releases/latest" | grep tag_name | cut -d'"' -f4) +FILENAME=firefox-gnome-theme-$VERSION.tar.gz + +( + +cd $(mktemp -d) || exit 1 +mkdir firefox-gnome-theme +cd firefox-gnome-theme + +curl -LJo $FILENAME https://github.com/rafaelmardojai/firefox-gnome-theme/tarball/$VERSION + +tar -xzf $FILENAME --strip-components=1 + +chmod +x scripts/auto-install.sh + +./scripts/auto-install.sh + +) diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_install.sh b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_install.sh new file mode 100644 index 0000000..affce7c --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_install.sh @@ -0,0 +1,156 @@ +#!/usr/bin/env bash + +THEMEDIRECTORY=$(cd "$(dirname $0)" && cd .. && pwd) +FIREFOXFOLDER=~/.mozilla/firefox +PROFILENAME="" + + +# Get options. +while getopts 'f:p:t:' flag; do + case "${flag}" in + f) FIREFOXFOLDER="${OPTARG}" ;; + p) PROFILENAME="${OPTARG}" ;; + *) + echo "Gnome Theme Install Script:" + echo " -f . Set custom Firefox folder path." + echo " -p . Set custom profile name." + echo " -h to show this message." + exit 0 + ;; + esac +done + +# A wrapper around the `sed` command to handle platform-specific differences. +# +# sed in BSD platforms need this extra argument when using '-i' to specify no backup file. +function _sed(){ + if [[ "$OSTYPE" == *"linux"* ]] || [[ "$OSTYPE" == *msys* ]]; then + sed "$@" + return $? + fi + + if [[ "$1" == "-i" ]]; then + shift 1 + sed -i '' "$@" + return $? + fi + + sed "$@" +} + +function saveProfile(){ + local PROFILE_PATH="$1" + + cd "$FIREFOXFOLDER/$PROFILE_PATH" || { echo "FAIL, Firefox profile path was not found."; exit 1; } + # Create a chrome directory if it doesn't exist. + mkdir -p chrome + cd chrome || { echo "FAIL, couldn't create chrome dir in $PWD, please check if there's something else named 'chrome'."; exit 1; } + + # Copy theme repo inside + echo "Copying repo in $PWD" >&2 + [ -e ./firefox-gnome-theme ] || mkdir firefox-gnome-theme + cp -fR "$THEMEDIRECTORY/." "$PWD/firefox-gnome-theme/" || { echo "FAIL, couldn't copy to $PWD/chrome, please check if there's something named 'chrome' or 'chrome/firefox-gnome-theme', that is not a dir."; exit 1; } + + # Create single-line user CSS files if non-existent or empty. + if [ -s userChrome.css ]; then + # Remove older theme imports + _sed 's/@import "firefox-gnome-theme.*.//g' userChrome.css | _sed '/^\s*$/d' > tmpfile && mv tmpfile userChrome.css + echo >> userChrome.css + else + echo >> userChrome.css + fi + + # Import this theme at the beginning of the CSS files. + _sed -i '1s/^/@import "firefox-gnome-theme\/userChrome.css";\n/' userChrome.css + + # Check if the import was set correctly + if ! cat userChrome.css | grep "firefox-gnome-theme" > /dev/null; then + echo "Unable to add the main import in 'userChrome.css', it needs to be set manually." >&2 + fi + + # Create single-line user content CSS files if non-existent or empty. (userContent) + if [ -s userContent.css ]; then + # Remove older theme imports + _sed 's/@import "firefox-gnome-theme.*.//g' userContent.css | _sed '/^\s*$/d' > tmpfile1 && mv tmpfile1 userContent.css + echo >> userContent.css + else + echo >> userContent.css + fi + + # Import this theme at the beginning of the CSS files. (userContent) + _sed -i '1s/^/@import "firefox-gnome-theme\/userContent.css";\n/' userContent.css + + # Check if the import was set correctly (userContent) + if ! cat userContent.css | grep "firefox-gnome-theme" > /dev/null; then + echo "Unable to add the main import in 'userContent.css', it needs to be set manually." >&2 + fi + + cd .. + + echo "Set configuration to user.js file" >&2 + + theme_prefs=() + while IFS= read -r line; do + theme_prefs+=("$line") + done < <(grep "user_pref" chrome/firefox-gnome-theme/configuration/user.js) + + theme_prefs_unvalued=() + while IFS= read -r line; do + theme_prefs_unvalued+=("$line") + done < <(grep "user_pref" chrome/firefox-gnome-theme/configuration/user.js | cut -d'"' -f 2) + + if [ ! -f "user.js" ]; then + mv chrome/firefox-gnome-theme/configuration/user.js . + else + cp user.js user.js.bak + OLDIFS=$IFS + IFS='/' + for t in "${theme_prefs_unvalued[@]}"; do + _sed -i "/$t/d" "user.js" + done + for f in "${theme_prefs[@]}"; do + echo "$f" >> "user.js" + done + IFS=$OLDIFS + fi + echo "Done." >&2 + cd .. +} + +PROFILES_FILE="${FIREFOXFOLDER}/profiles.ini" +if [ ! -f "${PROFILES_FILE}" ]; then + >&2 echo "FAIL, please check Firefox installation, unable to find 'profile.ini' at ${FIREFOXFOLDER}." + exit 1 +fi +echo "'profiles.ini' found in ${FIREFOXFOLDER}" + +PROFILES_PATHS=($(grep -E "^Path=" "${PROFILES_FILE}" | tr -d '\n' | _sed -e 's/\s\+/SPACECHARACTER/g' | _sed 's/Path=/::/g' )) +PROFILES_PATHS+=:: + +PROFILES_ARRAY=() +if [ "${PROFILENAME}" != "" ]; + then + echo "Using ${PROFILENAME} profile" + PROFILES_ARRAY+=${PROFILENAME} +else + echo "Finding all available profiles"; + while [[ "$PROFILES_PATHS" ]]; do + PROFILES_ARRAY+=( "${PROFILES_PATHS%%::*}" ) + PROFILES_PATHS=${PROFILES_PATHS#*::} + done +fi + + +if [ ${#PROFILES_ARRAY[@]} -eq 0 ]; then + echo "FAIL, no Firefox profile found in $PROFILES_FILE".; + +else + for i in "${PROFILES_ARRAY[@]}" + do + if [[ -n "$i" ]]; + then + echo "Installing theme for $(sed 's/SPACECHARACTER/ /g' <<< $i) profile."; + saveProfile "$(sed 's/SPACECHARACTER/ /g' <<< $i)" + fi; + done +fi diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_rebase-branches.sh b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_rebase-branches.sh new file mode 100644 index 0000000..41635c1 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/scripts/executable_rebase-branches.sh @@ -0,0 +1,12 @@ +#!/bin/sh + +git checkout beta +git rebase master +git push origin beta -f + +git checkout nightly +git rebase beta +git push origin nightly -f + +git checkout master + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/black.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/black.css new file mode 100644 index 0000000..022648a --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/black.css @@ -0,0 +1,80 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Variables that start with --gnome- are added by me and are assigned + * to elements somewhere in this code. The rest of the variables are + * built-in in Firefox, so you need to add an !important if you wanna + * override them. */ +@media (prefers-color-scheme: dark) { + :root { + /* Accent */ + --gnome-accent-bg: #1161CB; + --gnome-accent: #1161CB; + + --gnome-toolbar-star-button: var(--gnome-palette-yellow-1); + + /* Window */ + --gnome-window-background: #000000; + --gnome-window-color: white; + --gnome-view-background: #1e1e1e; + --gnome-sidebar-background: #303030; + --gnome-secondary-sidebar-background: #2a2a2a; + + /* Card */ + --gnome-card-background: rgba(255, 255, 255, 0.08); + --gnome-card-shade-color: color-mix(in srgb, black 36%, transparent); + + /* Menu */ + --gnome-menu-background: #303030; + + /* Header bar */ + --gnome-headerbar-background: #000000; + --gnome-headerbar-shade-color: rgba(0, 0, 0, 0.9); + + /* Toolbars */ + --gnome-toolbar-icon-fill: #eeeeec; + + /* Tabs */ + --gnome-tabbar-tab-hover-background: #252524; /* Hardcoded color */ + --gnome-tabbar-tab-active-background: #191918; /* Hardcoded color */ + --gnome-tabbar-tab-active-background-contrast: #4F4F4F; /* Hardcoded color */ + --gnome-tabbar-tab-active-hover-background: #272725; /* Hardcoded color */ + + --gnome-tabbar-identity-color-green: var(--gnome-palette-green-1); + --gnome-tabbar-identity-color-yellow: var(--gnome-palette-yellow-2); + --gnome-tabbar-identity-color-orange: var(--gnome-palette-orange-3); + --gnome-tabbar-identity-color-red: var(--gnome-palette-red-1); + --gnome-tabbar-identity-color-purple: var(--gnome-palette-purple-1); + + /* Text color for Firefox Logo in new private tab */ + --gnome-private-wordmark: #FBFBFE; + /* New private tab background */ + --gnome-private-in-content-page-background: #242424; + /* Private browsing info box */ + --gnome-private-text-primary-color: #FBFBFE; + } + + /* Backdrop colors */ + :root:-moz-window-inactive { + --gnome-tabbar-tab-hover-background: #2c2c2c; /* Hardcoded color */ + --gnome-tabbar-tab-active-background: #2e2e2e; /* Hardcoded color */ + } + + /* Private colors */ + :root[privatebrowsingmode="temporary"] { + --gnome-accent-fg: #78aeed; + /* Headerbar */ + --gnome-headerbar-background: #252F49 !important; + /* Tabs */ + --gnome-tabbar-tab-hover-background: #343e56; /* Hardcoded color */ + --gnome-tabbar-tab-active-background: #343e56; /* Hardcoded color */ + --gnome-tabbar-tab-active-background-contrast: #495675; /* Hardcoded color */ + --gnome-tabbar-tab-active-hover-background: #414a61; /* Hardcoded color */ + } + + /* Private and backdrop colors */ + :root[privatebrowsingmode="temporary"]:-moz-window-inactive { + --gnome-headerbar-background: #252F49 !important; + --gnome-tabbar-tab-hover-background: #242c3f; /* Hardcoded color */ + --gnome-tabbar-tab-active-background: #272e41; /* Hardcoded color */ + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/dark.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/dark.css new file mode 100644 index 0000000..68d33a5 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/dark.css @@ -0,0 +1,71 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Variables that start with --gnome- are added by me and are assigned + * to elements somewhere in this code. The rest of the variables are + * built-in in Firefox, so you need to add an !important if you wanna + * override them. */ +@media (prefers-color-scheme: dark) { + :root { + /* Colors */ + --gnome-standalone-color-oklab: max(l, 0.85) a b; + --gnome-destructive-bg: var(--gnome-palette-red-4); + --gnome-success-bg: var(--gnome-palette-green-5); + --gnome-warning-bg: #cd9309; + --gnome-error-bg: var(--gnome-palette-red-4); + + --gnome-toolbar-star-button: var(--gnome-palette-yellow-1); + + /* Window */ + --gnome-window-background: #222226; + --gnome-window-color: white; + --gnome-view-background: #1e1e1e; + --gnome-sidebar-background: #2e2e32; + --gnome-secondary-sidebar-background: #28282c; + + /* Card */ + --gnome-card-background: rgba(255, 255, 255, 0.08); + --gnome-card-shade-color: rgba(0, 0, 6, 0.36); + + /* Menu */ + --gnome-menu-background: #36363a; + + /* Header bar */ + --gnome-headerbar-background: #2e2e32; + --gnome-headerbar-shade-color: rgba(0, 0, 0, 0.9); + + /* Toolbars */ + --gnome-toolbar-icon-fill: #ffffff; + + /* Tabs */ + --gnome-tabbar-identity-color-green: var(--gnome-palette-green-1); + --gnome-tabbar-identity-color-yellow: var(--gnome-palette-yellow-2); + --gnome-tabbar-identity-color-orange: var(--gnome-palette-orange-3); + --gnome-tabbar-identity-color-red: var(--gnome-palette-red-1); + --gnome-tabbar-identity-color-purple: var(--gnome-palette-purple-1); + + /* Miscellaneous */ + --gnome-shade-color: rgba(0, 0, 6, 0.25); + + /* Text color for Firefox Logo in new private tab */ + --gnome-private-wordmark: #FBFBFE; + /* New private tab background */ + --gnome-private-in-content-page-background: #222226; + /* Private browsing info box */ + --gnome-private-text-primary-color: #FBFBFE; + + /* Backdrop colors */ + &:-moz-window-inactive { + --gnome-sidebar-background: #28282c; + --gnome-secondary-sidebar-background: #252529; + } + + /* Private browsing colors */ + &[privatebrowsingmode="temporary"] { + /* Headerbar */ + --gnome-headerbar-background: #2e2540 !important; + &:-moz-window-inactive { + --gnome-headerbar-background: #241d34 !important; + } + } + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/light.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/light.css new file mode 100644 index 0000000..c2f11c9 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/colors/light.css @@ -0,0 +1,177 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Variables that start with --gnome- are added by me and are assigned + * to elements somewhere in this code. The rest of the variables are + * built-in in Firefox, so you need to add an !important if you wanna + * override them. */ + +:root { + /* Pallete */ + --gnome-palette-blue-1: #99c1f1; + --gnome-palette-blue-2: #62a0ea; + --gnome-palette-blue-3: #3584e4; + --gnome-palette-blue-4: #1c71d8; + --gnome-palette-blue-5: #1a5fb4; + --gnome-palette-green-1: #8ff0a4; + --gnome-palette-green-2: #57e389; + --gnome-palette-green-3: #33d17a; + --gnome-palette-green-4: #2ec27e; + --gnome-palette-green-5: #26a269; + --gnome-palette-yellow-1: #f9f06b; + --gnome-palette-yellow-2: #f8e45c; + --gnome-palette-yellow-3: #f6d32d; + --gnome-palette-yellow-4: #f5c211; + --gnome-palette-yellow-5: #e5a50a; + --gnome-palette-orange-1: #ffbe6f; + --gnome-palette-orange-2: #ffa348; + --gnome-palette-orange-3: #ff7800; + --gnome-palette-orange-4: #e66100; + --gnome-palette-orange-5: #c64600; + --gnome-palette-red-1: #f66151; + --gnome-palette-red-2: #ed333b; + --gnome-palette-red-3: #e01b24; + --gnome-palette-red-4: #c01c28; + --gnome-palette-red-5: #a51d2d; + --gnome-palette-purple-1: #dc8add; + --gnome-palette-purple-2: #c061cb; + --gnome-palette-purple-3: #9141ac; + --gnome-palette-purple-4: #813d9c; + --gnome-palette-purple-5: #613583; + --gnome-palette-brown-1: #cdab8f; + --gnome-palette-brown-2: #b5835a; + --gnome-palette-brown-3: #986a44; + --gnome-palette-brown-4: #865e3c; + --gnome-palette-brown-5: #63452c; + --gnome-palette-light-1: #ffffff; + --gnome-palette-light-2: #f6f5f4; + --gnome-palette-light-3: #deddda; + --gnome-palette-light-4: #c0bfbc; + --gnome-palette-light-5: #9a9996; + --gnome-palette-dark-1: #77767b; + --gnome-palette-dark-2: #5e5c64; + --gnome-palette-dark-3: #3d3846; + --gnome-palette-dark-4: #241f31; + --gnome-palette-dark-5: #000000; + + /* Colors */ + --gnome-standalone-color-oklab: min(l, 0.5) a b; + --gnome-accent-bg: AccentColor; + --gnome-accent: oklab(from var(--gnome-accent-bg) var(--gnome-standalone-color-oklab)); + --gnome-destructive-bg: var(--gnome-palette-red-3); + --gnome-destructive: oklab(from var(--gnome-destructive-bg) var(--gnome-standalone-color-oklab)); + --gnome-success-bg: var(--gnome-palette-green-4); + --gnome-success: oklab(from var(--gnome-success-bg) var(--gnome-standalone-color-oklab)); + --gnome-warning-bg: var(--gnome-palette-yellow-5); + --gnome-warning: oklab(from var(--gnome-warning-bg) var(--gnome-standalone-color-oklab)); + --gnome-error-bg: var(--gnome-palette-red-3); + --gnome-error: oklab(from var(--gnome-error-bg) var(--gnome-standalone-color-oklab)); + --gnome-focus-border-color: color-mix(in srgb, var(--gnome-accent) 50%, transparent); + + --gnome-selection-bg: color-mix(in srgb, var(--gnome-accent-bg) 30%, transparent); + --gnome-toolbar-star-button: var(--gnome-palette-yellow-5); + + /* Window */ + --gnome-window-background: #fafafb; + --gnome-window-color: rgba(0, 0, 6, 0.8); + --gnome-view-background: #ffffff; + --gnome-view-color: var(--gnome-window-color); + --gnome-view-selected-background: color-mix(in srgb, var(--gnome-accent-bg) 25%, transparent); + --gnome-view-selected-hover-background: color-mix(in srgb, var(--gnome-accent-bg) 32%, transparent); + --gnome-view-selected-active-background: color-mix(in srgb, var(--gnome-accent-bg) 39%, transparent); + --gnome-sidebar-background: #ebebed; + --gnome-secondary-sidebar-background: #f3f3f5; + + /* Card */ + --gnome-card-background: #ffffff; + --gnome-card-shade-color: rgba(0, 0, 6, 0.07); + + /* Menu */ + --gnome-menu-background: #ffffff; + --gnome-menu-color: var(--gnome-window-color); + --gnome-menu-shadow: 0 1px 5px 1px rgba(0, 0, 0, .09), 0 2px 14px 3px rgba(0, 0, 0, .05); + --gnome-menu-button-hover-background: var(--gnome-button-background); + --gnome-menu-separator-color: var(--gnome-border-color); + + /* Header bar */ + --gnome-headerbar-background: #ffffff; + --gnome-headerbar-shade-color: rgba(0, 0, 0, 0.12); + + /* Toolbars */ + --gnome-toolbar-background: var(--gnome-headerbar-background); + --gnome-toolbar-border-color: var(--gnome-headerbar-shade-color); + --gnome-toolbar-icon-fill: #2f2f2f; + + /* Elements */ + --gnome-border-color: color-mix(in srgb, currentColor 15%, transparent); + --gnome-hover-color: color-mix(in srgb, currentColor 7%, transparent); + --gnome-active-color: color-mix(in srgb, currentColor 16%, transparent); + --gnome-selected-color: color-mix(in srgb, currentColor 10%, transparent); + --gnome-selected-hover-color: color-mix(in srgb, currentColor 13%, transparent); + --gnome-selected-active-color: color-mix(in srgb, currentColor 19%, transparent); + --gnome-trough-background: color-mix(in srgb, currentColor 15%, transparent); + --gnome-trough-hover-background: color-mix(in srgb, currentColor 20%, transparent); + --gnome-trough-active-background: color-mix(in srgb, currentColor 25%, transparent); + + /* Buttons */ + --gnome-button-background: color-mix(in srgb, currentColor 10%, transparent); + --gnome-button-hover-background: color-mix(in srgb, currentColor 15%, transparent); + --gnome-button-active-background: color-mix(in srgb, currentColor 30%, transparent); + --gnome-button-checked-background: var(--gnome-button-active-background); + --gnome-button-checked-hover-background: color-mix(in srgb, currentColor 35%, transparent); + --gnome-button-checked-active-background: color-mix(in srgb, currentColor 40%, transparent); + --gnome-button-suggested-background: var(--gnome-accent-bg); + --gnome-button-destructive-background: color-mix(in srgb, currentColor 15%, transparent); + --gnome-button-destructive-hover-background: color-mix(in srgb, currentColor 20%, transparent); + --gnome-button-destructive-active-background: color-mix(in srgb, currentColor 35%, transparent); + + /* Entries */ + --gnome-entry-background: var(--gnome-button-background); + --gnome-entry-color: var(--gnome-view-color); + --gnome-entry-focused-border-color: color-mix(in srgb, var(--gnome-accent) 50%, transparent); + --gnome-entry-error-focused-border-color: color-mix(in srgb, var(--gnome-error) 50%, transparent); + + /* Tabs */ + --gnome-tabbar-background: var(--gnome-headerbar-background); + --gnome-tabbar-tab-separator-color: var(--gnome-border-color); + --gnome-tabbar-tab-hover-background: color-mix(in srgb, currentColor 7%, var(--gnome-tabbar-background)); + --gnome-tabbar-tab-active-background: color-mix(in srgb, currentColor 10%, var(--gnome-tabbar-background)); + --gnome-tabbar-tab-active-background-contrast: color-mix(in srgb, currentColor 20%, var(--gnome-tabbar-background)); + --gnome-tabbar-tab-active-hover-background: color-mix(in srgb, currentColor 13%, var(--gnome-tabbar-background)); + --gnome-tabbar-tab-needs-attetion: var(--gnome-palette-blue-2); + + --gnome-tabbar-identity-color-blue: var(--gnome-accent); + --gnome-tabbar-identity-color-turquoise: #00c79a; + --gnome-tabbar-identity-color-green: var(--gnome-palette-green-5); + --gnome-tabbar-identity-color-yellow: #ae7b03; + --gnome-tabbar-identity-color-orange: var(--gnome-palette-orange-4); + --gnome-tabbar-identity-color-red: var(--gnome-palette-red-3); + --gnome-tabbar-identity-color-pink: #ff4b84; + --gnome-tabbar-identity-color-purple: var(--gnome-palette-purple-4); + + /* Miscellaneous */ + --gnome-shade-color: rgba(0, 0, 6, 0.07); + + /* Text color for Firefox Logo in new private tab */ + --gnome-private-wordmark: #20123A; + /* New private tab background */ + --gnome-private-in-content-page-background: #FAFAFA; + /* Private browsing info box */ + --gnome-private-text-primary-color: #15141A; + + /* Backdrop colors */ + &:-moz-window-inactive { + --gnome-headerbar-background: var(--gnome-window-background) !important; + --gnome-sidebar-background: #f2f2f4; + --gnome-secondary-sidebar-background: #f6f6fa; + --gnome-selection-bg: color-mix(in srgb, var(--gnome-view-color) 10%, transparent); + } + + /* Private browsing colors */ + &[privatebrowsingmode="temporary"] { + /* Headerbar */ + --gnome-headerbar-background: #f1eafa !important; + &:-moz-window-inactive { + --gnome-headerbar-background: #f3eef9 !important; + } + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/extensions/adaptive-tab-bar-colour.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/extensions/adaptive-tab-bar-colour.css new file mode 100644 index 0000000..99ffb7f --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/extensions/adaptive-tab-bar-colour.css @@ -0,0 +1,73 @@ +:root, +:root[privatebrowsingmode="temporary"], +:is(:root, :root[privatebrowsingmode="temporary"]):-moz-window-inactive { + /* Colors */ + --gnome-accent-bg: AccentColor !important; + /* Window */ + --gnome-window-color: var(--lwt-text-color); + --gnome-window-background: var(--lwt-accent-color); + --gnome-sidebar-background: var(--lwt-accent-color); + --gnome-secondary-sidebar-background: var(--sidebar-background-color); + /* Menu */ + --gnome-menu-background: var(--arrowpanel-background); + --gnome-menu-color: var(--lwt-text-color); + /* Header bar */ + --gnome-headerbar-background: var(--toolbar-bgcolor) !important; + /* Toolbars */ + --gnome-toolbar-border-color: transparent; + --gnome-toolbar-background: var(--toolbar-bgcolor); + --gnome-toolbar-icon-fill: var(--toolbarbutton-icon-fill); + /* Entries */ + --gnome-entry-background: var(--toolbar-field-background-color); + --gnome-entry-color: var(--toolbar-field-color); + --gnome-inactive-entry-color: hsl(from var(--gnome-entry-color) h s calc(l + 5%)); + --gnome-entry-focused-border-color: var(--gnome-selection-bg); + /* Tabs */ + --gnome-tabbar-background: var(--gnome-headerbar-background); + --gnome-tabbar-tab-hover-background: color-mix(in oklab, var(--gnome-tabbar-background), var(--lwt-text-color) 10%); + --gnome-tabbar-tab-active-background: var(--tab-selected-bgcolor); + --gnome-tabbar-tab-active-hover-background: color-mix(in oklab, var(--gnome-tabbar-tab-active-background), var(--lwt-text-color) 10%); + + /* 'New Tab' and 'New Private Tab' pages */ + &:has( + tab:where( + [image="chrome://branding/content/icon32.png"], + [image="chrome://browser/skin/privatebrowsing/favicon.svg"] + )[selected] + ) { + --lwt-accent-color: var(--gnome-private-in-content-page-background) !important; + + --lwt-text-color: rgba(0, 0, 0, 0.8) !important; + --sidebar-background-color: #f3f3f3 !important; + + @media (prefers-color-scheme: dark) { + --lwt-text-color: white !important; + --sidebar-background-color: #2a2a2a !important; + } + + --toolbar-bgcolor: var(--lwt-accent-color) !important; + --toolbar-color: var(--lwt-text-color) !important; + --toolbar-field-color: var(--lwt-text-color) !important; + --toolbarbutton-icon-fill: var(--lwt-text-color) !important; + --toolbar-field-focus-background-color: Field !important; + --arrowpanel-background: color-mix(in oklab, var(--toolbar-bgcolor), var(--lwt-text-color) 10%) !important; + --toolbar-field-background-color: var(--arrowpanel-background) !important; + --tab-selected-bgcolor: color-mix(in oklab, var(--gnome-tabbar-background), var(--lwt-text-color) 20%) !important; + --lwt-tab-line-color: var(--tab-selected-bgcolor) !important; + } +} + +.menupopup-arrowscrollbox, window[role="dialog"] { + --gnome-menu-background: Menu; + --gnome-window-color: MenuText; + --gnome-toolbar-icon-fill: MenuText; +} + +.urlbarView-url { + --gnome-headerbar-mix: color-mix(in oklch, var(--gnome-headerbar-background), var(--lwt-text-color) 60%); + --gnome-accent: oklch(from var(--gnome-headerbar-mix) l calc(c + 0.01) h); +} + +#sidebar-launcher-splitter, #sidebar-splitter { + background-color: color-mix(in oklab, var(--lwt-accent-color), var(--lwt-text-color) 10%) !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/gnome-theme.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/gnome-theme.css new file mode 100644 index 0000000..a485386 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/gnome-theme.css @@ -0,0 +1,48 @@ +/* Variables */ +@import "variables.css"; +@import "icons/icons.css"; +@import "colors/light.css"; +@import "colors/dark.css"; +@import "colors/black.css" screen and -moz-pref("gnomeTheme.oledBlack"); + +/* Core */ +@import "parts/toolbox.css"; +@import "parts/headerbar.css"; +@import "parts/csd.css"; +@import "parts/urlbar.css"; +@import "parts/tabsbar.css"; +@import "parts/findbar.css"; +@import "parts/sidebar.css"; +@import "parts/lists.css"; + +@import "parts/buttons.css"; +@import "parts/buttons-fixes.css"; +@import "parts/entries.css"; +@import "parts/controls.css"; +@import "parts/icons.css"; + +@import "parts/popups.css"; +@import "parts/popups-contents.css"; +@import "parts/dialogs.css"; + +@import "parts/remove-white-flash.css"; + +/* Platforms */ +@import "platforms/windows.css" screen and (-moz-platform: windows); + +/* Extensions support */ +@import "extensions/adaptive-tab-bar-colour.css" screen and -moz-pref("gnomeTheme.extensions.adaptiveTabBarColour"); + +/* Optional */ +@import "system-icons.css" screen and -moz-pref("gnomeTheme.systemIcons"); +@import "symbolic-tab-icons.css" screen and -moz-pref("gnomeTheme.symbolicTabIcons"); + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Set theme version text in customization panel */ +#customization-footer::before { + background: url(../icon.svg) no-repeat; + background-size: contain; + content: "Firefox GNOME theme v143"; + padding: 9px 9px 9px 50px; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/bullet-fixed-symbolic.svg b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/bullet-fixed-symbolic.svg new file mode 100644 index 0000000..82e81c5 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/bullet-fixed-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/bullet-symbolic.svg b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/bullet-symbolic.svg new file mode 100644 index 0000000..662fe90 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/bullet-symbolic.svg @@ -0,0 +1,5 @@ + + + + + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/firefox-symbolic.svg b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/firefox-symbolic.svg new file mode 100644 index 0000000..9301eb4 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/firefox-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/select-fixed-symbolic.svg b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/select-fixed-symbolic.svg new file mode 100644 index 0000000..29e0f4f --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/select-fixed-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/select-symbolic.svg b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/select-symbolic.svg new file mode 100644 index 0000000..79e0fdc --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/custom/select-symbolic.svg @@ -0,0 +1,4 @@ + + + + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/gen_icons_css.py b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/gen_icons_css.py new file mode 100644 index 0000000..afb0a27 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/gen_icons_css.py @@ -0,0 +1,125 @@ +# Generate stylesheet with GNOME SVG icons as CSS variables. +# +# Fetch icons from official git repos and convert them to inline CSS variables +# adding support for reoloring in Firefox in the process. +# +# Git is required to run the script. +# +# Partially inspired by https://gitlab.gnome.org/World/design/icon-library/-/blob/master/update-icons.py + +import glob +import json +import logging +import os +import shutil +import subprocess +import xml.etree.ElementTree as ET +from typing import TypedDict +from urllib.parse import quote + +ABS_PATH = os.path.dirname(os.path.abspath(__file__)) +ICONS_FILE = os.path.join(ABS_PATH, "icons.json") +CSS_FILE = os.path.join(ABS_PATH, "icons.css") +ICONS_REPO_URL = "https://gitlab.gnome.org/GNOME/adwaita-icon-theme.git" +ICONS_REPO_PATH = os.path.join(ABS_PATH, "adwaita-icon-theme") +ICONS_KIT_REPO_URL = ( + "https://gitlab.gnome.org/Teams/Design/icon-development-kit-www.git" +) +ICONS_KIT_REPO_PATH = os.path.join(ABS_PATH, "icon-development-kit-www") + +ET.register_namespace("", "http://www.w3.org/2000/svg") + + +class IconsDefinition(TypedDict): + icons: list[str] + + +def main(): + # Get icons repositories + if not os.path.exists(ICONS_REPO_PATH): + subprocess.call(["git", "clone", "--depth", "1", ICONS_REPO_URL], cwd=ABS_PATH) + if not os.path.exists(ICONS_KIT_REPO_PATH): + subprocess.call( + ["git", "clone", "--depth", "1", ICONS_KIT_REPO_URL], cwd=ABS_PATH + ) + + # Get icons name to path mappings + icon_paths = { + **lookup_icons(f"{ICONS_KIT_REPO_PATH}/img/symbolic"), # Extra GNOME icons kit + **lookup_icons(f"{ICONS_REPO_PATH}/Adwaita/symbolic"), # Core GNOME icons + **lookup_icons(f"{ABS_PATH}/custom", False), # Custom icons + } + + # Load definition of icons needed by the theme + with open(ICONS_FILE, "r") as f: + icons_def: IconsDefinition = json.load(f) + + # Process icons SVGs for CSS + icons_svg: dict[str, str] = {} + for icon in icons_def["icons"]: + if icon not in icon_paths: + logging.warning(f"No icon file found for '{icon}'") + continue + + text = process_svg(icon_paths[icon]) + svg = quote(text, safe=" =:/'") # URL encode the icon, omitting some characters + icons_svg[icon] = svg + + # Write CSS file + with open(CSS_FILE, "w") as css: + css.write(":root {\n") + for name, svg in icons_svg.items(): + css.write(f'\t--gnome-icon-{name}: url("data:image/svg+xml,{svg}");\n') + css.write("}") + + # Remove repos dirs + shutil.rmtree(ICONS_REPO_PATH) + shutil.rmtree(ICONS_KIT_REPO_PATH) + + +def lookup_icons(icons_folder: str, has_subdirs=True) -> dict[str, str]: + lookup: dict[str, str] = {} + + for path in glob.glob( + f"{icons_folder}/{'**/' if has_subdirs else ''}*-symbolic.svg" + ): + filename = os.path.basename(path) + name = filename.replace(".svg", "") + lookup[name] = path + + return lookup + + +def process_svg(filename: str) -> str: + """ + Process SVG's XML to be one liner and add Mozilla's SVG coloring properties + """ + tree = ET.parse(filename) + root = tree.getroot() + + # Set context-* values for fill and fill-opacity + # Needed for icon recolor from CSS + for tag in ("{http://www.w3.org/2000/svg}g", "{http://www.w3.org/2000/svg}path"): + for elem in root.iter(tag): + if "class" not in elem.attrib: # Paths with class name are colored overlays + if "fill" in elem.attrib: + elem.set("fill", "context-fill") + elem.set("fill-opacity", "context-fill-opacity") + if "stroke" in elem.attrib: + elem.set("stroke", "context-stroke") + elem.set("stroke-opacity", "context-stroke-opacity") + + # Strip line breasks and indentation + for elem in root.iter("*"): + if elem.text is not None: + elem.text = elem.text.strip() + if elem.tail is not None: + elem.tail = elem.tail.strip() + + text = ET.tostring(root, "unicode") + text = text.replace('"', "'") # Use single quotes + + return text + + +main() diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/icons.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/icons.css new file mode 100644 index 0000000..246c376 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/icons.css @@ -0,0 +1,66 @@ +:root { + --gnome-icon-application-x-addon-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7.03125 0.015625 c -1.109375 0 -2 0.890625 -2 2 v 1 h -3.015625 c -1.109375 0 -2 0.890625 -2 2 v 2 h 1.015625 c 1.105469 0 2 0.890625 2 2 s -0.894531 2 -2 2 h -1.015625 v 2.988281 c 0 1.105469 0.890625 2 2 2 h 3.015625 v -0.988281 c 0 -1.109375 0.890625 -2 2 -2 c 1.105469 0 2 0.890625 2 2 v 0.988281 h 2 c 1.105469 0 2 -0.894531 2 -2 v -2.988281 h 1 c 1.105469 0 2 -0.890625 2 -2 s -0.894531 -2 -2 -2 h -1 v -2 c 0 -1.109375 -0.894531 -2 -2 -2 h -2 v -1 c 0 -1.109375 -0.894531 -2 -2 -2 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-applications-engineering-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 7.996094 8 c -3.996094 0 -5.996094 3 -5.996094 6 h -1.75 c -0.25 0 -0.25 0.15625 -0.25 0.25 v 1.5 c 0 0.25 0.136719 0.25 0.25 0.25 h 15.492188 c 0.195312 0.007812 0.25 -0.128906 0.25 -0.25 v -1.5 c 0.023437 -0.144531 0 -0.25 -0.25 -0.25 h -1.746094 c 0 -3 -2 -6 -6 -6 z m 0 3 c 2.351562 0 3 1.761719 3 3 h -5.996094 c 0 -1.199219 0.699219 -3 2.996094 -3 z m 0 0' fill-rule='evenodd' /%3E%3Cpath d='m 14.988281 0.601562 c -0.28125 -0.242187 -0.625 -0.421874 -0.964843 -0.5624995 l -0.023438 2.2304685 c -0.003906 0.460938 -0.453125 0.730469 -1.003906 0.730469 h -1 c -0.554688 -0.007812 -1.003906 -0.308594 -1 -0.769531 l 0.023437 -2.230469 c -0.347656 0.132812 -0.691406 0.304688 -0.976562 0.535156 c -1.378907 1.117188 -1.398438 2.949219 -0.042969 4.097656 c 0.285156 0.242188 0.625 0.421876 0.96875 0.5625 c 0.027344 0.011719 0.027344 2.054688 0.027344 2.054688 c 1.488281 0.75 2.351562 1.75 3 2.75 v -4.75 c 0.34375 -0.132812 0.664062 -0.320312 0.953125 -0.550781 c 1.378906 -1.117188 1.394531 -2.949219 0.039062 -4.097657 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-audio-volume-muted-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 7 1.007812 c -0.296875 -0.003906 -0.578125 0.125 -0.769531 0.351563 l -3.230469 3.640625 h -1 c -1.09375 0 -2 0.84375 -2 2 v 2 c 0 1.089844 0.910156 2 2 2 h 1 l 3.230469 3.640625 c 0.210937 0.253906 0.492187 0.363281 0.769531 0.359375 z m 0 0' /%3E%3Cpath d='m 10 5 c -0.265625 0 -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 1.292969 1.292969 l -1.292969 1.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 s 1.023437 0.390625 1.414062 0 l 1.292969 -1.292969 l 1.292969 1.292969 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 s 0.390625 -1.023437 0 -1.414062 l -1.292969 -1.292969 l 1.292969 -1.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 l -1.292969 1.292969 l -1.292969 -1.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-audio-speakers-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 12.039062 0.00390625 c -0.257812 -0.01171875 -0.523437 0.07421875 -0.726562 0.28124975 l -3.3125 3.292969 v 1.421875 h 1.390625 l 3.304687 -3.300781 c 0.40625 -0.402344 0.359376 -1.039063 0.03125 -1.390625 c -0.175781 -0.183594 -0.429687 -0.292969 -0.6875 -0.30468775 z m -5.039062 1.00390575 c -0.296875 -0.003906 -0.578125 0.125 -0.769531 0.351563 l -3.230469 3.640625 h -1 c -1.09375 0 -2 0.84375 -2 2 v 2 c 0 1.089844 0.910156 2 2 2 h 1 l 3.230469 3.640625 c 0.210937 0.253906 0.492187 0.363281 0.769531 0.359375 z m 1 5.992188 v 2 h 6 c 0.75 0 1 -0.5 1 -1 s -0.25 -1 -1 -1 z m 0 4 v 1.421875 l 3.324219 3.292969 c 0.402343 0.410156 1.0625 0.347656 1.414062 -0.023438 c 0.328125 -0.351562 0.371094 -0.988281 -0.03125 -1.390625 l -3.316406 -3.300781 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-build-configure-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8.140625 0.273438 c -1.15625 0.007812 -2.515625 0.300781 -3.894531 0.878906 c -0.238282 0.175781 -0.332032 0.484375 -0.234375 0.761718 c 0.101562 0.273438 0.371093 0.453126 0.660156 0.441407 c 0.9375 -0.039063 2.316406 0.222656 2.976563 0.882812 c 0.273437 0.265625 0.828124 0.792969 0.210937 1.417969 c -0.25 0.238281 -1.089844 1.066406 -1.089844 1.066406 l 1.40625 1.40625 c 0.957031 -0.734375 2.121094 -1.132812 3.324219 -1.136718 c 1.410156 0 2.765625 0.542968 3.785156 1.515624 l 0.355469 -0.355468 c 0.394531 -0.390625 0.394531 -1.027344 0 -1.417969 v 0.003906 l -0.480469 -0.480469 c -0.128906 -0.128906 -0.660156 -0.304687 -0.921875 -0.042968 c -0.265625 0.253906 -0.679687 0.253906 -0.945312 0 c -0.1875 -0.1875 -0.25 -0.46875 -0.152344 -0.71875 c 0.214844 -0.5 0.105469 -0.964844 -0.175781 -1.246094 c -0.957032 -0.960938 -1.625 -1.65625 -2.183594 -2.167969 c -0.542969 -0.546875 -1.484375 -0.816406 -2.640625 -0.808593 z m -2.3125 6.375 l -5.296875 5.273437 c -0.375 0.371094 -0.5039062 0.566406 -0.5039062 1.097656 c 0.0273437 1.089844 0.9101562 1.972657 2.0000002 2 c 0.347656 0 0.648437 -0.25 1.019531 -0.621093 l 2.957031 -2.953126 c 0.011719 -1.242187 0.449219 -2.445312 1.230469 -3.410156 z m 5.609375 1.273437 c -0.40625 0 -0.792969 0.089844 -1.15625 0.21875 l 1.90625 1.90625 c 0.394531 0.390625 0.394531 1.011719 0 1.40625 l -0.71875 0.75 c -0.394531 0.390625 -1.011719 0.390625 -1.40625 0 l -1.9375 -1.9375 c -0.125 0.359375 -0.21875 0.75 -0.21875 1.15625 c 0 1.9375 1.585938 3.53125 3.53125 3.53125 c 0.410156 0 0.792969 -0.09375 1.15625 -0.21875 l 1.21875 1.1875 c 0.023438 -0.003906 0.042969 -0.003906 0.0625 0 l 2.09375 -2.09375 l -1.21875 -1.21875 c 0.128906 -0.363281 0.21875 -0.785156 0.21875 -1.1875 c 0 -1.941406 -1.582031 -3.5 -3.53125 -3.5 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-bullet-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='14' width='14'%3E%3Cg style='display:inline'%3E%3Cpath d='M388 342c-2.207 0-4 1.793-4 4s1.793 4 4 4c2.208 0 4-1.793 4-4s-1.792-4-4-4z' transform='translate%28-381 -339%29' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-chain-link-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 4 11.992188 c -2.199219 0 -4 -1.800782 -4 -4 c 0 -2.199219 1.800781 -4 4 -4 h 3 c 2.199219 0 4 1.800781 4 4 c 0 1.640624 -0.996094 3.070312 -2.421875 3.679687 l -0.785156 -1.839844 c 0.710937 -0.304687 1.207031 -1 1.207031 -1.839843 c 0 -1.125 -0.875 -2 -2 -2 h -3 c -1.125 0 -2 0.875 -2 2 s 0.875 2 2 2 z m 0 0' /%3E%3Cpath d='m 9 13.992188 c -2.199219 0 -4 -1.800782 -4 -4 c 0 -1.621094 0.964844 -3.03125 2.367188 -3.65625 l 0.816406 1.828124 c -0.699219 0.3125 -1.183594 1 -1.183594 1.828126 c 0 1.125 0.875 2 2 2 h 3 c 1.125 0 2 -0.875 2 -2 s -0.875 -2 -2 -2 v -2 c 2.199219 0 4 1.800781 4 4 c 0 2.199218 -1.800781 4 -4 4 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-channel-insecure-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8 0 c -2.199219 0 -4 1.800781 -4 4 v 1 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -1 c 0 -1.125 0.875 -2 2 -2 s 2 0.875 2 2 v 3 h 2 v -3 c 0 -2.199219 -1.800781 -4 -4 -4 z m -4 8 c -1.109375 0 -2 0.890625 -2 2 v 5 c 0 0.554688 0.445312 1 1 1 h 4 v -8 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3Cpath d='m 9.5 8 c -0.832031 0 -1.5 0.667969 -1.5 1.5 v 5 c 0 0.832031 0.667969 1.5 1.5 1.5 h 5 c 0.832031 0 1.5 -0.667969 1.5 -1.5 v -5 c 0 -0.832031 -0.667969 -1.5 -1.5 -1.5 z m 1.5 1 h 2 v 2.5 s 0 0.5 -0.5 0.5 h -1 c -0.5 0 -0.5 -0.5 -0.5 -0.5 z m 0.5 4 h 1 c 0.277344 0 0.5 0.222656 0.5 0.5 v 1 c 0 0.277344 -0.222656 0.5 -0.5 0.5 h -1 c -0.277344 0 -0.5 -0.222656 -0.5 -0.5 v -1 c 0 -0.277344 0.222656 -0.5 0.5 -0.5 z m 0 0' class='warning' fill='%23ff7800' /%3E%3C/svg%3E"); + --gnome-icon-channel-secure-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8 1 c -2.199219 0 -4 1.800781 -4 4 v 2 c -1.109375 0 -2 0.890625 -2 2 v 5 c 0 0.554688 0.445312 1 1 1 h 10 c 0.554688 0 1 -0.445312 1 -1 v -5 c 0 -1.109375 -0.890625 -2 -2 -2 v -2 c 0 -2.199219 -1.800781 -4 -4 -4 z m 0 2 c 1.125 0 2 0.875 2 2 v 2 h -4 v -2 c 0 -1.125 0.875 -2 2 -2 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-chat-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 13.5 1.988281 c 1.382812 0 2.503906 1.117188 2.5 2.5 v 6 c 0 1.386719 -1.113281 2.5 -2.5 2.5 h -6.375 l -3.125 3 v -3 h -1.5 c -1.5 0 -2.5 -1.3125 -2.5 -2.5 v -6 c 0 -1.382812 1.113281 -2.5 2.5 -2.5 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-edit-clear-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7 2 c -0.832031 0 -1.558594 0.34375 -2.292969 0.78125 s -1.464843 1.003906 -2.128906 1.597656 c -0.660156 0.597656 -1.253906 1.222656 -1.707031 1.796875 c -0.226563 0.289063 -0.417969 0.5625 -0.570313 0.835938 c -0.152343 0.277343 -0.300781 0.53125 -0.300781 0.988281 s 0.148438 0.710938 0.300781 0.984375 c 0.152344 0.277344 0.34375 0.550781 0.570313 0.835937 c 0.453125 0.578126 1.046875 1.203126 1.707031 1.796876 c 0.664063 0.597656 1.394531 1.164062 2.128906 1.601562 s 1.460938 0.78125 2.292969 0.78125 h 6 c 1.644531 0 3 -1.355469 3 -3 v -6 c 0 -1.644531 -1.355469 -3 -3 -3 z m 1 3 c 0.265625 0 0.519531 0.105469 0.707031 0.292969 l 1.292969 1.292969 l 1.292969 -1.292969 c 0.1875 -0.1875 0.441406 -0.292969 0.707031 -0.292969 s 0.519531 0.105469 0.707031 0.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 l -1.292969 1.292969 l 1.292969 1.292969 c 0.390625 0.390625 0.390625 1.023437 0 1.414062 s -1.023437 0.390625 -1.414062 0 l -1.292969 -1.292969 l -1.292969 1.292969 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 s -0.390625 -1.023437 0 -1.414062 l 1.292969 -1.292969 l -1.292969 -1.292969 c -0.390625 -0.390625 -0.390625 -1.023437 0 -1.414062 c 0.1875 -0.1875 0.441406 -0.292969 0.707031 -0.292969 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-edit-copy-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 0 3 c 0 -1.644531 1.355469 -3 3 -3 h 5 c 1.644531 0 3 1.355469 3 3 c 0 0.550781 -0.449219 1 -1 1 s -1 -0.449219 -1 -1 c 0 -0.570312 -0.429688 -1 -1 -1 h -5 c -0.570312 0 -1 0.429688 -1 1 v 5 c 0 0.570312 0.429688 1 1 1 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 c -1.644531 0 -3 -1.355469 -3 -3 z m 5 5 c 0 -1.644531 1.355469 -3 3 -3 h 5 c 1.644531 0 3 1.355469 3 3 v 5 c 0 1.644531 -1.355469 3 -3 3 h -5 c -1.644531 0 -3 -1.355469 -3 -3 z m 2 0 v 5 c 0 0.570312 0.429688 1 1 1 h 5 c 0.570312 0 1 -0.429688 1 -1 v -5 c 0 -0.570312 -0.429688 -1 -1 -1 h -5 c -0.570312 0 -1 0.429688 -1 1 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-edit-cut-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 12.066406 1 c -0.085937 -0.003906 -0.171875 0 -0.257812 0.015625 c -0.261719 0.054687 -0.492188 0.207031 -0.636719 0.425781 l -2.398437 3.558594 h 2.414062 l 1.640625 -2.441406 c 0.148437 -0.21875 0.203125 -0.488282 0.152344 -0.75 c -0.050781 -0.261719 -0.203125 -0.492188 -0.421875 -0.640625 c -0.144532 -0.097657 -0.316406 -0.152344 -0.492188 -0.167969 z m -9.066406 1 c -1.648438 0 -3 1.351562 -3 3 s 1.351562 3 3 3 h 3.753906 l -1.585937 2.355469 l -0.652344 0.96875 l -0.0625 0.097656 c -0.003906 0.003906 -0.007813 0.007813 -0.007813 0.011719 c -0.28125 0.457031 -0.445312 0.992187 -0.445312 1.566406 c 0 1.648438 1.351562 3 3 3 s 3 -1.351562 3 -3 c 0 -1.386719 -0.960938 -2.566406 -2.25 -2.902344 l 1.417969 -2.097656 h 5.832031 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -9.171875 c 0.109375 -0.3125 0.171875 -0.648438 0.171875 -1 c 0 -1.648438 -1.351562 -3 -3 -3 z m 0 1.5 c 0.050781 0 0.101562 0.003906 0.152344 0.007812 c 0.042968 0.003907 0.082031 0.011719 0.121094 0.019532 c 0.046874 0.007812 0.09375 0.015625 0.136718 0.03125 c 0.503906 0.136718 0.894532 0.527344 1.03125 1.03125 c 0.015625 0.042968 0.023438 0.089844 0.03125 0.136718 c 0.007813 0.039063 0.015625 0.078126 0.019532 0.121094 v 0.003906 c 0.003906 0.046876 0.007812 0.097657 0.007812 0.148438 c 0 0.132812 -0.015625 0.257812 -0.050781 0.382812 v 0.011719 c -0.035157 0.125 -0.085938 0.246094 -0.148438 0.355469 c -0.054687 0.089844 -0.113281 0.171875 -0.179687 0.25 h -0.011719 c -0.285156 0.316406 -0.6875 0.496094 -1.109375 0.5 c -0.136719 0 -0.265625 -0.019531 -0.390625 -0.050781 c -0.519531 -0.136719 -0.921875 -0.539063 -1.058594 -1.0625 c -0.03125 -0.121094 -0.050781 -0.25 -0.050781 -0.386719 s 0.019531 -0.265625 0.050781 -0.386719 c 0.136719 -0.523437 0.539063 -0.925781 1.058594 -1.0625 c 0.125 -0.03125 0.253906 -0.050781 0.390625 -0.050781 z m 4 8 c 0.050781 0 0.101562 0.003906 0.152344 0.007812 c 0.042968 0.003907 0.082031 0.011719 0.121094 0.019532 c 0.046874 0.007812 0.09375 0.015625 0.136718 0.03125 c 0.503906 0.136718 0.894532 0.527344 1.03125 1.03125 c 0.015625 0.042968 0.023438 0.089844 0.03125 0.136718 c 0.007813 0.039063 0.015625 0.078126 0.019532 0.121094 v 0.003906 c 0.003906 0.046876 0.007812 0.097657 0.007812 0.148438 c 0 0.136719 -0.019531 0.265625 -0.050781 0.386719 c -0.136719 0.523437 -0.539063 0.925781 -1.058594 1.0625 c -0.125 0.03125 -0.253906 0.050781 -0.390625 0.050781 s -0.265625 -0.019531 -0.390625 -0.050781 c -0.519531 -0.136719 -0.921875 -0.539063 -1.058594 -1.0625 c -0.03125 -0.121094 -0.050781 -0.25 -0.050781 -0.386719 c 0 -0.019531 0 -0.039062 0.003906 -0.054688 c 0 -0.003906 0.003906 -0.003906 0.003906 -0.003906 c 0.035157 -0.71875 0.570313 -1.308594 1.28125 -1.414062 l 0.011719 -0.015625 c 0.0625 -0.007813 0.128907 -0.011719 0.199219 -0.011719 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-edit-find-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 6.5 0 c -3.578125 0 -6.5 2.921875 -6.5 6.5 s 2.921875 6.5 6.5 6.5 c 1.429688 0 2.753906 -0.46875 3.828125 -1.257812 l 2.945313 2.945312 c 0.957031 0.9375 2.363281 -0.5 1.40625 -1.4375 l -2.929688 -2.929688 c 0.785156 -1.074218 1.25 -2.394531 1.25 -3.820312 c 0 -3.578125 -2.921875 -6.5 -6.5 -6.5 z m 0 2 c 2.496094 0 4.5 2.003906 4.5 4.5 s -2.003906 4.5 -4.5 4.5 s -4.5 -2.003906 -4.5 -4.5 s 2.003906 -4.5 4.5 -4.5 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-edit-paste-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7 0 c -0.554688 0 -1 0.445312 -1 1 h -2 c -1.644531 0 -3 1.355469 -3 3 v 9 c 0 1.644531 1.355469 3 3 3 h 8 c 1.644531 0 3 -1.355469 3 -3 v -9 c 0 -1.644531 -1.355469 -3 -3 -3 h -2 c 0 -0.554688 -0.445312 -1 -1 -1 z m -3 3 h 1 v 1 c 0 0.554688 0.445312 1 1 1 h 4 c 0.554688 0 1 -0.445312 1 -1 v -1 h 1 c 0.570312 0 1 0.429688 1 1 v 9 c 0 0.570312 -0.429688 1 -1 1 h -8 c -0.570312 0 -1 -0.429688 -1 -1 v -9 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-eye-not-looking-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 13.980469 1.988281 c -0.261719 0.007813 -0.507813 0.117188 -0.6875 0.304688 l -0.984375 0.984375 c -1.285156 -0.828125 -2.78125 -1.273438 -4.308594 -1.277344 c -3.648438 0.003906 -6.832031 2.476562 -7.738281 6.011719 c 0.460937 1.746093 1.496093 3.285156 2.941406 4.371093 l -0.910156 0.910157 c -0.261719 0.25 -0.367188 0.625 -0.273438 0.972656 c 0.089844 0.351563 0.363281 0.625 0.714844 0.714844 c 0.347656 0.09375 0.722656 -0.011719 0.972656 -0.273438 l 11 -11 c 0.296875 -0.289062 0.382813 -0.726562 0.222657 -1.105469 c -0.160157 -0.382812 -0.539063 -0.625 -0.949219 -0.613281 z m -5.980469 2.011719 c 0.957031 0 1.886719 0.347656 2.609375 0.976562 l -1.417969 1.417969 c -0.34375 -0.257812 -0.761718 -0.394531 -1.191406 -0.394531 c -1.105469 0 -2 0.894531 -2 2 c 0 0.429688 0.140625 0.847656 0.394531 1.1875 l -1.417969 1.421875 c -0.628906 -0.726563 -0.972656 -1.652344 -0.976562 -2.609375 c 0 -2.210938 1.789062 -4 4 -4 z m 7.027344 2.207031 l -3.34375 3.34375 c -0.402344 0.960938 -1.167969 1.722657 -2.125 2.128907 l -2.28125 2.277343 c 0.242187 0.027344 0.480468 0.039063 0.722656 0.042969 c 3.648438 -0.003906 6.832031 -2.476562 7.738281 -6.011719 c -0.164062 -0.617187 -0.402343 -1.214843 -0.710937 -1.78125 z m -7.527344 0.792969 c 0.277344 0 0.5 0.222656 0.5 0.5 s -0.222656 0.5 -0.5 0.5 s -0.5 -0.222656 -0.5 -0.5 s 0.222656 -0.5 0.5 -0.5 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-firefox-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' version='1.1'%3E%3Cpath fill='context-fill' d='m15.728 5.8949v-0.0051c-0.0114-0.04333-0.02338-0.08666-0.03592-0.12942l-0.0051-0.01938-0.03592-0.1203-0.0086-0.02623c-0.01197-0.03877-0.02395-0.07697-0.03649-0.11403-0.0034-0.01026-0.0068-0.02053-0.0097-0.03079-0.01254-0.03706-0.02509-0.07412-0.0382-0.11118-0.0034-0.01083-0.0074-0.02167-0.0114-0.0325-0.01254-0.03649-0.02566-0.07298-0.03934-0.1089-0.0034-0.01083-8e-3 -0.02166-0.01197-0.0325l-0.04105-0.1089c-4e-3 -0.0091-8e-3 -0.01825-0.0114-0.02794-0.0034-0.0097-0.0086-0.0211-0.01254-0.03193l-0.0325-0.08039-0.0051-0.0114c-0.05131-0.12429-0.10586-0.24687-0.16363-0.36774-0.0034-0.0086-0.0074-0.01653-0.0114-0.02452-0.01368-0.02908-0.02794-0.05701-0.04219-0.08666l-0.02566-0.05131c-0.01254-0.02566-0.02623-0.05131-0.03934-0.07697l-0.03079-0.05701c-0.01254-0.02452-0.02566-0.04846-0.0382-0.07241l-0.03421-0.06272-0.0382-0.06842-0.07526-0.13c-0.01368-0.02224-0.0268-0.04447-0.03991-0.06671l-0.0382-0.06272-0.04276-0.06842-0.03763-0.05701-0.04561-0.0707-0.03706-0.05701-0.05017-0.07355-0.03535-0.05131c-0.01881-0.02737-0.0382-0.05701-0.05701-0.08153-0.01026-0.01368-0.01996-0.02794-0.03022-0.04219-0.02908-0.04048-0.05701-0.08096-0.08951-0.12144-0.2306-0.30279-0.48269-0.5886-0.7543-0.85522-0.18898-0.1946-0.39028-0.37685-0.60264-0.54563-0.12258-0.10605-0.25086-0.20582-0.382-0.30046-0.2608-0.19527-0.53929-0.36573-0.83184-0.50914-0.06956-0.03592-0.13968-0.07184-0.21038-0.10605-0.56932-0.27971-1.1694-0.49191-1.788-0.63229-0.08267-0.01767-0.16477-0.03421-0.24801-0.0496-0.41364-0.07929-0.83324-0.12354-1.2543-0.13235h-0.17731c-0.54875-0.0023-1.0962 0.0529-1.6335 0.16485-1.1369 0.23889-2.1363 0.72978-2.7686 1.3433h0.0029l0.0046-0.0034h4e-3l0.0086-0.0057c0.47265-0.28507 1.1249-0.51313 1.5913-0.63058l0.07754-0.01882c0.0878-0.02109 0.17788-0.04048 0.27139-0.05701l0.07754-0.01483c2.0668-0.37629 4.2709 0.2406 5.8058 1.7104 0.33237 0.31459 0.62339 0.67017 0.86605 1.0582 0.97894 1.5884 0.886 3.5845 0.12258 4.7618-0.56672 0.87517-1.7811 1.6956-2.9146 1.6865l0.06899 0.0034h-0.04561l-0.07013-0.0029c-0.5047-0.023581-0.99899-0.15172-1.4516-0.37629-1.7538-0.89512-2.0149-3.1255-0.74632-4.2037-0.42134-0.09065-1.2127 0.08666-1.764 0.90881-0.49431 0.7372-0.46638 1.8769-0.16135 2.6854-0.19508-0.39846-0.32757-0.82461-0.39283-1.2634-0.38314-2.5805 1.288-4.7932 2.8878-5.4403l0.03364-0.01311 0.04333-0.01654 0.07754-0.02794c-0.36033-0.31415-0.94131-0.49203-1.6146-0.51313-0.92933-0.02623-2.0348 0.24972-2.9818 0.88657-0.05663 0.03801-0.11251 0.07735-0.16762 0.11802-0.03421 0.02509-0.06785 0.05074-0.10149 0.0764l-0.03136 0.02452-0.06842 0.05701-0.03535 0.02908c-0.02224 0.01767-0.04333 0.03592-0.065 0.05701l-0.03364 0.02851-0.07526 0.06671-0.01938 0.0171-0.09293 0.06956-0.03136 0.03079-0.05701 0.05701-0.03649 0.03706c-0.01767 0.01767-0.03478 0.03535-0.05188 0.05359l-0.03649 0.03877-0.05245 0.05701c-0.01083 0.01197-0.02224 0.02395-0.03307 0.03649-0.02566 0.02908-0.05131 0.05701-0.07697 0.08837l-0.03649 0.04333-0.04276 0.05131-0.03934 0.0496-0.03763 0.04732-0.04048 0.05302-0.03364 0.04504-0.04105 0.05701-0.02338 0.0325c-0.02851 0.04105-0.05701 0.0821-0.08495 0.12372l-0.02395 0.03535-0.04276 0.06614c-8e-3 0.01254-0.01596 0.02452-0.02338 0.03706-0.01425 0.0228-0.02851 0.04561-0.04219 0.06842l-0.02052 0.03364-0.0439 0.07412c-0.0011 0.0024-0.0025 0.0047-4e-3 0.0068-0.03592 0.06214-0.0707 0.12543-0.10434 0.18929-0.01483 0.02794-0.02908 0.05701-0.04333 0.08438l-0.01254 0.02509c-0.01406 0.02775-0.02775 0.05568-0.04105 0.08381l-0.0114 0.02338c-0.06158 0.12942-0.11859 0.26227-0.17104 0.3991-0.0017 0.0047-0.0036 0.0092-0.0057 0.01368-0.01197 0.03193-0.02395 0.06386-0.03535 0.09578-0.0029 0.0063-0.0051 0.01254-0.0074 0.01881-0.0114 0.0325-0.02337 0.06557-0.03478 0.09863v0.0029c-0.02452 0.07241-0.04846 0.14539-0.07127 0.21951 0.04241-0.44133 0.13088-0.87701 0.26398-1.2999v-0.0091c0.0074-0.02452 0.01539-0.0496 0.02338-0.07412 0-0.0063 0.0034-0.01197 0.0057-0.01825 0.0068-0.02281 0.01425-0.04504 0.02167-0.06785l0.0086-0.02509 0.0211-0.06329c0.0034-0.01026 0.0068-0.02053 0.01083-0.03079l0.02053-0.05701 0.01254-0.03592 0.02053-0.05701c0.0046-0.01311 0.0097-0.02623 0.01483-0.03991 0.0051-0.01368 0.01311-0.03478 0.01938-0.05245l0.0171-0.0439c0.0063-0.0171 0.01254-0.03364 0.01938-0.05017l0.01882-0.04789 0.01882-0.04675 0.02109-0.05131c0.0063-0.01483 0.01254-0.02965 0.01825-0.04447l0.02395-0.05701c0.0057-0.01368 0.0114-0.02737 0.01767-0.04105 0.0063-0.01368 0.0171-0.03934 0.02566-0.05701l0.0171-0.0382c0.0091-0.02167 0.01938-0.04276 0.02908-0.06443l0.01539-0.03307c0.01083-0.02452 0.0228-0.04903 0.03421-0.07355l0.0114-0.02395 0.04447-0.09179 0.0034-0.0068 0.05017-0.10034c-0.2031 0.11441-0.3878 0.25876-0.54791 0.42818l-0.05701 0.05701c-0.42041 0.45169-0.75985 0.97244-1.0035 1.5394-0.38656 0.93047-0.57984 2.0012-0.57591 3.0725 0.0013 0.31857 0.02037 0.63683 0.05708 0.95328 0 0.01653 4e-3 0.03307 0.0057 0.0496 0.0091 0.08096 0.01825 0.16192 0.02851 0.24231v0.0171c0.50011 2.9068 2.5569 5.3039 5.354 6.2397s5.8823 0.25921 8.031-1.7614 3.0135-5.0584 2.2511-7.9077z' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-folder-download-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7.984375 0 c -0.550781 0 -1 0.449219 -1 1 v 8.585938 l -2.292969 -2.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 4 4 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 4 -4 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 l -2.292969 2.292969 v -8.585938 c 0 -0.550781 -0.449219 -1 -1 -1 z m -6 14 v 2 h 12 v -2 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-folder-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 2.96875 1.003906 c -1.644531 0 -3 1.355469 -3 3 v 8 c 0 1.644532 1.355469 3 3 3 h 10 c 1.644531 0 3 -1.355468 3 -3 v -6 c 0 -1.644531 -1.355469 -3 -3 -3 h -3.585938 l -1.707031 -1.707031 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 z m 0 2 h 3.585938 l 1 1 h -5.585938 c 0 -0.5625 0.4375 -1 1 -1 z m -1 2 h 11 c 0.5625 0 1 0.4375 1 1 v 6 c 0 0.5625 -0.4375 1 -1 1 h -10 c -0.5625 0 -1 -0.4375 -1 -1 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-general-properties-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 3.175781 9.996094 h 10.6875 c 0.636719 0 1.15625 0.519531 1.15625 1.15625 v 1.6875 c 0 0.636718 -0.519531 1.15625 -1.15625 1.15625 h -10.6875 c -0.640625 0 -1.15625 -0.519532 -1.15625 -1.15625 v -1.6875 c 0 -0.636719 0.515625 -1.15625 1.15625 -1.15625 z m 0 0' /%3E%3Cpath d='m 9.175781 4.996094 c -0.640625 0 -1.15625 0.515625 -1.15625 1.15625 v 1.6875 c 0 0.640625 0.515625 1.15625 1.15625 1.15625 h 4.6875 c 0.640625 0 1.15625 -0.515625 1.15625 -1.15625 v -1.6875 c 0 -0.640625 -0.515625 -1.15625 -1.15625 -1.15625 z m -0.046875 1 h 4.78125 c 0.058594 0 0.109375 0.046875 0.109375 0.109375 v 1.78125 c 0 0.0625 -0.050781 0.109375 -0.109375 0.109375 h -4.78125 c -0.0625 0 -0.109375 -0.046875 -0.109375 -0.109375 v -1.78125 c 0 -0.0625 0.046875 -0.109375 0.109375 -0.109375 z m 0 0' /%3E%3Cpath d='m 7.523438 1.878906 l -3.5 3.5 l -1.507813 -1.527344 l -0.996094 0.976563 l 2.496094 2.535156 l 4.496094 -4.5 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-go-down-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 1 5 c 0 -0.265625 0.105469 -0.519531 0.292969 -0.707031 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 l 5.292969 5.292969 l 5.292969 -5.292969 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 c 0.1875 0.1875 0.292969 0.441406 0.292969 0.707031 s -0.105469 0.519531 -0.292969 0.707031 l -6 6 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 l -6 -6 c -0.1875 -0.1875 -0.292969 -0.441406 -0.292969 -0.707031 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-go-next-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 4 2 c 0 -0.265625 0.105469 -0.519531 0.292969 -0.707031 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 l 6 6 c 0.1875 0.1875 0.292969 0.441406 0.292969 0.707031 s -0.105469 0.519531 -0.292969 0.707031 l -6 6 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 c -0.1875 -0.1875 -0.292969 -0.441406 -0.292969 -0.707031 s 0.105469 -0.519531 0.292969 -0.707031 l 5.292969 -5.292969 l -5.292969 -5.292969 c -0.1875 -0.1875 -0.292969 -0.441406 -0.292969 -0.707031 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-go-previous-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 12 2 c 0 -0.265625 -0.105469 -0.519531 -0.292969 -0.707031 c -0.390625 -0.390625 -1.023437 -0.390625 -1.414062 0 l -6 6 c -0.1875 0.1875 -0.292969 0.441406 -0.292969 0.707031 s 0.105469 0.519531 0.292969 0.707031 l 6 6 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 c 0.1875 -0.1875 0.292969 -0.441406 0.292969 -0.707031 s -0.105469 -0.519531 -0.292969 -0.707031 l -5.292969 -5.292969 l 5.292969 -5.292969 c 0.1875 -0.1875 0.292969 -0.441406 0.292969 -0.707031 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-go-up-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 1 11 c 0 -0.265625 0.105469 -0.519531 0.292969 -0.707031 l 6 -6 c 0.390625 -0.390625 1.023437 -0.390625 1.414062 0 l 6 6 c 0.1875 0.1875 0.292969 0.441406 0.292969 0.707031 s -0.105469 0.519531 -0.292969 0.707031 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 l -5.292969 -5.292969 l -5.292969 5.292969 c -0.390625 0.390625 -1.023437 0.390625 -1.414062 0 c -0.1875 -0.1875 -0.292969 -0.441406 -0.292969 -0.707031 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-history-undo-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 8.609375 0.996094 c -0.203125 0 -0.40625 0.003906 -0.609375 0.019531 c -2.421875 0.171875 -4.675781 1.511719 -5.953125 3.691406 l -0.011719 -0.011719 l -0.015625 -0.011718 v -1.6875 c 0 -0.550782 -0.449219 -1 -1 -1 s -0.9999998 0.449218 -0.9999998 1 v 4 c 0 0.550781 0.4492188 1 0.9999998 1 h 4 c 0.550781 0 1 -0.449219 1 -1 c 0 -0.550782 -0.449219 -1 -1 -1 h -1.4375 l -0.011719 -0.007813 l -0.015624 -0.011719 c 0.078124 -0.066406 0.144531 -0.144531 0.203124 -0.230468 c 1.246094 -2.160156 3.777344 -3.207032 6.1875 -2.5625 c 2.40625 0.644531 4.074219 2.816406 4.074219 5.3125 s -1.667969 4.667968 -4.074219 5.3125 c -2.410156 0.644531 -4.941406 -0.402344 -6.1875 -2.5625 c -0.277343 -0.476563 -0.890624 -0.640625 -1.367187 -0.363282 c -0.476563 0.273438 -0.644531 0.886719 -0.367187 1.363282 c 1.695312 2.9375 5.164062 4.371094 8.4375 3.492187 c 3.273437 -0.875 5.558593 -3.851562 5.558593 -7.242187 s -2.285156 -6.367188 -5.558593 -7.242188 c -0.613282 -0.167968 -1.234376 -0.25 -1.851563 -0.257812 z m 0 0' /%3E%3Cpath d='m 8.519531 4.996094 c -0.277343 0 -0.5 0.222656 -0.5 0.5 v 3.207031 l 2.144531 2.148437 c 0.195313 0.191407 0.511719 0.191407 0.707032 0 c 0.195312 -0.195312 0.195312 -0.515624 0 -0.710937 l -1.851563 -1.851563 v -2.792968 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-info-outline-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8 0 c -4.410156 0 -8 3.589844 -8 8 s 3.589844 8 8 8 s 8 -3.589844 8 -8 s -3.589844 -8 -8 -8 z m 0 2 c 3.332031 0 6 2.667969 6 6 s -2.667969 6 -6 6 s -6 -2.667969 -6 -6 s 2.667969 -6 6 -6 z m 0 1.875 c -0.621094 0 -1.125 0.503906 -1.125 1.125 s 0.503906 1.125 1.125 1.125 s 1.125 -0.503906 1.125 -1.125 s -0.503906 -1.125 -1.125 -1.125 z m -1.523438 3.125 c -0.265624 0.011719 -0.476562 0.230469 -0.476562 0.5 c 0 0.277344 0.222656 0.5 0.5 0.5 h 0.5 v 3 h -0.5 c -0.277344 0 -0.5 0.222656 -0.5 0.5 s 0.222656 0.5 0.5 0.5 h 3 c 0.277344 0 0.5 -0.222656 0.5 -0.5 s -0.222656 -0.5 -0.5 -0.5 h -0.5 v -4 h -2.5 c -0.007812 0 -0.015625 0 -0.023438 0 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-key-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 12 1 l -4.300781 4.300781 c -0.542969 -0.199219 -1.117188 -0.300781 -1.699219 -0.300781 c -2.761719 0 -5 2.238281 -5 5 s 2.238281 5 5 5 s 5 -2.238281 5 -5 c 0 -0.835938 -0.210938 -1.65625 -0.609375 -2.390625 l 0.609375 -0.609375 h 2 v -2 h 2 v -4 z m -7 9 c 0.550781 0 1 0.449219 1 1 s -0.449219 1 -1 1 s -1 -0.449219 -1 -1 s 0.449219 -1 1 -1 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-list-add-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7 1 v 6 h -6 v 2 h 6 v 6 h 2 v -6 h 6 v -2 h -6 v -6 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-mail-unread-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 3 2 c -1.644531 0 -3 1.355469 -3 3 v 6 c 0 1.644531 1.355469 3 3 3 h 10 c 1.644531 0 3 -1.355469 3 -3 v -6 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0.800781 2 h 8.394531 l -3.917968 2.613281 c -0.171875 0.113281 -0.382813 0.113281 -0.554688 0 z m -1.800781 1.203125 l 4.613281 3.074219 c 0.835938 0.558594 1.9375 0.558594 2.773438 0 l 4.613281 -3.074219 v 5.796875 c 0 0.570312 -0.429688 1 -1 1 h -10 c -0.570312 0 -1 -0.429688 -1 -1 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-newspaper-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 0 2.992188 v 9 c 0 2.199218 1.800781 4 4 4 h 9 v -0.035157 c 1.71875 -0.25 3.039062 -1.765625 3 -3.539062 v -5.425781 c 0 -1.65625 -1.34375 -3 -3 -3 h -2 v -1 c 0 -1.65625 -1.34375 -3.0000005 -3 -3.0000005 h -5 c -1.65625 0 -3 1.3437505 -3 3.0000005 z m 3 -1 h 5 c 0.550781 0 1 0.449218 1 1 v 9.445312 c 0 0.558594 0.136719 1.082031 0.367188 1.554688 h -5.367188 c -1.117188 0 -2 -0.882813 -2 -2 v -9 c 0 -0.550782 0.449219 -1 1 -1 z m 0 1 v 2 h 5 v -2 z m 0 3 v 1 h 5 v -1 z m 8 0 h 2 c 0.550781 0 1 0.449218 1 1 v 5.46875 c 0.019531 0.835937 -0.621094 1.503906 -1.457031 1.527343 c -0.863281 -0.007812 -1.542969 -0.683593 -1.542969 -1.550781 z m -8 2 v 1 h 5 v -1 z m 0 2 v 1 h 5 v -1 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-non-starred-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8 0 c -0.429688 0 -0.8125 0.273438 -0.949219 0.683594 l -1.449219 4.339844 l -4.589843 -0.015626 c -0.4375 0 -0.828125 0.28125 -0.9609378 0.695313 c -0.1328124 0.417969 0.0195313 0.871094 0.3789068 1.125 l 3.625 2.554687 l -1.5 4.285157 c -0.140626 0.40625 -0.011719 0.855469 0.328124 1.121093 c 0.335938 0.261719 0.804688 0.285157 1.164063 0.050782 l 4.003906 -2.59375 l 3.894531 2.585937 c 0.359376 0.238281 0.828126 0.222657 1.167969 -0.042969 c 0.339844 -0.261718 0.472657 -0.714843 0.332031 -1.117187 l -1.503906 -4.289063 l 3.644532 -2.578124 c 0.351562 -0.25 0.503906 -0.703126 0.371093 -1.113282 c -0.128906 -0.414062 -0.511719 -0.695312 -0.945312 -0.699218 l -4.660157 -0.015626 l -1.402343 -4.285156 c -0.132813 -0.410156 -0.515625 -0.68749975 -0.949219 -0.691406 z m -0.007812 4.1875 l 0.683593 2.097656 c 0.132813 0.40625 0.515625 0.6875 0.945313 0.6875 l 2.253906 0.007813 l -1.703125 1.203125 c -0.363281 0.257812 -0.511719 0.726562 -0.363281 1.148437 l 0.765625 2.191407 l -1.964844 -1.304688 c -0.332031 -0.222656 -0.761719 -0.222656 -1.097656 -0.007812 l -2.101563 1.363281 l 0.785156 -2.242188 c 0.144532 -0.421875 -0.003906 -0.890625 -0.367187 -1.148437 l -1.652344 -1.164063 l 2.144531 0.007813 c 0.429688 0 0.8125 -0.277344 0.949219 -0.683594 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-open-menu-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 1 2 h 14 v 2 h -14 z m 0 0' /%3E%3Cpath d='m 1 7 h 14 v 2 h -14 z m 0 0' /%3E%3Cpath d='m 1 12 h 14 v 2 h -14 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-pan-down-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 3.292969 7.707031 l 4 4 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 l 4 -4 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 l -3.292969 3.292969 l -3.292969 -3.292969 c -0.390625 -0.390625 -1.023437 -0.390625 -1.414062 0 s -0.390625 1.023437 0 1.414062 z m 0 0' fill='context-fill' fill-rule='evenodd' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-pan-end-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7 13 c 0.265625 0 0.519531 -0.101562 0.707031 -0.292969 l 4 -4 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 l -4.003906 -4 c -0.390625 -0.386719 -1.023437 -0.386719 -1.414063 0 c -0.386718 0.394531 -0.386718 1.027343 0.003907 1.414062 l 3.292969 3.292969 l -3.292969 3.292969 c -0.390625 0.390625 -0.390625 1.027343 0 1.414062 c 0.1875 0.191407 0.441406 0.292969 0.707031 0.292969 z m 0 0' fill='context-fill' fill-rule='evenodd' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-pan-start-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8.285156 12.699219 l -3.917968 -4 c -0.378907 -0.390625 -0.378907 -1.007813 0 -1.394531 l 3.917968 -4 c 0.382813 -0.398438 1.015625 -0.40625 1.414063 -0.019532 c 0.394531 0.382813 0.402343 1.015625 0.019531 1.414063 l -3.242188 3.300781 l 3.242188 3.300781 c 0.382812 0.398438 0.375 1.03125 -0.019531 1.417969 c -0.398438 0.382812 -1.03125 0.375 -1.414063 -0.019531 z m 0 0' fill='context-fill' fill-rule='evenodd' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-pan-up-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 3.300781 9.203125 l 4 -3.917969 c 0.390625 -0.378906 1.007813 -0.378906 1.394531 0 l 4 3.917969 c 0.398438 0.382813 0.40625 1.015625 0.019532 1.414063 c -0.382813 0.394531 -1.015625 0.402343 -1.414063 0.019531 l -3.300781 -3.242188 l -3.300781 3.242188 c -0.398438 0.382812 -1.03125 0.375 -1.417969 -0.019531 c -0.382812 -0.398438 -0.375 -1.03125 0.019531 -1.414063 z m 0 0' fill='context-fill' fill-rule='evenodd' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-pip-in-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 0 3.992188 c 0 -1.644532 1.355469 -3 3 -3 h 8 c 1.644531 0 3 1.355468 3 3 v 3 h -2 v -3 c 0 -0.5625 -0.4375 -1 -1 -1 h -8 c -0.5625 0 -1 0.4375 -1 1 v 5 c 0 0.5625 0.4375 1 1 1 h 3 v 2 h -3 c -1.644531 0 -3 -1.355469 -3 -3 z m 0 0' fill-opacity='0.34902' /%3E%3Cpath d='m 10 8.992188 c -1.089844 0 -2 0.910156 -2 2 v 2 c 0 1.089843 0.910156 2 2 2 h 4 c 1.089844 0 2 -0.910157 2 -2 v -2 c 0 -1.089844 -0.910156 -2 -2 -2 z m 0 2 h 4 v 2 h -4 z m 0 0' /%3E%3Cpath d='m 3.5 3.992188 c -0.132812 0 -0.257812 0.050781 -0.355469 0.144531 c -0.191406 0.195312 -0.191406 0.515625 0 0.707031 l 3.15625 3.15625 h -1.800781 c -0.277344 0 -0.5 0.222656 -0.5 0.5 s 0.222656 0.5 0.5 0.5 h 3.5 v -3.496094 v -0.003906 c 0 -0.277344 -0.222656 -0.5 -0.5 -0.5 s -0.5 0.222656 -0.5 0.5 v 1.785156 l -3.148438 -3.148437 c -0.09375 -0.09375 -0.21875 -0.144531 -0.351562 -0.144531 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-pip-out-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 0 3.992188 c 0 -1.644532 1.355469 -3 3 -3 h 8 c 1.644531 0 3 1.355468 3 3 v 3 h -2 v -3 c 0 -0.5625 -0.4375 -1 -1 -1 h -8 c -0.5625 0 -1 0.4375 -1 1 v 5 c 0 0.5625 0.4375 1 1 1 h 3 v 2 h -3 c -1.644531 0 -3 -1.355469 -3 -3 z m 0 0' /%3E%3Cpath d='m 10 8.992188 c -1.089844 0 -2 0.910156 -2 2 v 2 c 0 1.089843 0.910156 2 2 2 h 4 c 1.089844 0 2 -0.910157 2 -2 v -2 c 0 -1.089844 -0.910156 -2 -2 -2 z m 0 2 h 4 v 2 h -4 z m 0 0' fill-opacity='0.34902' /%3E%3Cpath d='m 3 4 v 3.5 c 0 0.277344 0.222656 0.5 0.5 0.5 s 0.5 -0.222656 0.5 -0.5 v -1.792969 l 3.144531 3.144531 c 0.195313 0.195313 0.515625 0.195313 0.707031 0 c 0.195313 -0.191406 0.195313 -0.511718 0 -0.707031 l -3.144531 -3.144531 h 1.792969 c 0.277344 0 0.5 -0.222656 0.5 -0.5 s -0.222656 -0.5 -0.5 -0.5 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-play-large-disabled-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 1.527344 0.46875 l -1.058594 1.0625 l 14 14 l 1.0625 -1.0625 z m 0 0' /%3E%3Cpath d='m 3.714844 1.003906 s -1.265625 -0.011718 -1.265625 1.492188 v 0.445312 l 8.324219 8.324219 l 3.570312 -2.039063 c 0.433594 -0.242187 0.65625 -0.734374 0.65625 -1.226562 s -0.222656 -0.984375 -0.65625 -1.222656 l -9.796875 -5.597656 c -0.210937 -0.121094 -0.453125 -0.175782 -0.699219 -0.175782 z m -1.265625 4.058594 v 8.433594 c 0 1.5 1.265625 1.5 1.265625 1.5 h 0.132812 c 0.246094 0 0.488282 -0.054688 0.699219 -0.171875 l 4.875 -2.785157 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-preferences-system-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 13.855469 0 l -1.539063 1.4375 c -0.453125 0.421875 -0.53125 1.148438 -0.269531 1.707031 l -5.886719 5.996094 c -0.011718 0 -0.019531 0 -0.03125 0 c -0.257812 -0.128906 -0.550781 -0.183594 -0.839844 -0.148437 c -0.328124 0.046874 -0.632812 0.199218 -0.867187 0.441406 l -3.945313 3.996094 c -0.3906245 0.375 -0.5468745 0.933593 -0.4062495 1.457031 c 0.1406255 0.523437 0.5546875 0.929687 1.0820315 1.058593 c 0.527344 0.132813 1.082031 -0.03125 1.453125 -0.425781 l 3.945312 -3.996093 c 0.472657 -0.453126 0.59375 -1.15625 0.296875 -1.738282 l 5.890625 -5.964844 c 0.558594 0.25 1.273438 0.148438 1.707031 -0.289062 l 1.414063 -1.5625 z m -10.308594 0.0898438 c -0.398437 0 -0.785156 0.0937502 -1.140625 0.2187502 l 1.882812 1.878906 c 0.390626 0.382812 0.390626 1 0 1.386719 l -0.710937 0.707031 c -0.386719 0.386719 -1 0.386719 -1.390625 0 l -1.882812 -1.878906 c -0.125 0.355468 -0.2187505 0.742187 -0.2187505 1.140625 c 0 1.90625 1.5507815 3.453125 3.4609375 3.453125 c 0.402344 0 0.789063 -0.09375 1.144531 -0.21875 l 1.175782 1.171875 h 0.058593 l 2.070313 -2.0625 l -1.203125 -1.203125 c 0.125 -0.359375 0.214843 -0.742188 0.214843 -1.140625 c 0 -1.90625 -1.546874 -3.4531252 -3.460937 -3.4531252 z m 6.550781 7.8906252 l -2.070312 2.066406 c 0.011718 0.027344 0.023437 0.058594 0.03125 0.089844 l 1.144531 1.140625 c -0.125 0.355468 -0.21875 0.742187 -0.21875 1.140625 c 0 1.902343 1.550781 3.449219 3.460937 3.449219 c 0.433594 0 0.855469 -0.101563 1.238282 -0.246094 l -2.007813 -2 c -0.386719 -0.386719 -0.386719 -1.035156 0 -1.417969 l 0.679688 -0.679687 c 0.195312 -0.191407 0.457031 -0.308594 0.710937 -0.308594 s 0.515625 0.117187 0.710938 0.308594 l 1.945312 1.941406 c 0.105469 -0.328125 0.183594 -0.683594 0.183594 -1.046875 c 0 -1.90625 -1.546875 -3.453125 -3.460938 -3.453125 c -0.398437 0 -0.785156 0.09375 -1.140624 0.21875 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-preferences-system-time-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 8 0 c -4.40625 0 -8 3.59375 -8 8 s 3.59375 8 8 8 s 8 -3.59375 8 -8 s -3.59375 -8 -8 -8 z m 0 2 c 3.324219 0 6 2.671875 6 6 c 0 3.324219 -2.675781 6 -6 6 s -6 -2.675781 -6 -6 c 0 -3.328125 2.675781 -6 6 -6 z m 0 0' /%3E%3Cpath d='m 4.929688 4.953125 c -0.128907 0.003906 -0.257813 0.058594 -0.351563 0.152344 c -0.191406 0.195312 -0.1875 0.511719 0.007813 0.707031 l 3.113281 3.042969 c 0.105469 0.097656 0.246093 0.144531 0.386719 0.128906 h 2.914062 c 0.277344 0 0.5 -0.222656 0.5 -0.5 c 0 -0.273437 -0.222656 -0.5 -0.5 -0.5 h -2.761719 l -2.953125 -2.886719 c -0.09375 -0.09375 -0.222656 -0.144531 -0.355468 -0.144531 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-printer-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 5 1 c -0.550781 0 -1 0.449219 -1 1 v 1 h 8 v -1 c 0 -0.550781 -0.449219 -1 -1 -1 z m -3 3 c -1.109375 0 -2 0.890625 -2 2 v 4 c 0 1.109375 0.890625 2 2 2 v 1 c 0 1.089844 0.910156 2 2 2 h 8 c 1.089844 0 2 -0.910156 2 -2 v -1 c 1.109375 0 2 -0.890625 2 -2 v -4 c 0 -1.109375 -0.890625 -2 -2 -2 z m 2 6 h 8 v 3 h -8 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-process-stop-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 3 2 c -0.265625 0 -0.519531 0.105469 -0.707031 0.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 l 4.292969 4.292969 l -4.292969 4.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 s 1.023437 0.390625 1.414062 0 l 4.292969 -4.292969 l 4.292969 4.292969 c 0.390625 0.390625 1.023437 0.390625 1.414062 0 s 0.390625 -1.023437 0 -1.414062 l -4.292969 -4.292969 l 4.292969 -4.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 l -4.292969 4.292969 l -4.292969 -4.292969 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-security-high-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 2 0 c -0.550781 0 -1 0.449219 -1 1 v 8 c 0 2.5 1.816406 4.246094 3.445312 5.332031 c 1.628907 1.085938 3.238282 1.617188 3.238282 1.617188 c 0.207031 0.070312 0.425781 0.070312 0.632812 0 c 0 0 1.609375 -0.53125 3.238282 -1.617188 c 1.628906 -1.085937 3.445312 -2.832031 3.445312 -5.332031 v -8 c 0 -0.550781 -0.449219 -1 -1 -1 z m 1 2 h 10 v 7 c 0 1.5 -1.183594 2.753906 -2.554688 3.667969 c -1.214843 0.808593 -2.179687 1.128906 -2.445312 1.226562 c -0.265625 -0.097656 -1.230469 -0.417969 -2.445312 -1.226562 c -1.371094 -0.914063 -2.554688 -2.167969 -2.554688 -3.667969 z m 1 1 v 6 c 0 1 0.867188 2.007812 2.109375 2.835938 c 0.933594 0.621093 1.472656 0.785156 1.890625 0.949218 c 0.417969 -0.164062 0.957031 -0.328125 1.890625 -0.949218 c 1.242187 -0.828126 2.109375 -1.835938 2.109375 -2.835938 v -6 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-security-low-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 2 0 c -0.550781 0 -1 0.449219 -1 1 v 8 c 0 2.5 1.816406 4.246094 3.445312 5.332031 c 1.628907 1.085938 3.238282 1.617188 3.238282 1.617188 c 0.207031 0.070312 0.425781 0.070312 0.632812 0 c 0 0 1.609375 -0.53125 3.238282 -1.617188 c 1.628906 -1.085937 3.445312 -2.832031 3.445312 -5.332031 v -8 c 0 -0.550781 -0.449219 -1 -1 -1 z m 1 2 h 10 v 7 c 0 1.5 -1.183594 2.753906 -2.554688 3.667969 c -1.214843 0.808593 -2.179687 1.128906 -2.445312 1.226562 c -0.265625 -0.097656 -1.230469 -0.417969 -2.445312 -1.226562 c -1.371094 -0.914063 -2.554688 -2.167969 -2.554688 -3.667969 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-select-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 15 3.484375 l -1 -1 l -7.46875 7.515625 l -3.414062 -3.476562 l -2 2 l 5.414062 5.476562 l 9.46875 -9.515625 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-settings-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7.5 1.019531 c -0.550781 0 -0.996094 0.445313 -0.996094 0.996094 v 0.453125 c -0.472656 0.128906 -0.929687 0.320312 -1.355468 0.566406 l -0.324219 -0.324218 c -0.390625 -0.390626 -1.019531 -0.390626 -1.410157 0 l -0.703124 0.707031 c -0.390626 0.390625 -0.390626 1.019531 0 1.410156 l 0.320312 0.320313 c -0.246094 0.425781 -0.433594 0.882812 -0.5625 1.355468 h -0.453125 c -0.550781 0 -0.996094 0.445313 -0.996094 0.996094 v 1 c 0 0.550781 0.445313 0.996094 0.996094 0.996094 h 0.449219 c 0.132812 0.472656 0.320312 0.929687 0.566406 1.355468 l -0.320312 0.320313 c -0.390626 0.390625 -0.390626 1.019531 0 1.410156 l 0.703124 0.707031 c 0.390626 0.390626 1.019532 0.390626 1.410157 0 l 0.320312 -0.320312 c 0.429688 0.242188 0.882813 0.433594 1.359375 0.558594 v 0.457031 c 0 0.550781 0.445313 0.996094 0.996094 0.996094 h 0.996094 c 0.554687 0 1 -0.445313 1 -0.996094 v -0.453125 c 0.472656 -0.128906 0.929687 -0.320312 1.355468 -0.566406 l 0.320313 0.324218 c 0.390625 0.390626 1.019531 0.390626 1.410156 0 l 0.707031 -0.707031 c 0.390626 -0.390625 0.390626 -1.019531 0 -1.410156 l -0.320312 -0.320313 c 0.242188 -0.425781 0.433594 -0.882812 0.558594 -1.355468 h 0.453125 c 0.554687 0 1 -0.445313 1 -0.996094 v -1 c 0 -0.550781 -0.445313 -0.996094 -1 -0.996094 h -0.449219 c -0.128906 -0.472656 -0.320312 -0.929687 -0.566406 -1.355468 l 0.324218 -0.320313 c 0.390626 -0.390625 0.390626 -1.019531 0 -1.410156 l -0.707031 -0.707031 c -0.390625 -0.390626 -1.019531 -0.390626 -1.410156 0 l -0.320313 0.320312 c -0.425781 -0.242188 -0.882812 -0.429688 -1.355468 -0.558594 v -0.457031 c 0 -0.550781 -0.445313 -0.996094 -1 -0.996094 z m 0.515625 3.976563 c 1.660156 0 3 1.34375 3 3 s -1.339844 3 -3 3 c -1.65625 0 -3 -1.34375 -3 -3 s 1.34375 -3 3 -3 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-sidebar-show-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 6 13 v -10 h -3 c -0.550781 0 -1 0.449219 -1 1 v 8 c 0 0.550781 0.449219 1 1 1 z m 0 0' fill-opacity='0.34902' /%3E%3Cpath d='m 3 1 c -1.644531 0 -3 1.355469 -3 3 v 8 c 0 1.644531 1.355469 3 3 3 h 10 c 1.644531 0 3 -1.355469 3 -3 v -8 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 3 v 10 h -3 c -0.570312 0 -1 -0.429688 -1 -1 v -8 c 0 -0.570312 0.429688 -1 1 -1 z m 4 0 h 6 c 0.570312 0 1 0.429688 1 1 v 8 c 0 0.570312 -0.429688 1 -1 1 h -6 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-sidebar-show-right-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 10 13 v -10 h 3 c 0.550781 0 1 0.449219 1 1 v 8 c 0 0.550781 -0.449219 1 -1 1 z m 0 0' fill-opacity='0.34902' /%3E%3Cpath d='m 13 1 c 1.644531 0 3 1.355469 3 3 v 8 c 0 1.644531 -1.355469 3 -3 3 h -10 c -1.644531 0 -3 -1.355469 -3 -3 v -8 c 0 -1.644531 1.355469 -3 3 -3 z m 0 2 h -3 v 10 h 3 c 0.570312 0 1 -0.429688 1 -1 v -8 c 0 -0.570312 -0.429688 -1 -1 -1 z m -4 0 h -6 c -0.570312 0 -1 0.429688 -1 1 v 8 c 0 0.570312 0.429688 1 1 1 h 6 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-starred-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 8 0 c -0.429688 0 -0.8125 0.273438 -0.949219 0.683594 l -1.449219 4.339844 l -4.589843 -0.015626 c -0.980469 -0.003906 -1.382813 1.257813 -0.582031 1.820313 l 3.625 2.554687 l -1.5 4.285157 c -0.316407 0.902343 0.6875 1.691406 1.492187 1.171875 l 4.003906 -2.59375 l 3.894531 2.585937 c 0.800782 0.53125 1.816407 -0.257812 1.5 -1.160156 l -1.503906 -4.289063 l 3.644532 -2.578124 c 0.789062 -0.5625 0.394531 -1.808594 -0.574219 -1.8125 l -4.660157 -0.015626 l -1.402343 -4.285156 c -0.132813 -0.410156 -0.515625 -0.68749975 -0.949219 -0.691406 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-tab-new-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 3 0 c -1.644531 0 -3 1.355469 -3 3 v 10 c 0 1.644531 1.355469 3 3 3 h 10 c 1.644531 0 3 -1.355469 3 -3 v -10 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 2 h 10 c 0.570312 0 1 0.429688 1 1 v 10 c 0 0.570312 -0.429688 1 -1 1 h -10 c -0.570312 0 -1 -0.429688 -1 -1 v -10 c 0 -0.570312 0.429688 -1 1 -1 z m 0 0' /%3E%3Cpath d='m 7 4 v 3 h -3 v 2 h 3 v 3 h 2 v -3 h 3 v -2 h -3 v -3 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-tab-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 4.003906 3 s -0.707031 -0.011719 -1.445312 0.355469 c -0.738282 0.371093 -1.554688 1.3125 -1.554688 2.644531 v 7 h -0.99999975 l -0.00390625 2 h 0.00390625 l 2.99999975 0.011719 v -0.011719 h 13 v -2 h 0.011719 v -7.308594 c 0 -1.429687 -1.171875 -2.632812 -2.625 -2.648437 l -2.378906 -0.019531 s 1 0.824218 1 1.964843 l 1.046875 0.042969 c 0.539062 0.023438 0.941406 0.496094 0.941406 0.976562 v 6.992188 h -2.988281 v -7 s 0.011719 -0.710938 -0.355469 -1.449219 c -0.371094 -0.738281 -1.3125 -1.550781 -2.644531 -1.550781 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-user-home-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7.972656 0.363281 c -0.5 0 -1 0.171875 -1.40625 0.511719 l -4.464844 3.71875 c -0.714843 0.597656 -1.128906 1.480469 -1.128906 2.410156 v 6 c 0 1.65625 1.34375 3 3 3 h 8 c 1.65625 0 3 -1.34375 3 -3 v -6 c 0 -0.929687 -0.414062 -1.8125 -1.128906 -2.410156 l -4.464844 -3.71875 c -0.40625 -0.339844 -0.90625 -0.511719 -1.40625 -0.511719 z m -0.015625 2 c 0.050781 -0.003906 0.101563 0.011719 0.144531 0.046875 l 4.464844 3.71875 c 0.257813 0.21875 0.40625 0.539063 0.40625 0.875 v 6 c 0 0.5625 -0.4375 1 -1 1 h -2 v -5 c 0 -0.554687 -0.445312 -1 -1 -1 h -2 c -0.554687 0 -1 0.445313 -1 1 v 5 h -2 c -0.5625 0 -1 -0.4375 -1 -1 v -6 c 0 -0.335937 0.148438 -0.65625 0.40625 -0.875 l 4.464844 -3.71875 c 0.035156 -0.027344 0.074219 -0.042968 0.113281 -0.046875 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-view-fullscreen-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 1 9 c -0.550781 0 -1 0.449219 -1 1 v 6 h 6 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -2.585938 l 3.292969 -3.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 c -0.1875 -0.1875 -0.441406 -0.292969 -0.707031 -0.292969 s -0.519531 0.105469 -0.707031 0.292969 l -3.292969 3.292969 v -2.585938 c 0 -0.550781 -0.449219 -1 -1 -1 z m 0 0' /%3E%3Cpath d='m 15 7 c 0.550781 0 1 -0.449219 1 -1 v -6 h -6 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 2.585938 l -3.292969 3.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 c 0.1875 0.1875 0.441406 0.292969 0.707031 0.292969 s 0.519531 -0.105469 0.707031 -0.292969 l 3.292969 -3.292969 v 2.585938 c 0 0.550781 0.449219 1 1 1 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-view-more-horizontal-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 2 6.007812 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 6 0 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 6 0 c -1.105469 0 -2 0.894532 -2 2 c 0 1.101563 0.894531 2 2 2 s 2 -0.898437 2 -2 c 0 -1.105468 -0.894531 -2 -2 -2 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-view-refresh-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 7.40625 1 c -0.613281 0.007812 -1.234375 0.089844 -1.847656 0.253906 c -3.273438 0.878906 -5.558594 3.855469 -5.558594 7.246094 s 2.285156 6.367188 5.558594 7.242188 c 3.273437 0.878906 6.742187 -0.558594 8.4375 -3.492188 c 0.277344 -0.480469 0.109375 -1.089844 -0.367188 -1.367188 c -0.476562 -0.273437 -1.089844 -0.109374 -1.367187 0.367188 c -1.246094 2.160156 -3.777344 3.207031 -6.1875 2.5625 c -2.40625 -0.644531 -4.074219 -2.820312 -4.074219 -5.3125 c 0 -2.496094 1.667969 -4.667969 4.074219 -5.3125 c 2.410156 -0.644531 4.941406 0.402344 6.1875 2.5625 c 0.058593 0.085938 0.125 0.164062 0.203125 0.226562 l -0.019532 0.015626 l -0.007812 0.007812 h -1.4375 c -0.550781 0 -1 0.449219 -1 1 c 0 0 0 1 1 1 h 5 v -5 s 0.003906 -1 -1 -1 c -0.550781 0 -1 0.449219 -1 1 v 1.6875 l -0.015625 0.011719 l -0.011719 0.011719 c -1.277344 -2.179688 -3.53125 -3.519532 -5.953125 -3.691407 c -0.203125 -0.015625 -0.40625 -0.019531 -0.613281 -0.019531 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-view-restore-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cg fill='context-fill' fill-opacity='context-fill-opacity'%3E%3Cpath d='m 2 8 c -0.550781 0 -1 0.449219 -1 1 s 0.449219 1 1 1 h 2.585938 l -3.292969 3.292969 c -0.390625 0.390625 -0.390625 1.023437 0 1.414062 s 1.023437 0.390625 1.414062 0 l 3.292969 -3.292969 v 2.585938 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -6 z m 0 0' /%3E%3Cpath d='m 14 8 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -2.585938 l 3.292969 -3.292969 c 0.390625 -0.390625 0.390625 -1.023437 0 -1.414062 s -1.023437 -0.390625 -1.414062 0 l -3.292969 3.292969 v -2.585938 c 0 -0.550781 -0.449219 -1 -1 -1 s -1 0.449219 -1 1 v 6 z m 0 0' /%3E%3C/g%3E%3C/svg%3E"); + --gnome-icon-window-close-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 4 4 h 1 h 0.03125 c 0.253906 0.011719 0.511719 0.128906 0.6875 0.3125 l 2.28125 2.28125 l 2.3125 -2.28125 c 0.265625 -0.230469 0.445312 -0.304688 0.6875 -0.3125 h 1 v 1 c 0 0.285156 -0.035156 0.550781 -0.25 0.75 l -2.28125 2.28125 l 2.25 2.25 c 0.1875 0.1875 0.28125 0.453125 0.28125 0.71875 v 1 h -1 c -0.265625 0 -0.53125 -0.09375 -0.71875 -0.28125 l -2.28125 -2.28125 l -2.28125 2.28125 c -0.1875 0.1875 -0.453125 0.28125 -0.71875 0.28125 h -1 v -1 c 0 -0.265625 0.09375 -0.53125 0.28125 -0.71875 l 2.28125 -2.25 l -2.28125 -2.28125 c -0.210938 -0.195312 -0.304688 -0.46875 -0.28125 -0.75 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-window-maximize-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 3.988281 3.992188 v 8.011718 h 8.011719 v -8.011718 z m 2 2 h 4.011719 v 4.011718 h -4.011719 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-window-minimize-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 4 10.007812 h 8 v 1.988282 h -8 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-window-new-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 3 0 c -1.644531 0 -3 1.355469 -3 3 v 8 c 0 1.644531 1.355469 3 3 3 h 3 c 0.550781 0 1 -0.449219 1 -1 s -0.449219 -1 -1 -1 h -3 c -0.570312 0 -1 -0.429688 -1 -1 v -6 c 0 -0.554688 0.445312 -1 1 -1 h 10 c 0.554688 0 1 0.445312 1 1 v 3 c 0 0.550781 0.449219 1 1 1 s 1 -0.449219 1 -1 v -5 c 0 -1.644531 -1.355469 -3 -3 -3 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3Cpath d='m 11 8 v 3 h -3 v 2 h 3 v 3 h 2 v -3 h 3 v -2 h -3 v -3 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-window-restore-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 16 16' width='16px'%3E%3Cpath d='m 4.988281 4.992188 v 6.011718 h 6.011719 v -6.011718 z m 2 2 h 2.011719 v 2.011718 h -2.011719 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-zoom-in-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 15.984375 16' width='15.984375px'%3E%3Cpath d='m 3.992188 1 c -1.660157 0 -3 1.339844 -3 3 v 8 c 0 1.660156 1.339843 3 3 3 h 8 c 1.660156 0 3 -1.339844 3 -3 v -8 c 0 -1.660156 -1.339844 -3 -3 -3 z m 3 3 h 2 v 3 h 3 v 2 h -3 v 3 h -2 v -3 h -3 v -2 h 3 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); + --gnome-icon-zoom-out-symbolic: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' height='16px' viewBox='0 0 15.984375 16' width='15.984375px'%3E%3Cpath d='m 3.992188 1 c -1.660157 0 -3 1.339844 -3 3 v 8 c 0 1.660156 1.339843 3 3 3 h 8 c 1.660156 0 3 -1.339844 3 -3 v -8 c 0 -1.660156 -1.339844 -3 -3 -3 z m 0 6 h 8 v 2 h -8 z m 0 0' fill='context-fill' fill-opacity='context-fill-opacity' /%3E%3C/svg%3E"); +} \ No newline at end of file diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/icons.json b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/icons.json new file mode 100644 index 0000000..e56db3d --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/icons.json @@ -0,0 +1,68 @@ +{ + "icons": [ + "application-x-addon-symbolic", + "applications-engineering-symbolic", + "audio-volume-muted-symbolic", + "audio-speakers-symbolic", + "build-configure-symbolic", + "bullet-symbolic", + "chain-link-symbolic", + "channel-insecure-symbolic", + "channel-secure-symbolic", + "chat-symbolic", + "edit-clear-symbolic", + "edit-copy-symbolic", + "edit-cut-symbolic", + "edit-find-symbolic", + "edit-paste-symbolic", + "eye-not-looking-symbolic", + "firefox-symbolic", + "folder-download-symbolic", + "folder-symbolic", + "general-properties-symbolic", + "go-down-symbolic", + "go-next-symbolic", + "go-previous-symbolic", + "go-up-symbolic", + "history-undo-symbolic", + "info-outline-symbolic", + "key-symbolic", + "list-add-symbolic", + "mail-unread-symbolic", + "newspaper-symbolic", + "non-starred-symbolic", + "open-menu-symbolic", + "pan-down-symbolic", + "pan-end-symbolic", + "pan-start-symbolic", + "pan-up-symbolic", + "pip-in-symbolic", + "pip-out-symbolic", + "play-large-disabled-symbolic", + "preferences-system-symbolic", + "preferences-system-time-symbolic", + "printer-symbolic", + "process-stop-symbolic", + "security-high-symbolic", + "security-low-symbolic", + "select-symbolic", + "settings-symbolic", + "sidebar-show-symbolic", + "sidebar-show-right-symbolic", + "starred-symbolic", + "tab-new-symbolic", + "tab-symbolic", + "user-home-symbolic", + "view-fullscreen-symbolic", + "view-more-horizontal-symbolic", + "view-refresh-symbolic", + "view-restore-symbolic", + "window-close-symbolic", + "window-maximize-symbolic", + "window-minimize-symbolic", + "window-new-symbolic", + "window-restore-symbolic", + "zoom-in-symbolic", + "zoom-out-symbolic" + ] +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/spinner-dark.png b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/spinner-dark.png new file mode 100644 index 0000000..37ee4f4 Binary files /dev/null and b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/spinner-dark.png differ diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/spinner.png b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/spinner.png new file mode 100644 index 0000000..991732c Binary files /dev/null and b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/icons/spinner.png differ diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/pages/newtab.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/pages/newtab.css new file mode 100644 index 0000000..63f8d60 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/pages/newtab.css @@ -0,0 +1,11 @@ +/* about:newtab */ + +@-moz-document url("about:newtab"), url("about:home") { + body { + --newtab-background-color: var(--gnome-window-background) !important; + --newtab-background-color-secondary: var(--gnome-menu-background) !important; + --newtab-primary-action-background: var(--gnome-accent) !important; + + background-color: var(--gnome-window-background) !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/pages/privatebrowsing.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/pages/privatebrowsing.css new file mode 100644 index 0000000..a012f68 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/pages/privatebrowsing.css @@ -0,0 +1,16 @@ +/* about:privatebrowsing */ + +@-moz-document url("about:privatebrowsing") { + html.private { + --background-color-canvas: var(--gnome-private-in-content-page-background) !important; + + /* Used by headings in promo boxes Firefox shows (like an ad for Firefox Focus) */ + --in-content-text-color: var(--gnome-private-text-primary-color) !important; + } + .wordmark { + fill: var(--gnome-private-wordmark) !important; + } + .showPrivate { + color: var(--gnome-private-text-primary-color); + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/buttons-fixes.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/buttons-fixes.css new file mode 100644 index 0000000..b9d4a9a --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/buttons-fixes.css @@ -0,0 +1,262 @@ +/* Buttons Issues/Glitches fixes */ +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* moz.button size */ +moz-button { + --button-size-icon-small: var(--gnome-button-size) !important; +} + +/* Menulist */ +link[href="chrome://global/skin/menulist.css"] ~ dropmarker { + align-items: center !important; + justify-content: center !important; +} + +.button-menu-dropmarker { + appearance: none !important; + margin: 0 !important; + margin-inline-start: 6px !important; +} + +/* Remove the header bar buttons' hover styles */ +#nav-bar { + --toolbarbutton-active-background: transparent !important; + --toolbarbutton-hover-background: transparent !important; +} + +/* Fix notification dropmarker */ +.popup-notification-dropmarker dropmarker { + margin-inline-start: 0 !important; +} +.popup-notification-dropmarker > .button-box > hbox { + display: -moz-box !important; +} + +/* Fix subviewbutton icon buttons alignment */ +.subviewbutton.subviewbutton-iconic:not(.subviewbutton-back, .unified-extensions-item-action-button) { + justify-content: center !important; +} + +/* Fix hover background */ +#appMenu-fullscreen-button2 > .toolbarbutton-icon { + background: transparent !important; +} + +/* Fix unified-extensions-item margin */ +toolbar .unified-extensions-item { + margin-inline: 0 3px !important; +} + +/* menulist */ +#label-box:not([native]) { + font-weight: 400 !important; + padding: 0 8px; +} +dropmarker:not([native]) { + margin-right: 8px; +} + +/* Bookmark buttons */ +#nav-bar toolbarbutton.bookmark-item { + width: auto !important; +} +#nav-bar toolbarbutton.bookmark-item .toolbarbutton-icon { + margin-left: 6px; +} +#nav-bar toolbarbutton.bookmark-item .toolbarbutton-text { + padding-right: 6px; +} + +/* Fix library animation */ +#library-animatable-box { + --library-button-height: 46px !important; + --library-icon-x: 1716px !important; + /*--library-icon-x: 1715.9833984375px !important;*/ +} +#library-button[animate] > .toolbarbutton-icon { + fill: transparent !important; +} + +/* Fix toolbars close icons */ +.close-icon:not(.tab-close-button) .toolbarbutton-icon { + height: 16px !important; + width: 16px !important; + margin: 6px !important; + padding: 0 !important; +} +button.close { + margin: 0 !important; +} + +/* */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"]::after { + display: none !important; +} + +/* Identity site popover buttons */ +.identity-popup-preferences-button:not(#hack) { + list-style-image: url("chrome://browser/skin/settings.svg") !important; +} +#tracking-protection-preferences-button > .toolbarbutton-text { + padding-inline-end: 0 !important; +} +.protections-popup-footer-button-label { + margin-inline-start: 3px !important; +} + +/* Fix findbar buttons issues */ +.findbar-container .findbar-find-previous image, +.findbar-container .findbar-find-next image { + margin: 6px !important; + opacity: 1 !important; +} +.findbar-container toolbarbutton:focus { + outline: 0 !important; +} + +/* Sidebar header button reset font size */ +#sidebar-header { + font-size: 1em !important; +} +/* Sidebar header button sizing */ +#sidebar-switcher-target { + flex: unset !important; +} +/* Sidebar header button arrow opacity */ +#sidebar-switcher-arrow { + opacity: 1 !important; +} + +/* Sidebar history view */ +#viewButton { + margin: 0 !important; + margin-inline-start: 6px !important; +} + +/* Menulist */ +#identity-popup-popup-menulist { + margin-right: 0 !important; +} + +/* Auto complete popup button*/ +.autocomplete-richlistitem[type="loginsFooter"] { + margin: 4px 4px 0 4px !important; +} + +/* Identity popup tracking protection button */ +.tracking-protection-button { + margin-inline-end: 0 !important; +} + +/* Identity popup delete permission button */ +.identity-popup-permission-remove-button { + opacity: 1 !important; +} + +/* Identity popup expander button */ +#identity-popup-security { + -moz-box-align: center; +} +#identity-popup-security-expander { + width: 34px !important; +} +#identity-popup-security-expander .button-icon { + margin: 0 !important; +} + +/* Protections popup */ +#protections-popup-info-button { + margin: 0 !important; + margin-inline-end: 0 !important; +} +.protections-popup-footer-icon { + display: none !important; +} +.protections-popup-footer-button-label { + margin-inline-start: 0 !important; +} +#protections-popup-footer-protection-type-label { + margin-inline-end: 0 !important; + margin-block: 0 !important; +} + +/* Close button */ +.close-icon:not(.tab-close-button) .toolbarbutton-icon { + outline: 0 !important; +} + +/* Downloads button */ +#downloads-indicator-progress-inner { + background: conic-gradient(var(--gnome-toolbar-icon-fill) var(--download-progress-pcent), transparent var(--download-progress-pcent)) !important; + background-color: var(--gnome-button-active-background) !important; +} +#downloads-indicator-progress-outer, +#downloads-indicator-start-image, +#downloads-indicator-finish-image { + border: 0 !important; + padding: 0 !important; + border-radius: 100% !important; +} +#downloads-indicator-progress-outer, +#downloads-indicator-start-image { + background: var(--gnome-toolbar-border-color) !important; +} +#downloads-indicator-finish-image { + background: var(--gnome-toolbar-icon-fill) !important; +} + +#downloads-button[progress="true"] #downloads-indicator-progress-outer { + visibility: visible !important; +} +#downloads-button:not([progress="true"]) #downloads-indicator-icon { + visibility: visible !important; +} + +/* Toolbar Animations */ +#downloads-button .toolbarbutton-animatable-box { + top: 8px !important; + left: 8px !important; +} +#downloads-button .toolbarbutton-animatable-box, +#downloads-button .toolbarbutton-animatable-image, +#downloads-indicator-progress-inner { + height: 16px !important; + width: 16px !important; +} +#downloads-button .toolbarbutton-animatable-image, +#stop-reload-button .toolbarbutton-animatable-image:not(#hack), +#nav-bar-overflow-button .toolbarbutton-animatable-image:not(#hack) { + --anim-steps: 1 !important; + transform: none !important; + list-style-image: none !important; + display: none !important; +} + +/* Panel banner */ +#appMenu-popup .panel-banner-item { + margin: 0 0 6px !important; +} +#appMenu-popup .panel-banner-item > .toolbarbutton-text { + margin-inline: 0 !important; +} + +/* User menu */ +#fxa-toolbar-menu-button .toolbarbutton-badge-stack { + padding: 0 !important; +} +#fxa-avatar-image { + min-height: 24px !important; + width: 24px !important; +} + +/* Translation */ +#select-translations-panel-settings-button > .toolbarbutton-text { + display: none !important; +} + +/* OPTIONAL: Hide unified-extensions-button */ +@media -moz-pref("gnomeTheme.hideUnifiedExtensions") { + #unified-extensions-button { + display: none; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/buttons.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/buttons.css new file mode 100644 index 0000000..db2313e --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/buttons.css @@ -0,0 +1,266 @@ +/* Buttons */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Override vars */ +:root { + /* moz-button */ + --button-border-radius: var(--gnome-button-radius) !important; + --button-background-color: var(--gnome-button-background) !important; + --button-background-color-hover: var(--gnome-button-hover-background) !important; + --button-background-color-active: var(--gnome-button-active-background) !important; + --button-background-color-ghost-hover: var(--gnome-hover-color) !important; + --button-background-color-ghost-active: var(--gnome-active-color) !important; +} + +/* Hide buttons separator */ +#nav-bar .toolbaritem-combined-buttons separator { + display: none !important; +} +#appMenu-popup .toolbaritem-combined-buttons toolbarseparator { + border: 0 !important; +} + +/* Buttons */ +menulist, +.customizationmode-button, +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not(.titlebar-button):not(#searchmode-switcher-close, #urlbar-searchmode-switcher), +:root[inFullscreen] .titlebar-button.titlebar-restore, +.subviewbutton.panel-subview-footer, +.panel-footer button, +#downloadsPanel-mainView .download-state .downloadButton, +#appMenu-popup .panel-banner-item, +#appMenu-popup .toolbaritem-combined-buttons toolbarbutton:not(#appMenu-fxa-label), +#context-navigation menuitem, +.identity-popup-preferences-button:not(#hack), +.findbar-container toolbarbutton, +#sidebar-switcher-target, +#viewButton, +.close-icon:not(.tab-close-button), +button.close, +.menulist-label-box, +.expander-down, .expander-up, +.notification-button, +#identity-popup-security-expander, +.panel-info-button, +.panel-button, +#PanelUI-panic-view-button, +.tracking-protection-button, +.dialog-button, +.autocomplete-richlistitem[type="loginsFooter"], +.dialog-button-box button, +.searchbar-engine-one-off-item, +.permission-popup-permission-remove-button, +.button.connect-device, +#item-choose button, +#editBMPanel_newFolderButton, +.unified-extensions-item-menu-button { + -moz-appearance: none !important; + align-items: center !important; + background-color: var(--gnome-button-background) !important; + border-radius: var(--gnome-button-radius) !important; + border: 0 !important; + color: var(--gnome-window-color) !important; + font: menu !important; + font-weight: bold !important; + max-height: var(--gnome-button-size) !important; + min-height: var(--gnome-button-size) !important; + min-width: var(--gnome-button-size) !important; + outline: 0 !important; + padding: 0 1px !important; + transition: background var(--gnome-animation-time); + -moz-box-align: center !important; + + &:not([disabled="true"]) { + /* Hover buttons */ + &:hover { + outline: 0 !important; + background-color: var(--gnome-button-hover-background) !important; + } + /* Active buttons */ + &:active, &.active { + background-color: var(--gnome-button-active-background) !important; + } + /* Checked buttons */ + &[selected], &[checked], &[open] { + background-color: var(--gnome-button-checked-background) !important; + + &:hover { + background-color: var(--gnome-button-checked-hover-background) !important; + } + &:active { + background-color: var(--gnome-button-checked-active-background) !important; + } + } + } + + /* Disabled buttons */ + &[disabled="true"] { + opacity: 0.5 !important; + } + + &[_moz-menuactive] { + outline: 2px solid var(--gnome-focus-border-color) !important; + outline-offset: -2px !important; + } +} +.subviewbutton-iconic { + -moz-box-pack: center !important; +} + +/* Flat Buttons */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button):not(.subviewbutton):not(.titlebar-button):not(#searchmode-switcher-close, #urlbar-searchmode-switcher), +:root[inFullscreen] .titlebar-button.titlebar-restore, +.close-icon:not(.tab-close-button), +button.close, +.panel-info-button, +.permission-popup-permission-remove-button, +.unified-extensions-item-menu-button { + background-color: transparent !important; + transition: background var(--gnome-animation-time); + + &:not([disabled="true"]) { + /* Hover buttons */ + &:hover { + background-color: var(--gnome-hover-color) !important; + } + /* Active buttons */ + &:active { + background-color: var(--gnome-active-color) !important; + } + /* Checked buttons */ + &[selected], &[checked], &[open] { + background-color: var(--gnome-selected-color) !important; + + &:hover { + background-color: var(--gnome-selected-hover-color) !important; + } + &:active { + background-color: var(--gnome-selected-active-color) !important; + } + } + } + + /* Disabled buttons */ + &[disabled="true"] { + opacity: 0.3 !important; + } +} + +/* Buttons with suggested action */ +#appMenu-popup .panel-banner-item[notificationid="update-restart"], +button.popup-notification-primary-button:not(#hack), +#editBookmarkPanelDoneButton, +#tracking-action-block, +.button.connect-device { + --gnome-button-background: var(--gnome-button-suggested-background) !important; + --gnome-button-hover-background: var(--gnome-button-suggested-background) !important; + --gnome-button-active-background: var(--gnome-button-suggested-background) !important; + color: white !important; + + &:not([disabled="true"]) { + &:hover { + background-image: linear-gradient(rgba(255, 255, 255, .1), rgba(255, 255, 255, .1)) !important; + } + &:active { + background-image: linear-gradient(rgba(0, 0, 0, .2), rgba(0, 0, 0, .2)) !important; + } + } +} + +/* Buttons with destructive action */ +.panel-footer button#editBookmarkPanelRemoveButton, +#PanelUI-panic-view-button { + --gnome-button-background: var(--gnome-button-destructive-background) !important; + --gnome-button-hover-background: var(--gnome-button-destructive-hover-background) !important; + --gnome-button-active-background: var(--gnome-button-destructive-active-background) !important; + color: var(--gnome-destructive) !important; +} + +/* Buttons with margins */ +#nav-bar toolbarbutton:not(#urlbar-zoom-button, #urlbar-searchmode-switcher):not(.subviewbutton):not(.titlebar-button), +.subviewbutton.panel-subview-footer:not(:only-of-type), +.panel-footer button:not(:only-of-type):not(:last-child) { + margin: 0 calc(var(--gnome-toolbar-spacing) / 2) !important; +} +.close-icon:not(.tab-close-button) { + margin-left: var(--gnome-toolbar-spacing) !important; +} + +/* Text buttons */ +menulist, +.customizationmode-button, +#sidebar-switcher-target, +.subviewbutton.panel-subview-footer, +.panel-footer button, +#appMenu-popup .panel-banner-item, +#appMenu-popup #appMenu-zoomReset-button2:not(#hack), +#tracking-protection-preferences-button:not(#hack), +.findbar-container toolbarbutton.findbar-button, +.notification-button, +#PanelUI-panic-view-button, +.tracking-protection-button, +.panel-button, +.dialog-button, +.autocomplete-richlistitem[type="loginsFooter"], +.dialog-button-box button, +.toolbaritem-combined-buttons:is(:not([cui-areatype="toolbar"]), [overflowedItem="true"]) > #appMenu-fxa-label2:not(#hack), +.button.connect-device, +#item-choose button, +#editBMPanel_newFolderButton { + padding: 2px 9px !important; +} +.subviewbutton.panel-subview-footer label, +.panel-footer button, +#appMenu-popup .panel-banner-item .toolbarbutton-text, +#appMenu-popup #appMenu-zoomReset-button2:not(#hack), +#tracking-protection-preferences-button:not(#hack), +.findbar-container toolbarbutton.findbar-button, +.notification-button, +#PanelUI-panic-view-button, +.tracking-protection-button, +.dialog-button, +.autocomplete-richlistitem[type="loginsFooter"], +.dialog-button-box button, +.button.connect-device, +#item-choose button { + text-align: center !important; +} + +/* Circle buttons */ +#downloadsPanel-mainView .download-state .downloadButton, +.permission-popup-permission-remove-button:not(#hack) { + border-radius: 100% !important; +} + +/* Combined buttons */ +#nav-bar .toolbaritem-combined-buttons:not(.unified-extensions-item) toolbarbutton:not(:last-of-type):not(#hack), +#appMenu-popup .toolbaritem-combined-buttons:not(.unified-extensions-item) toolbarbutton:not(:last-of-type):not(#appMenu-zoomEnlarge-button), +#context-navigation menuitem:not(:last-of-type), +.findbar-container toolbarbutton.findbar-find-previous, +.findbar-button:not(:last-of-type), +.search-panel-one-offs .searchbar-engine-one-off-item:not(:last-child), +.popup-notification-secondary-button:not([dropmarkerhidden="true"]):not(#hack) { + border-start-end-radius: 0 !important; + border-end-end-radius: 0 !important; + border-right-width: 0 !important; + margin-inline-end: 0 !important; +} + +#nav-bar .toolbaritem-combined-buttons:not(.unified-extensions-item) toolbarbutton:not(:first-of-type):not(#hack), +#appMenu-popup .toolbaritem-combined-buttons:not(.unified-extensions-item) toolbarbutton:not(:first-of-type):not(#appMenu-fullscreen-button), +#context-navigation menuitem:not(:first-of-type), +.findbar-container toolbarbutton.findbar-find-previous, +.findbar-container toolbarbutton.findbar-find-next, +.findbar-button:not(:first-of-type), +.search-panel-one-offs .searchbar-engine-one-off-item:not(:first-child), +.popup-notification-dropmarker:not(#hack) { + border-end-start-radius: 0 !important; + border-start-start-radius: 0 !important; + margin-inline-start: 0 !important; +} + +#nav-bar .toolbaritem-combined-buttons:not(.unified-extensions-item) { + margin-left: 0 !important; + margin-right: 0 !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/controls.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/controls.css new file mode 100644 index 0000000..7cbe41b --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/controls.css @@ -0,0 +1,107 @@ +/* Controls */ +/* Switchers, Checkboxes, etc. */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Checkbox */ +input[type="checkbox"], +checkbox:not(.treenode-checkbox) > .checkbox-check { + appearance: none !important; + border: 0 !important; + border-radius: 6px !important; + color: var(--gnome-window-color) !important; + height: 20px !important; + width: 20px !important; +} +input[type="checkbox"]:not(:checked), +checkbox:not(.treenode-checkbox) > .checkbox-check:not([checked]) { + background-color: transparent !important; + box-shadow: inset 0 0 0 2px var(--gnome-trough-background); +} +input[type="checkbox"]:not(:checked):hover, +checkbox:not(.treenode-checkbox) > .checkbox-check:not([checked]):hover { + box-shadow: inset 0 0 0 2px var(--gnome-trough-hover-background); +} +input[type="checkbox"]:checked, +checkbox:not(.treenode-checkbox) > .checkbox-check[checked] { + background-color: var(--gnome-accent-bg) !important; + /* NOTE: var(--gnome-icon-select-symbolic) doesn't load in modal dialogs */ + background-image: url("../icons/custom/select-fixed-symbolic.svg") !important; + background-size: 14px !important; + background-repeat: no-repeat; + background-position: center; + fill: white !important; + -moz-context-properties: fill; +} + +/* Radio */ +input[type="radio"], +radio > .radio-check { + appearance: none !important; + border: 0 !important; + border-radius: 50% !important; + color: var(--gnome-window-color) !important; + height: 20px !important; + padding: 3px !important; + width: 20px !important; + + radiogroup:focus-visible radio[focused] > & { + outline: 2px solid var(--gnome-focus-border-color) !important; + outline-offset: 2px !important; + } +} +input[type="radio"][aria-checked="false"], +radio > .radio-check:not([selected]) { + background-color: transparent !important; + box-shadow: inset 0 0 0 2px var(--gnome-trough-background); +} +input[type="radio"][aria-checked="false"]:hover, +radio > .radio-check:not([selected]):hover { + box-shadow: inset 0 0 0 2px var(--gnome-trough-hover-background); +} +input[type="radio"][aria-checked="true"], +radio > .radio-check[selected] { + background-color: var(--gnome-accent-bg) !important; + /* NOTE: var(--gnome-icon-bullet-symbolic) doesn't load in modal dialogs */ + background-image: url("../icons/custom/bullet-fixed-symbolic.svg") !important; + background-repeat: no-repeat; + background-position: center; + fill: white !important; + -moz-context-properties: fill; +} + +.radio-label-box { + outline: 0 !important; +} + +.radio-label { + margin-inline-start: 3px !important; +} + +/* Switchers */ +.toggle-button { + --toggle-height: 26px !important; + --toggle-width: 48px !important; + --toggle-border-radius: 24px !important; + --toggle-border-color: var(--gnome-trough-background) !important; + --toggle-background-color: var(--gnome-trough-background) !important; + --toggle-background-color-pressed: var(--gnome-accent-bg) !important; + --toggle-dot-height: 22px !important; + --toggle-dot-width: 22px !important; + --toggle-dot-background-color: #FFF !important; + --toggle-dot-background-color-on-pressed: #FFF !important; + --toggle-dot-transform-x: calc(var(--toggle-width) - 4 * var(--toggle-dot-margin) - var(--toggle-dot-width)) !important; + + border: 0 !important; +} +.toggle-button::before { + box-shadow: 0 2px 4px rgba(0, 0, 0, .2); +} + +link[href="chrome://global/content/elements/moz-toggle.css"] ~ .label-wrapper { + margin-inline: 0 !important; +} +link[href="chrome://global/content/elements/moz-toggle.css"] ~ .description { + --input-space-offset: calc(48px + 12px) !important; + margin-block-start: 0 !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/csd.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/csd.css new file mode 100644 index 0000000..1e4169a --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/csd.css @@ -0,0 +1,126 @@ +/* GNOME CSD styles for headerbar on Firefox */ + +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +:root[customtitlebar] { + /* Headerbar top border corners rounded */ + &[sizemode="normal"]:not([gtktiledwindow="true"]) #nav-bar { + border-radius: env(-moz-gtk-csd-titlebar-radius, 8px) env(-moz-gtk-csd-titlebar-radius, 8px) 0 0 !important; + } + + /* Always show nav bar window buttons*/ + #nav-bar > .titlebar-buttonbox-container { + display: flex !important; + } + + #toolbar-menubar { + /* Prevent menubar from breaking */ + &:not([inactive=true]) { + height: 30px !important; + margin-bottom: 8px; + } + + /* Always hide menu bar window buttons*/ + & > .titlebar-buttonbox-container { + display: none !important; + } + } + + &[inFullscreen] { + /* Remove close and minimize buttons from fullscreen buttons */ + .titlebar-buttonbox-container .titlebar-button:not(.titlebar-restore) { + display: none !important; + } + + /* Force the restore button to appear regardless of maximize button's status */ + &:not([inDOMFullscreen]) { + .titlebar-buttonbox-container { + visibility: visible !important; + } + .titlebar-restore { + display: inherit !important; + } + } + } + + &:not([inFullscreen]) { + .titlebar-buttonbox-container { + padding: 0 8px; + } + + /* Window buttons style */ + .titlebar-button { + background: var(--gnome-button-background) !important; + border-radius: 100% !important; + height: 24px !important; + transition: background var(--gnome-animation-time); + width: 24px !important; + + &:not([disabled]):hover { + background: var(--gnome-button-hover-background) !important; + } + + &:not([disabled]):active { + background: var(--gnome-button-active-background) !important; + } + + &::-moz-window-inactive { + filter: opacity(0.5); + } + } + } + + .titlebar-buttonbox-container { + align-items: center; + padding: 0 3px; + + .titlebar-buttonbox { + appearance: none !important; + gap: 13px; + + .titlebar-button { + padding: 0 !important; + margin: 0 !important; + + & > .toolbarbutton-icon { + @media not -moz-pref("gnomeTheme.noThemedIcons") { + background: none !important; + appearance: none !important; + height: 16px !important; + padding: 0 !important; + stroke: none !important; + width: 16px !important; + -moz-context-properties: fill, fill-opacity !important; + } + + } + + @media -moz-pref("widget.gtk.non-native-titlebar-buttons.enabled") { + &:-moz-lwtheme { /* Override config */ + & > .toolbarbutton-icon { + appearance: auto !important + } + } + } + } + } + } + + .titlebar-spacer { + display: none; + } +} + +/* OPTIONAL: Allow draging the window from headerbar buttons */ +@media -moz-pref("gnomeTheme.dragWindowHeaderbarButtons") { + :root[customtitlebar] #nav-bar *, + :root[customtitlebar] #titlebar .titlebar-button { + -moz-window-dragging: drag; + } + + /* Avoid window dragging from urlbar */ + :root[customtitlebar] #nav-bar .urlbar-input-box, + :root[customtitlebar] #nav-bar .urlbar-input-box * { + -moz-window-dragging: no-drag !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/dialogs.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/dialogs.css new file mode 100644 index 0000000..717b138 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/dialogs.css @@ -0,0 +1,207 @@ +/* Dialogs */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +window { + padding: 0 !important; + width: initial !important; +} + +dialog { + padding: var(--gnome-dialog-padding) !important; +} + +/* Dialog box */ +.dialogBox { + border-radius: var(--gnome-dialog-radius) !important; + margin-top: 0 !important; +} +.dialogBox[resizable="true"] { + margin-top: var(--gnome-dialog-padding) !important; +} + +.dialogOverlay[topmost="true"]:not(.dialogOverlay-window-modal-dialog-subdialog), #window-modal-dialog::backdrop { + background-color: rgba(0, 0, 0, .5) !important; +} + +/* Modal dialogs */ +#window-modal-dialog { + display: flex; + justify-content: center; + align-items: center; + height: 100vh; +} + +window[role="dialog"] { + background: var(--gnome-menu-background) !important; + border: 0 !important; + box-shadow: var(--gnome-menu-shadow) !important; + padding: 0 !important; +} + +dialog#handling { + display: flex; + flex-direction: column; +} + +.tab-prompt-dialog .dialogOverlay { + justify-content: center; +} + +/* Content */ +dialog { + &:not(.sizeDetermined) { + display: grid !important; + justify-content: stretch; + min-width: fit-content; + } + + #titleContainer { + justify-content: center !important; + } + + #titleCropper { + &[overflown] { + mask-image: none !important; + + #titleText { + display: inline-block !important; + max-width: 100% !important; + overflow: hidden !important; + text-overflow: ellipsis; + } + } + + &:not([nomaskfade]) { + display: initial !important; + } + } + + #titleText { + font-size: 20px !important; + font-weight: 800 !important; + text-align: center !important; + white-space: initial !important; + } + + .titleIcon { + display: none; + } + + #description-box { + text-align: center; + #description { + font-size: 20px !important; + font-weight: 800 !important; + } + } + + #infoContainer { + text-align: center; + } + + #checkboxContainer { + align-items: center !important; + } +} + +/* Buttons */ +.dialog-button-box { + background: transparent !important; + display: flex !important; + gap: 12px; + margin-top: auto; + padding: 0 !important; + + /* if dialog has at least 3 buttons */ + &:has(button:not([hidden])[dlgtype="extra1"]) { + min-width: 40rem; + } + + button { + min-height: 44px !important; + max-height: unset !important; + padding: 10px 14px !important; + margin: 0 !important; + border-radius: 12px !important; + flex: 1; + border-bottom: 0 !important; + + .button-box { + max-width: 100%; + .button-text { + max-width: 100%; + &::before { + max-width: 100% !important; + overflow: hidden !important; + text-overflow: ellipsis; + } + } + } + } + + .button-spacer { + display: none; + } +} + +/* Browser dialogs */ +#dialogGrid { + padding-bottom: 8px !important; +} + +/* Bookmark dialog */ +#bookmarkpropertiesdialog #editBookmarkPanelContent { + padding-bottom: var(--gnome-dialog-padding) !important; +} + +/* Hadler dialog */ +#os-default-handler { + image { + display: none !important; + } + .name { + font-weight: normal !important; + } +} + +/* Fullscreen warning */ +#fullscreen-warning { + background: rgba(0, 0, 0, 0.7) !important; + border-radius: 150px !important; + border: none !important; + color: rgba(255, 255, 255, .9) !important; + padding: 6px 12px !important; + + &::before { + background-image: var(--gnome-icon-channel-secure-symbolic) !important; + height: 16px !important; + width: 16px !important; + } + + .pointerlockfswarning-domain-text { + font-size: 16px !important; + font-weight: normal !important; + margin: 0 12px 0 6px !important; + } +} + +#fullscreen-exit-button { + appearance: none !important; + background-color: rgba(255, 255, 255, .09) !important; + border-radius: var(--gnome-button-radius) !important; + border: 0 !important; + padding: 2px 16px !important; + height: var(--gnome-button-size) !important; + min-height: var(--gnome-button-size) !important; + color: rgba(255, 255, 255, .9) !important; + font-weight: bold !important; + transition: background var(--gnome-animation-time); + + &:hover { + background-color: rgba(255, 255, 255, .135) !important; + } + &:active { + background-color: rgba(255, 255, 255, .27) !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/entries.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/entries.css new file mode 100644 index 0000000..5ad6dbc --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/entries.css @@ -0,0 +1,133 @@ +/* Entries */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Entries */ +input[type="text"]:not(.tree-input), +input[type="password"], +#urlbar, +#searchbar, +link[href="chrome://global/content/elements/moz-input-common.css"] ~ #input, +.findbar-textbox, +.tabsFilter, +.popup-notification-body input { + -moz-appearance: none !important; + background: var(--gnome-entry-background) !important; + outline: 2px solid transparent !important; + border: 0 !important; + border-radius: var(--gnome-entry-radius) !important; + box-shadow: none !important; + color: var(--gnome-entry-color) !important; + height: var(--gnome-entry-height) !important; + max-height: var(--gnome-entry-height) !important; + margin: 0 !important; + padding: 6px 9px !important; + box-sizing: border-box; + transition-property: outline, outline-offset; + transition-duration: var(--gnome-animation-time); + + /* Error */ + &[status="notfound"] { + color: var(--gnome-error) !important; + } + + &:-moz-window-inactive { + color: var(--gnome-inactive-entry-color) !important; + outline: 2px solid transparent !important; + } +} + +/* Entries focused */ +input[type="text"]:not(.tree-input):focus, +input[type="password"]:focus, +#urlbar[breakout][breakout-extend], +#urlbar[focused]:not([suppress-focus-border]), +#searchbar:focus-within, +link[href="chrome://global/content/elements/moz-input-common.css"] ~ #input:focus, +.findbar-textbox[focused], +.findbar-textbox:focus, +.tabsFilter[focused], +.popup-notification-body input:focus { + outline: 2px solid var(--gnome-entry-focused-border-color) !important; + outline-offset: -2px; + + /* Error */ + &[status="notfound"] { + outline-color: var(--gnome-entry-error-focused-border-color) !important; + } +} + +/* Entries combined */ +.findbar-textbox:not(.minimal) { + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; + border-right-width: 0 !important; +} + +/* Entry button */ +.identity-box-button, +#tracking-protection-icon-container, +#notification-popup-box, +.urlbar-page-action, +.urlbar-icon { + fill-opacity: 0.8 !important; + transition-property: fil, fill-opacity, opacity; + transition-duration: var(--gnome-animation-time); +} + +.identity-box-button:hover:not([open="true"]), +#tracking-protection-icon-container:hover:not([open="true"]), +#notification-popup-box:hover:not([open="true"]), +.urlbar-page-action:hover:not([open="true"]), +.urlbar-page-action:hover:not([open="true"]) .urlbar-icon, +.urlbar-icon:not([disabled]):hover { + background: none !important; + fill-opacity: 1 !important; +} + +.identity-box-button:hover:active, +.identity-box-button[open=true], +#tracking-protection-icon-container:hover:active, +#tracking-protection-icon-container[open=true], +#notification-popup-box:hover:active, +#notification-popup-box[open=true], +.urlbar-page-action:hover:active, +.urlbar-page-action[open=true], +.urlbar-page-action:hover:active .urlbar-icon, +.urlbar-page-action[open=true] .urlbar-icon { + background: none !important; + fill-opacity: 1 !important; +} + +/* Entries fixes */ +#urlbar-container, #search-container { + padding: 0 !important; + margin: 0 !important; +} +.urlbar-input-container { + background: transparent !important; + border: 0 !important; +} +#urlbar, #searchbar { + margin: 0 calc(var(--gnome-toolbar-spacing) / 2) !important; + padding: 0 3px !important; + &[unifiedsearchbutton-available=""] { + padding-inline-start: 0 !important; + } + +} +.searchbar-textbox { + border: 0 !important; + padding: 0 !important; + margin: 0 !important; + min-height: auto !important; +} +#searchbar > .searchbar-textbox[focused] .searchbar-search-button:not(#hack) { + margin: 0 !important; +} +#urlbar[focused]:not([suppress-focus-border]) > #urlbar-background { + outline: 0 !important; +} +link[href="chrome://global/content/elements/moz-input-common.css"] ~ #input { + width: 100% !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/findbar.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/findbar.css new file mode 100644 index 0000000..15f4afc --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/findbar.css @@ -0,0 +1,42 @@ +/* Find bar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +findbar { + padding: var(--gnome-toolbar-padding) !important; + position: relative; + + .findbar-container { + align-items: center; + display: flex; + justify-content: flex-start; + position: relative; + flex-direction: row; + margin: 0 !important; + margin-inline-end: var(--gnome-toolbar-padding) !important; + height: auto !important; + + .findbar-textbox-wrapper { + order: 0; + } + .findbar-label.found-matches { + font-weight: normal !important; + order: 1; + } + .findbar-label.findbar-find-status { + font-weight: normal !important; + order: 4; + } + checkbox { + order: 2; + } + + .findbar-entire-word { + margin-inline-end: auto !important; + } + } + + .findbar-closebutton { + margin: 0 !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/headerbar.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/headerbar.css new file mode 100644 index 0000000..4fb40cd --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/headerbar.css @@ -0,0 +1,50 @@ +/* Header bar */ +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Headerbar */ +#nav-bar { + background: var(--gnome-headerbar-background) !important; + border: 0 !important; + padding: var(--gnome-toolbar-padding) calc(var(--gnome-toolbar-padding) / 2) !important; +} + +/* Add private window headerbar indicator */ +:root[privatebrowsingmode="temporary"] #nav-bar toolbarspring:first-of-type:before { + background: var(--gnome-icon-eye-not-looking-symbolic) no-repeat; + background-size: 64px 64px; + content: ""; + display: block; + position: absolute; + width: 64px; + height: 64px; + top: 0; + transform: translate(15px, -9px); + fill: var(--gnome-window-color) !important; + fill-opacity: 0.15 !important; + -moz-context-properties: fill, fill-opacity; + } + +/* Hide tabsbar default private browsing indicator */ +.private-browsing-indicator-with-label { + display: none !important; +} + +/* Overlay headerbar on fullscreen */ +@media -moz-pref("browser.fullscreen.autohide") { + #navigator-toolbox[inFullscreen] { + position: fixed !important; + transition: margin var(--gnome-animation-time) ease-in-out 0s !important; + line-height: 0; + z-index: 1; + width: 100vw; + } + + #navigator-toolbox[inFullscreen]:hover, + #navigator-toolbox[inFullscreen]:focus-within { + margin-top: 0 !important; + } + + #navigator-toolbox[inFullscreen] > * { + line-height: normal; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/icons.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/icons.css new file mode 100644 index 0000000..23d2ba7 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/icons.css @@ -0,0 +1,604 @@ +/* Replace icons */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Icons color */ +.toolbarbutton-icon:not([class*="identity-color-"] .toolbarbutton-icon), +link[href="chrome://global/content/elements/moz-button.css"] + button[type~="icon"], +menuitem:not([class*='identity']) .menu-icon, +#vertical-tabs-newtab-button .toolbarbutton-icon, +.urlbar-page-action:not([readeractive]), +.urlbar-icon, +#blocked-permissions-container > .blocked-permission-icon, +.button-icon:not(#hack), +.bookmark-item[container], +.notification-anchor-icon, +.protections-popup-category::after, +.protections-popup-footer-icon, +#identity-popup-mainView .subviewbutton-nav::after, +.widget-overflow-list .subviewbutton-nav::after, +.PanelUI-subView .subviewbutton-nav::after, +#identity-popup[connection^="secure"] .identity-popup-security-connection, +.panel-info-button > image, +.menu-right, +.expander-down > .button-box, +#sidebar-switcher-arrow, +#sidebar-icon, +#viewButton .button-menu-dropmarker, +.menulist-label-box:after, +.expander-up > .button-box, +#urlbar:not(.searchButton) > .urlbar-input-container > #identity-box[pageproxystate="invalid"] > #identity-icon, +.searchbar-search-icon, +.textbox-search-sign, +treechildren::-moz-tree-twisty, +treechildren::-moz-tree-image, +.item.client .item-twisty-container, +menuitem[type="checkbox"], +menuitem[type="checkbox"][checked="true"], +menuitem[type="radio"], +menuitem[type="radio"][checked="true"], +.tab-icon-overlay, +.tab-icon-stack::before, +.close-icon:not(.tab-close-button), +button.close::before, +#urlbar-search-mode-indicator-close, +#tracking-protection-icon, +#identity-icon, +#permissions-granted-icon, +#downloads-indicator-icon, +.textbox-search-clear, +.urlbarView-type-icon, +radio > .radio-check, +link[href="chrome://global/skin/dropmarker.css"] + image, +:root[customtitlebar] .titlebar-buttonbox .titlebar-button .toolbarbutton-icon { + fill: var(--gnome-toolbar-icon-fill) !important; + -moz-context-properties: fill; +} +.urlbar-icon:-moz-window-inactive, +#urlbar:-moz-window-inactive image, +.toolbarbutton-icon:-moz-window-inactive, +:root[customtitlebar] .titlebar-buttonbox .titlebar-button .toolbarbutton-icon:-moz-window-inactive { + opacity: 0.5 !important; +} + +/* Dimmed icons */ +#urlbar:not(.searchButton) > .urlbar-input-container > #identity-box[pageproxystate="invalid"] > #identity-icon, +.searchbar-search-icon, +.textbox-search-sign, +.textbox-search-clear { + opacity: 0.7 !important; +} +.textbox-search-clear:hover { + opacity: 1 !important; +} + +/* Fix icons sizes */ +.permission-popup-permission-remove-button > .button-box > .button-icon, +.menu-iconic-icon, +link[href="chrome://global/skin/dropmarker.css"] + image, +.toolbarbutton-combined-buttons-dropmarker { + height: 16px !important; + width: 16px !important; +} +/* Fix icon color */ +#sidebar-icon { + opacity: 1 !important; +} +treechildren::-moz-tree-twisty, +treechildren::-moz-tree-image { + fill-opacity: 1 !important; +} + +/* Icons active color */ +treechildren::-moz-tree-twisty(selected, focus), +treechildren::-moz-tree-twisty(selected, focus, open), +treechildren::-moz-tree-image(selected, focus), +treechildren::-moz-tree-image(selected, focus, open), +.item.client:focus .item-twisty-container, +.sidebar-panel[lwt-sidebar-brighttext] .sidebar-placesTreechildren::-moz-tree-twisty, +.sidebar-panel[lwt-sidebar-brighttext] .sidebar-placesTreechildren::-moz-tree-twisty(open) { + fill: #fff !important; +} + +/* Fix flat buttons icons aproach */ +button.close::before { + content: ""; + display: block; + background-position: center center; + background-repeat: no-repeat; + height: 100%; + width: 100%; +} + +/* Fix main menu zoom controls icons */ +#appMenu-zoom-controls2 .toolbarbutton-icon { + padding: 0 !important; + padding-block: 0 !important; + padding-inline: 0 !important; +} + + +@media not -moz-pref("gnomeTheme.noThemedIcons") { + /* Scroll icons */ + #scrollbutton-up { + list-style-image: var(--scrollbutton-icon-name) !important; + } + #scrollbutton-down { + list-style-image: var(--scrollbutton-icon-name) !important; + } + arrowscrollbox { + --scrollbutton-icon-name: var(--gnome-icon-pan-down-symbolic); + } + arrowscrollbox[orient="horizontal"] { + --scrollbutton-icon-name: var(--gnome-icon-pan-start-symbolic); + } + + /* Popovers subview menu arrow */ + #identity-popup-mainView .subviewbutton-nav::after, + .widget-overflow-list .subviewbutton-nav::after, + .PanelUI-subView .subviewbutton-nav::after, + .protections-popup-category::after, + .subviewbutton-back .toolbarbutton-icon, + .menu-right, + menupopup > menu::after { + fill-opacity: 1 !important; + opacity: .3; + } + .menu-right { + -moz-appearance: none !important; + list-style-image: var(--gnome-icon-go-next-symbolic) !important; + width: 16px !important; + height: 16px !important; + } + #identity-popup-mainView .subviewbutton-nav::after, + .widget-overflow-list .subviewbutton-nav::after, + .PanelUI-subView .subviewbutton-nav::after, + menupopup > menu::after { + content: "" !important; + background: var(--gnome-icon-go-next-symbolic) !important; + background-size: contain; + height: 16px; + width: 16px; + } + .protections-popup-category::after { + content: var(--gnome-icon-go-next-symbolic) !important; + } + + /* Popovers subview back button */ + .subviewbutton-back { + list-style-image: var(--gnome-icon-go-previous-symbolic) !important; + } + + /* Arrow down buttons */ + .expander-down > .button-box, + #sidebar-switcher-arrow, + #viewButton .button-menu-dropmarker, + .toolbarbutton-combined-buttons-dropmarker { + -moz-appearance: none !important; + list-style-image: var(--gnome-icon-pan-down-symbolic) !important; + } + .popup-notification-dropmarker dropmarker { + -moz-appearance: none !important; + content: var(--gnome-icon-pan-down-symbolic) !important; + } + #sidebar-switcher-arrow, + #viewButton .button-menu-dropmarker { + -moz-appearance: none !important; + list-style-image: var(--gnome-icon-pan-down-symbolic) !important; + width: 16px !important; + height: 16px !important; + } + .menulist-label-box:after, + link[href="chrome://global/skin/menulist.css"] ~ dropmarker { + content: var(--gnome-icon-pan-down-symbolic) !important; + } + + /* Arrow up buttons */ + .expander-up > .button-box { + list-style-image: var(--gnome-icon-pan-up-symbolic) !important; + } + + /* Search entries */ + #urlbar:not(.searchButton) > .urlbar-input-container > #identity-box[pageproxystate="invalid"] > #identity-icon, + .searchbar-search-icon, + .textbox-search-sign { + list-style-image: url(../icons/edit-find-symbolic.svg) !important; + } + .textbox-search-sign { + margin: 3px 0; + max-height: 16px !important; + width: 16px !important; + } + + /* Findbar */ + .findbar-find-previous { + list-style-image: var(--gnome-icon-go-up-symbolic) !important; + } + .findbar-find-next { + list-style-image: var(--gnome-icon-go-down-symbolic) !important; + } + + /* Tree views */ + treechildren::-moz-tree-twisty, + .item.client .item-twisty-container { + list-style-image: var(--gnome-icon-pan-end-symbolic) !important; + width: 16px !important; + height: 16px !important; + } + .item.client .item-twisty-container { + background-image: var(--gnome-icon-pan-end-symbolic) !important; + } + treechildren::-moz-tree-twisty(open) { + list-style-image: var(--gnome-icon-pan-down-symbolic) !important; + } + .item.client.closed .item-twisty-container { + background-image: var(--gnome-icon-pan-down-symbolic) !important; + } + + treechildren::-moz-tree-image(title, container), + treechildren::-moz-tree-image(title, open) { + list-style-image: var(--gnome-icon-folder-symbolic) !important; + } + treechildren::-moz-tree-image(title, query, dayContainer), + treechildren::-moz-tree-image(query, OrganizerQuery_history____v) { + list-style-image: var(--gnome-icon-preferences-system-time-symbolic) !important; + } + + /* Menu checkbox */ + menuitem[type="checkbox"] { + list-style-image: none !important; + } + menuitem[type="checkbox"][checked="true"] { + list-style-image: var(--gnome-icon-select-symbolic) !important; + } + menuitem[type="checkbox"][disabled="true"] .menu-icon { + opacity: 0.5; + } + + /* Menu radio */ + menuitem[type="radio"] { + list-style-image: none !important; + } + menuitem[type="radio"][checked="true"] { + list-style-image: var(--gnome-icon-bullet-symbolic) !important; + } + menuitem[type="radio"] .menu-icon { + border-radius: 100%; + border: 1px solid var(--gnome-toolbar-icon-fill); + } + menuitem[type="radio"][disabled="true"] .menu-icon { + opacity: 0.5; + } + + /* Dropmarker */ + link[href="chrome://global/skin/dropmarker.css"] + image { + list-style-image: var(--gnome-icon-pan-down-symbolic) !important; + } + + /* Close button */ + .close-icon:not(.tab-close-button), + .identity-popup-permission-remove-button .button-icon, + .permission-popup-permission-remove-button > .button-box > .button-icon { + list-style-image: var(--gnome-icon-window-close-symbolic) !important; + } + #urlbar-search-mode-indicator-close, + #searchmode-switcher-close, + button.close::before { + background-image: var(--gnome-icon-window-close-symbolic) !important; + } + @media (prefers-color-scheme: light) { + .notificationbox-stack notification[type="critical"] .close-icon:not(.tab-close-button):not(:hover) { + fill: #fff !important; + } + } + @media (prefers-color-scheme: dark) { + .notificationbox-stack notification[type="warning"] .close-icon:not(.tab-close-button):not(:hover) image { + fill: rgb(46, 52, 54) !important; + } + } + moz-button.close { + --message-bar-icon-close-url: var(--gnome-icon-window-close-symbolic) !important; + } + + /* Window buttons */ + :root[customtitlebar] .titlebar-buttonbox .titlebar-close .toolbarbutton-icon { + list-style-image: var(--gnome-icon-window-close-symbolic) !important; + } + :root[customtitlebar] .titlebar-buttonbox .titlebar-max .toolbarbutton-icon { + list-style-image: var(--gnome-icon-window-maximize-symbolic) !important; + } + :root[customtitlebar] .titlebar-buttonbox .titlebar-restore .toolbarbutton-icon { + list-style-image: var(--gnome-icon-window-restore-symbolic) !important; + } + :root[customtitlebar][inFullscreen] .titlebar-buttonbox .titlebar-restore .toolbarbutton-icon { + background-image: none !important; + list-style-image: var(--gnome-icon-view-restore-symbolic) !important; + } + :root[customtitlebar] .titlebar-buttonbox .titlebar-min .toolbarbutton-icon { + list-style-image: var(--gnome-icon-window-minimize-symbolic) !important; + } + + /* Sound icons */ + .tab-icon-overlay[soundplaying] { + list-style-image: var(--gnome-icon-audio-speakers-symbolic) !important; + } + .tab-icon-overlay[muted] { + list-style-image: var(--gnome-icon-audio-volume-muted-symbolic) !important; + } + .tab-icon-overlay[activemedia-blocked] { + list-style-image: var(--gnome-icon-play-large-disabled-symbolic) !important; + } + + /* Firefox View */ + #firefox-view-button { + list-style-image: var(--gnome-icon-firefox-symbolic) !important; + } + + /* Private browsing button */ + #privatebrowsing-button { + list-style-image: var(--gnome-icon-eye-not-looking-symbolic) !important; + } + /* Sidebar button */ + #sidebar-button:-moz-locale-dir(ltr):not([positionend]) .toolbarbutton-icon, #sidebar-button:-moz-locale-dir(rtl)[positionend] .toolbarbutton-icon { + list-style-image: var(--gnome-icon-sidebar-show-symbolic) !important; + } + #sidebar-button .toolbarbutton-icon { + list-style-image: var(--gnome-icon-sidebar-show-right-symbolic); + } + /* Back button */ + #nav-bar #back-button, + #context-back { + list-style-image: var(--gnome-icon-go-previous-symbolic) !important; + } + /* Forward button */ + #nav-bar #forward-button, + #context-forward, + #urlbar-go-button, + .search-go-button { + list-style-image: var(--gnome-icon-go-next-symbolic) !important; + } + /* Menu button */ + #PanelUI-menu-button { + list-style-image: var(--gnome-icon-open-menu-symbolic) !important; + } + /* New tab button */ + #new-tab-button { + list-style-image: var(--gnome-icon-tab-new-symbolic) !important; + } + #tabs-newtab-button, + #TabsToolbar #new-tab-button, + #vertical-tabs-newtab-button { + list-style-image: var(--gnome-icon-list-add-symbolic) !important; + } + /* Home button */ + #home-button { + list-style-image: var(--gnome-icon-user-home-symbolic) !important; + } + /* Preferences button */ + #preferences-button, + .search-setting-button > .button-box > .button-icon, + .unified-extensions-item-menu-button.subviewbutton, + .translations-panel-settings-gear-icon > .toolbarbutton-icon { + list-style-image: var(--gnome-icon-settings-symbolic) !important; + } + /* Tabs sync */ + #sync-button, + #sidebar-box[sidebarcommand="viewTabsSidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, + .urlbarView-row[source="tabs"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, + #urlbar-engine-one-off-item-tabs { + list-style-image: var(--gnome-icon-tab-symbolic) !important; + } + /* Fullscreen button */ + #fullscreen-button, + #appMenu-fullscreen-button2 { + list-style-image: var(--gnome-icon-view-fullscreen-symbolic) !important; + } + /* Zoom out button */ + #zoom-out-button, + #appMenu-zoomReduce-button2 { + list-style-image: var(--gnome-icon-zoom-out-symbolic) !important; + } + /* Zoom in button */ + #zoom-in-button, + #appMenu-zoomEnlarge-button2 { + list-style-image: var(--gnome-icon-zoom-in-symbolic) !important; + } + /* Developer button */ + #developer-button { + list-style-image: var(--gnome-icon-build-configure-symbolic) !important; + } + /* Email link button */ + #email-link-button { + list-style-image: var(--gnome-icon-mail-unread-symbolic) !important; + } + /* Print button */ + #print-button { + list-style-image: var(--gnome-icon-printer-symbolic) !important; + } + /* Addons button */ + #unified-extensions-button, + #add-ons-button, + #addons-notification-icon, + .install-icon { + list-style-image: var(--gnome-icon-application-x-addon-symbolic) !important; + } + /* Find button */ + #find-button { + list-style-image: var(--gnome-icon-edit-find-symbolic) !important; + } + /* New window button */ + #new-window-button { + list-style-image: var(--gnome-icon-window-new-symbolic) !important; + } + /* Bookmarks menu button */ + #bookmarks-menu-button, + #sidebar-box[sidebarcommand="viewBookmarksSidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, + .urlbarView-row[source="bookmarks"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, + #urlbar-engine-one-off-item-bookmarks { + list-style-image: var(--gnome-icon-starred-symbolic) !important; + } + #context-bookmarkpage[starred="true"], + #star-button[starred] { + list-style-image: var(--gnome-icon-starred-symbolic) !important; + } + #context-bookmarkpage, + #star-button { + list-style-image: var(--gnome-icon-non-starred-symbolic) !important; + } + #star-button[starred] { + fill: var(--gnome-toolbar-star-button) !important; + } + /* Privacy */ + #print-button { + list-style-image: var(--gnome-icon-printer-symbolic) !important; + } + /* Picture-in-picture */ + #picture-in-picture-button > .urlbar-icon { + list-style-image: var(--gnome-icon-pip-in-symbolic) !important; + } + #picture-in-picture-button[pipactive] > .urlbar-icon { + list-style-image: var(--gnome-icon-pip-out-symbolic) !important; + } + /* Read mode */ + #reader-mode-button > .urlbar-icon { + list-style-image: var(--gnome-icon-newspaper-symbolic) !important; + } + #reader-mode-button[readeractive] > .urlbar-icon { + fill: var(--gnome-accent) !important; + } + /* Blocked media */ + .autoplay-media-icon.blocked-permission-icon { + list-style-image: var(--gnome-icon-play-large-disabled-symbolic) !important; + } + /* DRM */ + .drm-icon { + list-style-image: var(--gnome-icon-chain-link-symbolic) !important; + } + /* History button */ + #history-panelmenu, + #sidebar-box[sidebarcommand="viewHistorySidebar"] > #sidebar-header > #sidebar-switcher-target > #sidebar-icon, + .urlbarView-row[source="history"] > .urlbarView-row-inner > .urlbarView-no-wrap > .urlbarView-favicon, + #urlbar-engine-one-off-item-history { + list-style-image: var(--gnome-icon-preferences-system-time-symbolic) !important; + } + /* Forget history */ + #panic-button { + list-style-image: var(--gnome-icon-history-undo-symbolic) !important; + } + /* All tabs button */ + #alltabs-button { + list-style-image: var(--gnome-icon-pan-down-symbolic) !important; + } + /* Cut button */ + #cut-button, + #appMenu-cut-button { + list-style-image: var(--gnome-icon-edit-cut-symbolic) !important; + } + /* Copy button */ + #copy-button, + #appMenu-copy-button { + list-style-image: var(--gnome-icon-edit-copy-symbolic) !important; + } + /* Paste button */ + #paste-button, + #appMenu-paste-button { + list-style-image: var(--gnome-icon-edit-paste-symbolic) !important; + } + /* Overflow button */ + #nav-bar-overflow-button { + list-style-image: var(--gnome-icon-pan-down-symbolic) !important; + } + /* Reload */ + #reload-button, + .downloadIconRetry > .button-box > .button-icon, + #context-reload { + list-style-image: var(--gnome-icon-view-refresh-symbolic) !important; + } + /* Stop */ + #stop-button, + .downloadIconCancel > .button-box > .button-icon, + #context-stop { + list-style-image: var(--gnome-icon-process-stop-symbolic) !important; + } + /* Downlaod */ + #downloads-button, + #downloads-indicator-icon { + list-style-image: var(--gnome-icon-folder-download-symbolic) !important; + } + /* Info */ + .panel-info-button:not(.translations-panel-settings-gear-icon) > image, + #identity-icon { + list-style-image: var(--gnome-icon-info-outline-symbolic) !important; + } + .tabbrowser-tab[image="chrome://global/skin/icons/info.svg"]:not([busy]):not([progress]) .tab-icon-stack::before { + content: ""; + height: 16px; + width: 16px; + background-image: var(--gnome-icon-info-outline-symbolic) !important; + } + /* Password */ + #password-notification-icon { + list-style-image: var(--gnome-icon-key-symbolic) !important; + } + + /* Url Bar icons */ + #urlbar:not(.searchButton) > .urlbar-input-container > #identity-box[pageproxystate="invalid"] #identity-icon { + list-style-image: var(--gnome-icon-edit-find-symbolic) !important; + } + .urlbar-input-container[pageproxystate="valid"] > #tracking-protection-icon-container > #tracking-protection-icon-box > #tracking-protection-icon { + list-style-image: var(--gnome-icon-security-high-symbolic) !important; + } + .urlbar-input-container[pageproxystate="valid"] > #tracking-protection-icon-container > #tracking-protection-icon-box[hasException] > #tracking-protection-icon { + list-style-image: var(--gnome-icon-security-low-symbolic) !important; + } + .urlbar-input-container[pageproxystate="valid"] > #tracking-protection-icon-container > #tracking-protection-icon-box:not([hasException])[active] > #tracking-protection-icon { + list-style-image: var(--gnome-icon-security-high-symbolic) !important; + } + #identity-box[pageproxystate="valid"].verifiedDomain #identity-icon, + #identity-box[pageproxystate="valid"].mixedActiveBlocked #identity-icon { + list-style-image: var(--gnome-icon-channel-secure-symbolic) !important; + } + #identity-box[pageproxystate="valid"].notSecure #identity-icon, + #identity-box[pageproxystate="valid"].mixedActiveContent #identity-icon, + #identity-box[pageproxystate="valid"].httpsOnlyErrorPage #identity-icon, + #identity-box[pageproxystate="valid"].certUserOverridden #identity-icon { + list-style-image: var(--gnome-icon-channel-insecure-symbolic) !important; + } + #identity-popup[connection^="secure"] .identity-popup-security-connection { + list-style-image: var(--gnome-icon-channel-secure-symbolic) !important; + } + #identity-popup[connection="secure-cert-user-overridden"] .identity-popup-security-connection, + .identity-popup-security-connection { + list-style-image: var(--gnome-icon-channel-insecure-symbolic) !important; + } + #permissions-granted-icon { + list-style-image: var(--gnome-icon-general-properties-symbolic) !important; + } + .popup-notification-icon[popupid="web-notifications"], .desktop-notification-icon { + list-style-image: var(--gnome-icon-chat-symbolic) !important; + } + #reader-mode-button { + list-style-image: var(--gnome-icon-newspaper-symbolic) !important; + } + .urlbar-icon { + margin: 2px 0 !important; + } + + /* Fix for extensions icons */ + @media (prefers-color-scheme: dark) { + .webextension-browser-action { + list-style-image: var(--webextension-menupanel-image-light, inherit) !important; + } + } + + /* Folder icon */ + .bookmark-item[container], + .downloadIconShow > .button-box > .button-icon { + list-style-image: var(--gnome-icon-folder-symbolic) !important; + } + + /* Text clear */ + .textbox-search-clear { + content: var(--gnome-icon-edit-clear-symbolic) !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/lists.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/lists.css new file mode 100644 index 0000000..bee019f --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/lists.css @@ -0,0 +1,51 @@ +/* Lists */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* TODO: create list color vars */ +/* List container */ +#permission-popup-permission-list, +richlistbox#items { + --in-content-item-selected: var(--gnome-accent-bg) !important; + --in-content-item-selected-text: #fff !important; + background: var(--gnome-card-background) !important; + border: 0 !important; + border-radius: var(--gnome-card-radius) !important; + padding: 0 !important; + overflow: hidden; +} + +richlistbox#items { + box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), + 0 1px 3px 1px rgba(0, 0, 0, .07), + 0 2px 6px 2px rgba(0, 0, 0, .03); +} + +/* List item */ +.permission-popup-permission-item, +richlistbox#items richlistitem { + padding: var(--gnome-toolbar-padding) !important; + margin: 0 !important; +} +.permission-popup-permission-list-anchor { + padding: 0 !important; +} +.permission-popup-permission-list-anchor:not(:has(.permission-popup-permission-item)) { + visibility: collapse; +} +richlistbox#items richlistitem:not(:last-child) { + border-bottom: 1px solid var(--gnome-card-shade-color); +} +.permission-popup-permission-list-anchor:not(#permission-popup-permission-list-default-anchor):has(.permission-popup-permission-item) { + border-top: 1px solid var(--gnome-card-shade-color); +} +#permission-popup-permission-list-default-anchor:empty + .permission-popup-permission-list-anchor { + border: 0 !important; +} + +/* Fix list buttons on selected state */ +@media (prefers-color-scheme: light) { + richlistbox#items richlistitem[selected=true] button { + filter: invert() brightness(200%) !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/popups-contents.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/popups-contents.css new file mode 100644 index 0000000..d3ec8db --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/popups-contents.css @@ -0,0 +1,343 @@ +/* Popups contents syles */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Main menu fxa */ +#appMenu-fxa-status[fxastatus="signedin"] > #appMenu-fxa-label { + padding-left: 22px !important; + margin-inline-start: -22px !important; +} +#appMenu-fxa-status[fxastatus="signedin"] > #appMenu-fxa-avatar { + margin-inline-start: 5px !important; +} +#appMenu-fxa-status2[fxastatus] > #appMenu-fxa-label2 > vbox > #appMenu-header-description, #appMenu-fxa-text { + font-weight: 400 !important; +} + +/* Style main context menu & buttons */ +#context-navigation { + padding: 0; +} +#context-navigation > menuitem > .menu-iconic-left { + margin: auto !important; +} +#context-navigation menuitem { + --toolbarbutton-active-background: transparent !important; + --toolbarbutton-hover-background: transparent !important; +} + +/* Main menu */ +#appMenu-popup .panel-banner-item:after { + -moz-box-ordinal-group: 0; + margin: 0 8px 0 0 !important; +} +#appMenu-popup .toolbaritem-combined-buttons { + margin-inline-end: 0 !important; +} +#appMenu-popup .toolbaritem-combined-buttons .before-label { + width: 32px !important; +} +.subviewbutton#appMenu-zoom-controls2 { + padding-right: 0 !important; + padding-top: 6px !important; +} + +/* User sync account remove avatar */ +#fxa-menu-avatar { + display: none; +} + +/* Add search engine button remove icon */ +#pageAction-panel-addSearchEngine .toolbarbutton-badge-stack { + display: none !important; +} + +/* All tabs popover */ +.all-tabs-item[selected] { + border-left: 3px solid var(--gnome-tabbar-tab-active-border-bottom-color); + box-shadow: none !important; +} + +.all-tabs-item > .all-tabs-secondary-button label { + margin: 0 !important; +} + +/* Add bookmark */ +#editBookmarkPanel { + #editBookmarkPanelContent { + padding: 0 !important; + + label { + margin-top: calc(var(--gnome-toolbar-spacing) * 2) !important; + margin-bottom: var(--gnome-toolbar-spacing) !important; + } + } + + #editBookmarkPanelBottomContent { + margin-block: calc(var(--gnome-toolbar-spacing) * 2) !important; + } +} + +/* Downloads popover */ +#downloadsPanel-mainView .download-state { + padding: 12px !important; + border: 0 !important; + display: flex; + align-items: center; + height: 64px !important; + margin: 0 !important; +} + +#downloadsPanel-mainView .downloadMainArea { + flex: 1; + display: flex; +} +#downloadsPanel-mainView .downloadMainArea:hover { + background: transparent !important; +} + +#downloadsPanel-mainView .downloadTypeIcon { + margin: 0 !important; + margin-right: 6px !important; +} + +#downloadsPanel-mainView .downloadContainer { + margin-inline-end: 0 !important; + flex: 1; + display: flex; + flex-direction: column; +} + +#downloadsPanel-mainView .download-state .downloadButton .button-box { + padding: 0 !important; + margin: 0 !important; +} +#downloadsPanel-mainView .download-state toolbarseparator { + display: none; +} + +/* Customization overflow menu position */ +#customization-panel-container { + margin-top: 10px; + z-index: 10; +} + +/* Confirmation Hint */ +#confirmation-hint-checkmark-animation-container { + margin: 12px 6px 12px 12px !important; +} +#confirmation-hint-message-container { + margin: 12px 12px 12px 0 !important; +} + +/* URLbar popups */ +#identity-popup-mainView, +#permission-popup-mainView, +#protections-popup-mainView, +#identity-popup-mainView-panel-header { + max-width: calc(var(--popup-width) + (var(--gnome-menu-padding) * 2)) !important; + min-width: calc(var(--popup-width) + (var(--gnome-menu-padding) * 2)) !important; +} + +/* Identity popup */ +#identity-popup-security, +.identity-popup-section, +#identity-popup-security-expander .button-box, +.identity-popup-security-content { + border: 0 !important; +} + +.identity-popup-security-content { + padding-inline-end: 0 !important; + padding-inline-start: 0 !important; +} +.identity-popup-security-content { + background-position: 0em 0.8em !important; + background-size: 24px auto; +} +.identity-popup-security-content .identity-popup-headline { + margin-left: 1.4em !important; +} +#identity-popup-security-button { + padding: 3px 0 !important; +} +.identity-popup-security-connection.identity-button:not(#hack) { + width: calc(var(--popup-width) - 30px) !important; +} + +/* Permission popup */ +#permission-popup-permissions-content { + padding: 0 !important; +} + +.permission-popup-permission-item:first-child, #permission-popup-storage-access-permission-list-header { + margin-top: 0 !important; +} +.permission-popup-permission-remove-button { + opacity: 1 !important; +} +.permission-popup-permission-state-label { + display: none !important; +} + +#permission-popup-permission-list-default-anchor:empty { + padding: 0 !important; +} +.permission-popup-permission-list-anchor[anchorfor="3rdPartyStorage"] { + padding: 0 !important; +} +.permission-popup-permission-list-anchor[anchorfor="3rdPartyStorage"] > vbox:only-child { + display: block !important; + height: 0 !important; + overflow: hidden; + visibility: hidden; + margin: 0 !important; + margin-bottom: -1px !important; +} +.permission-popup-permission-item-3rdPartyStorage { + margin-right: 6px; + margin-bottom: 6px !important; +} +#permission-popup-storage-access-permission-list-header { + padding: 6px !important; +} + +/* Protections popup */ +.protections-popup-section, +#protections-popup-not-blocking-section-header { + border: 0 !important; +} +#protections-popup-mainView-panel-header-section { + background: transparent !important; +} +#protections-popup-mainView toolbarseparator { + display: none !important; +} + +#protections-popup-mainView-panel-header { + color: var(--gnome-window-color) !important; +} +#protections-popup[hasException] #protections-popup-mainView-panel-header { + background: none !important; +} +#protections-popup-main-header-label { + height: auto !important; + margin-inline-start: 6px !important; + text-align: left !important; +} +#protections-popup-mainView-panel-header-span { + margin: 0 !important; + margin-inline-start: 0 !important +} +#protections-popup[toast] #protections-popup-mainView-panel-header { + border-bottom-width: 1px !important; + border-radius: 5px !important; + padding: 0px !important; +} +#protections-popup-info-button { + margin: 0 !important; +} + +#protections-popup-message { + background-position: center 12px !important; + background-color: var(--gnome-entry-background); + border: 0 !important; + border-radius: 12px; + color: var(--gnome-window-color) !important; + height: 100% !important; + margin: 0 !important; +} +#protections-popup-message .text-link, +#cfr-protections-panel-link-text { + color: var(--gnome-window-color) !important; +} +.whatsNew-message-body { + padding: 0 6px; +} + +#protections-popup-tp-switch-section { + background: var(--gnome-menu-background); + border: 1px solid var(--gnome-button-border-color) !important; + border-radius: 9px; + padding: 0 0 24px 0 !important; + margin: 0 !important; +} +#protections-popup-tp-switch-section-header { + padding: 0 !important; +} + +#protections-popup[hasException] #protections-popup-tp-switch-section { + background: var(--gnome-menu-background) !important; +} +.protections-popup-tp-switch-label-box label { + margin-right: 12px !important; + font-weight: normal !important; +} + +#protections-popup-no-trackers-found-description { + margin: 12px 8px 0 !important; + text-align: left !important; +} + +#protections-popup-blocking-section-header, +#protections-popup-not-found-section-header, +#protections-popup-not-blocking-section-header{ + padding: 0px 5px !important; + margin-top: 20px !important; + height: auto !important; +} + +#protections-popup-category-list { + margin: 0 !important; +} +.protections-popup-category.notFound .protections-popup-category-label { + width: calc(var(--popup-width) - 70px) !important; +} +.protections-popup-category-label { + margin-inline-start: 6px !important; +} +.protections-popup-category-state-label { + opacity: 0.7; +} + +#protections-popup-footer { + display: flex; + justify-content: flex-start; + flex-wrap: wrap; + margin-top: 12px; +} +#protections-popup-show-report-stack, +#protections-popup-settings-button { + width: 100% !important; +} +#protections-popup-show-report-button { + height: 32px !important; +} +#protections-popup-footer-protection-type-label { + margin-left: 6px !important; +} +.protections-popup-description { + border-bottom: 0 !important; +} +.protections-popup-description > description { + margin: 8px !important; +} + +/* Feature recommendation notification, fix width */ +#contextual-feature-recommendation-notification { + width: auto !important; +} + +/* Extensions sometimes assume a white background */ +.webextension-popup-browser { + background-color: #fff !important; +} + +/* Translate */ +#translations-panel-translate:not(:only-child, #hack) { + margin: 0 !important; +} + +#translations-panel-lang-selection > label { + margin-top: var(--gnome-menu-padding) !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/popups.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/popups.css new file mode 100644 index 0000000..5753346 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/popups.css @@ -0,0 +1,310 @@ +/* Popup menus and context menus */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Style menus */ +menupopup { + appearance: none !important; + color: var(--gnome-window-color) !important; + padding: var(--gnome-menu-padding) !important; +} + +menucaption { + color: var(--gnome-window-color) !important; +} + +menu menupopup { + margin: -16px 0 0 0 !important; +} + +menulist { + padding: 0px !important; +} + +.menupopup-arrowscrollbox { + appearance: none !important; + background: var(--gnome-menu-background) !important; + border: 0 !important; + border-radius: var(--gnome-popover-radius) !important; + box-shadow: var(--gnome-menu-shadow) !important; + padding: var(--gnome-menu-padding) !important; + min-height: 45px !important; +} +@media not -moz-pref("gnomeTheme.noThemedIcons") { + menuitem:is([type="checkbox"], [checked="true"]) .menu-iconic-icon, + menuitem[type="radio"] .menu-iconic-icon { + appearance: none !important; + } +} +menuitem { + padding-inline-end: 18px !important; +} +menu, menuitem { + margin-inline: 0 !important; + &:where([_moz-menuactive]:not([disabled="true"])) { + color: currentColor; + background-color: transparent !important; + } +} +menuitem:not([acceltext]) .menu-accel-container { + visibility: collapse !important; +} +menuitem[type="checkbox"] image, menuitem[type="radio"] image { + appearance: none !important; + visibility: visible !important; +} +menuitem[disabled="true"]:hover, menupopup menu[disabled="true"]:hover { + background: transparent !important; +} + +.menu-iconic-icon { + padding: 0 !important; +} + +/* Adjust popovers position */ +panel[type=arrow] { + margin-top: var(--gnome-menu-padding) !important; +} + +/* Style popovers */ +panel:not([remote]) { + --arrowpanel-background: var(--gnome-menu-background) !important; + --arrowpanel-color: var(--gnome-menu-color) !important; + --panel-item-hover-bgcolor: var(--gnome-selected-background) !important; +} +panel { + --arrowpanel-padding: 0 !important; + --arrowpanel-border-color: var(--gnome-menu-border-color) !important; + --arrowpanel-border-radius: var(--gnome-popover-radius) !important; + --panel-separator-color: var(--gnome-menu-color) !important; +} + +/* Padding rules */ +#sidebarMenu-popup { + --arrowpanel-padding: var(--gnome-menu-padding) !important; +} +#downloadsPanel-blockedSubview, +#downloadsPanel-mainView, +#select-translations-panel-main-content { + padding: var(--gnome-menu-padding) !important; +} +.panel-header, .panel-footer, +.panel-subview-body, +#protections-popup-mainView-panel-header-section, +.permission-popup-section, +.popup-notification-header-container, +.popup-notification-body-container, +.popup-notification-footer-container, +.translations-panel-content { + padding: 0 var(--gnome-menu-padding) var(--gnome-menu-padding) !important; +} +:is( + .panel-header, .panel-footer, + .panel-subview-body, + .protections-popup-section, + #protections-popup-mainView-panel-header-section, + .permission-popup-section, + .identity-popup-section, + .popup-notification-header-container, + .popup-notification-body-container, + .popup-notification-footer-container +):first-child:not(:empty) { + padding-top: var(--gnome-menu-padding) !important; +} +#protections-popup-footer, +#identity-popup-clear-sitedata-footer { + padding: 0 var(--gnome-menu-padding) !important; +} +.panel-subview-body > .panel-subview-body { + padding: 0 !important; +} +/* Padding with margign */ +.subviewbutton.panel-subview-footer-button:not(#downloadsHistory) { + margin: var(--gnome-menu-padding) !important; +} +.subviewbutton.panel-subview-footer-button:not(:only-child, #downloadsHistory) { + margin: 0 var(--gnome-menu-padding) !important; +} +.subviewbutton.panel-subview-footer-button:not(:only-child, #downloadsHistory, #translations-panel-translate):last-child { + margin-bottom: var(--gnome-menu-padding) !important; +} + +/* No menu */ +#notification-popup, +#permission-popup, +#editBookmarkPanel, +#downloadsPanel, +#translations-panel { + --gnome-menu-padding: 12px !important; +} + +/* Panel arrow */ +.panel-arrowcontent { + background: var(--arrowpanel-background) !important; + border: 1px solid var(--gnome-menu-border-color) !important; + border-radius: 12px !important; + color: var(--gnome-window-color) !important; +} +.panel-arrow { + fill: var(--arrowpanel-background) !important; + stroke: var(--gnome-menu-border-color) !important; + display: -moz-inline-box !important; +} + +/* Panel header */ +.panel-header { + position: relative !important; +} + +/* Panel footer */ +.panel-footer { + background-color: transparent !important; + margin: 0 !important; +} +.panel-subview-body .panel-footer { + padding: 0 !important; +} +.panel-footer.panel-footer-menulike { + border-top: 0 !important; + margin-top: 8px !important; +} +.panel-footer toolbarseparator { + display: none !important; +} +.proton-zap { + border-image: unset !important; +} +.panel-subview-footer { + margin-top: 10px !important; +} + +/* Remove unwanted separators */ +.panel-header + toolbarseparator, +#identity-popup-mainView-panel-header + toolbarseparator, +#permission-popup-mainView-panel-header + toolbarseparator, +#protections-popup-mainView-panel-header-section + toolbarseparator { + display: none !important; +} + +/* Menu buttons */ +menuitem, menupopup menu, +panelview .subviewbutton:not(#appMenu-fxa-label2, .unified-extensions-item-menu-button), +panelview .toolbarbutton-1, +panelview .unified-extensions-item-action-button, +.protections-popup-footer-button, +.protections-popup-category, +.identity-popup-content-blocking-category, +#downloadsPanel-mainView .download-state { + -moz-appearance: none !important; + border-radius: var(--gnome-button-radius) !important; + color: var(--gnome-window-color) !important; + font: menu !important; + padding: 4px 12px !important; + min-height: 32px !important; + + &:hover, &[_moz-menuactive], &:focus, &:focus-within { + background: var(--gnome-selected-color) !important; + outline: 0 !important; + } +} +.subviewbutton, +.protections-popup-footer-button, +.protections-popup-category, +.identity-popup-content-blocking-category, +.openintabs-menuitem, +.widget-overflow-list .toolbarbutton-1, +panelview .unified-extensions-item { + margin: 0 !important; +} + +.subviewbutton[shortcut]:after { + opacity: 0.5 !important; + color: var(--gnome-menu-color) !important; +} + +.bookmark-item .menu-right { + fill-opacity: 1 !important; +} + +/* Menu buttons disabled */ +menuitem[disabled="true"], menupopup menu[disabled="true"], +.subviewbutton[disabled="true"], .toolbarbutton-1[disabled="true"], +.protections-popup-category[disabled="true"], +.identity-popup-content-blocking-category[disabled="true"] { + opacity: .5 !important; +} +menuitem[disabled="true"][_moz-menuactive], menupopup menu[disabled="true"][_moz-menuactive] { + background: transparent !important; +} + +/* Menu buttons fix */ +#appMenu-fxa-label2 { + padding: 0 !important; +} +#appMenu-fxa-label2:hover { + background: transparent !important; +} + +/* Menu buttons back */ +.subviewbutton-back { + opacity: 1 !important; + width: 100%; + -moz-box-align: center !important; + -moz-box-pack: start !important; +} +.subviewbutton-back + h1 { + font-weight: normal !important; + left: 0 !important; + padding: 0 !important; + pointer-events: none; + position: absolute !important; + top: 12px !important; + width: 100%; +} + +/* Menu headers */ +.subview-subheader { + font: menu !important; + font-weight: bold !important; + padding-block: 0 !important; + margin: 0 4px !important; +} + +/* Style popover separators */ +panel toolbarseparator, menuseparator { + appearance: none !important; + padding: 0 !important; + + &:not([orient="vertical"]) { + border-top: 1px solid var(--gnome-menu-separator-color) !important; + margin: 6px 0 !important; + + &::before { + display: none !important; + } + } + + &[orient="vertical"] { + margin: 0 6px !important; + } +} + +#PlacesToolbar menupopup[placespopup="true"] menuseparator { + border-top: 1px solid var(--gnome-menu-separator-color) !important; + padding: 0 !important; + margin: 6px 0 !important; +} +#PlacesToolbar menupopup[placespopup="true"] menuseparator::before { + border: 0 !important; +} + +.panel-subview-body + toolbarseparator:not([orient="vertical"]) { + margin: 0 0 6px !important; +} +panelview > toolbarseparator:not([orient="vertical"]), +#identity-popup-more-info-footer toolbarseparator:not([orient="vertical"]){ + margin: 6px !important; +} +#identity-popup-clear-sitedata-footer toolbarseparator:not([orient="vertical"]) { + margin-top: 0 !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/remove-white-flash.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/remove-white-flash.css new file mode 100644 index 0000000..e37d9b1 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/remove-white-flash.css @@ -0,0 +1,11 @@ +/* Removes a white flash after you open or close a tab. Affects all variants, + * but it's more visible on dark variants. */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Overrides: Change the flash color */ +#tabbrowser-tabpanels, +#tabbrowser-tabpanels[pendingpaint], +browser { + background-color: var(--gnome-window-background) !important; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/sidebar.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/sidebar.css new file mode 100644 index 0000000..67e9afc --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/sidebar.css @@ -0,0 +1,131 @@ +/* Sidebar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Main sidebar */ +#sidebar-main { + --button-size-icon: var(--gnome-button-size) !important; + background-color: var(--gnome-sidebar-background) !important; +} + +link[href="chrome://browser/content/sidebar/sidebar-main.css"] + .wrapper { + .tools-and-extensions { + align-items: center !important; + justify-content: center !important; + &[orientation="horizontal"] { + padding: var(--gnome-toolbar-padding) !important; + } + } + + .actions-list { + & > moz-button:not(.tools-overflow) { + --button-outer-padding-inline: var(--gnome-toolbar-padding) !important; + --button-outer-padding-block: calc(var(--gnome-toolbar-spacing) / 2) !important; + --toolbarbutton-active-background: var(--gnome-selected-color) !important; + + &:last-of-type { + --button-outer-padding-block-end: var(--gnome-toolbar-padding) !important; + } + &:first-of-type { + --button-outer-padding-block-start: var(--gnome-toolbar-padding) !important; + } + } + } +} + +/* Sidebar content */ +#sidebar-box { + padding: 0 !important; +} + +#sidebar-box:-moz-window-inactive label, #sidebar-box:-moz-window-inactive image, +.sidebar-panel:-moz-window-inactive label, .sidebar-panel:-moz-window-inactive image, +.tools-and-extensions:-moz-window-inactive, +.sidebar-placesTreechildren:-moz-window-inactive { + opacity: 0.7 !important; +} + +#sidebar { + background-color: var(--gnome-secondary-sidebar-background) !important; + border: 0 !important; + border-radius: 0 !important;; + box-shadow: none !important; +} + +#sidebar-search-container { + padding: var(--gnome-toolbar-padding) !important; +} + +/* Separator */ +#sidebar-splitter, +#sidebar-launcher-splitter { + background: var(--gnome-toolbar-background) !important; + border: 0 !important; + border-right: 1px solid var(--gnome-border-color) !important; + border-color: var(--gnome-toolbar-border-color) !important; + margin: 0 !important; + width: 0 !important; +} + +#sidebar-tools-and-extensions-splitter { + background: transparent !important; + margin-block: 0 !important; +} + +/* Browser content */ +#tabbrowser-tabbox { + --chrome-content-separator-color: var(--gnome-toolbar-border-color); + box-shadow: none !important; + outline: 0 !important; +} + +/* Settings lists */ +/* TODO: Move to lists.css */ +.customize-group .extensions, +link[href="chrome://global/content/elements/moz-fieldset.css"] ~ fieldset #inputs { + background: var(--gnome-card-background) !important; + border: 0 !important; + border-radius: var(--gnome-card-radius) !important; + box-shadow: 0 0 0 1px rgba(0, 0, 0, .03), 0 1px 3px 1px rgba(0, 0, 0, .07), 0 2px 6px 2px rgba(0, 0, 0, .03); + margin-top: 12px !important; + padding: 0 !important; +} + +moz-checkbox, moz-radio, .customize-group .extension-item { + display: flex !important; + padding: 0 !important; + + &:not(:last-of-type) { + border-bottom: 1px solid var(--gnome-card-shade-color) !important; + } + &[slot="nested"]:first-of-type { + border-top: 1px solid var(--gnome-card-shade-color) !important; + } +} +moz-checkbox, moz-radio { + flex-direction: column; + justify-content: center; + margin-block-start: 0 !important; +} +.customize-group .extension-item { + align-items: center; + min-height: 50px !important; + padding: 0 12px !important; +} + +link[href="chrome://global/content/elements/moz-input-common.css"]:has(~ .nested) { + & ~ .label-wrapper { + margin-inline: 12px !important; + & > label { + align-items: center; + display: flex !important; + gap: var(--gnome-toolbar-spacing); + min-height: 50px !important; + } + } + + & ~ .nested { + gap: 0 !important; + margin: 0 !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/tabsbar.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/tabsbar.css new file mode 100644 index 0000000..024390c --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/tabsbar.css @@ -0,0 +1,892 @@ +/* Tabs bar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +/* Override vars */ +:root { + --space-above-tabbar: 0 !important; + + --tab-min-height: var(--gnome-button-size) !important; + --tab-border-radius: var(--gnome-button-radius) !important; + --tab-hover-background-color: var(--gnome-hover-color) !important; + --tab-selected-bgcolor: var(--gnome-selected-color) !important; + --tab-pinned-container-margin-inline-expanded: calc(var(--gnome-toolbar-padding) / 2) !important; + --tabstrip-inner-border: 1px solid var(--gnome-border-color) !important; + + --gnome-tabbar-tab-close-overlay-bg: var(--gnome-tabbar-tab-hover-background); + + @media not -moz-pref("sidebar.verticalTabs") { + /* We need the hardcoded tab colors in horizontal tabs, beacuse of the close button overlay */ + --tab-hover-background-color: var(--gnome-tabbar-tab-hover-background) !important; + --tab-selected-bgcolor: var(--gnome-tabbar-tab-active-background) !important; + } +} + +/* Tabsbar */ +#TabsToolbar { + background-color: var(--gnome-tabbar-background) !important; + border-bottom: 0 !important; + padding: 0 calc(var(--gnome-toolbar-padding) / 2) !important; + position: relative; + z-index: 1; + + --toolbarbutton-inner-padding: var(--toolbarbutton-inner-padding) !important; + /* Remove hover effects on tab bar buttons */ + --toolbarbutton-active-background: transparent !important; + --toolbarbutton-hover-background: transparent !important; + /* Tabs scroll fade */ + --gnome-tabbar-fade-background: var(--gnome-tabbar-background); + + /* Remove tabbar's window controls */ + .titlebar-buttonbox-container { + display: none !important; + } + + /* Remove blank spaces on tabs start and end */ + .titlebar-spacer { + display: none !important; + } + + /* Tabsbar buttons */ + .toolbarbutton-1 { + border-radius: var(--gnome-button-radius) !important; + margin: 0px calc(var(--gnome-toolbar-spacing) / 2) var(--gnome-toolbar-padding) !important; + min-height: var(--gnome-button-size) !important; + min-width: var(--gnome-button-size) !important; + transition: background var(--gnome-animation-time); + + &:not([disabled]):not(:active):not([open]):hover { + background-color: var(--gnome-tabbar-tab-hover-background) !important; + } + &:active, &[open] { + background-color: var(--gnome-tabbar-tab-active-background) !important; + } + } +} + +/* Tabs container */ +#tabbrowser-tabs { + /* Horizontal */ + &[orient="horizontal"] { + &, arrowscrollbox { + height: auto !important; + min-height: auto !important; + --tab-min-height: var(--gnome-button-size) !important; + } + } + + /* Vertical */ + &[orient="vertical"] { + grid-gap: 0 !important; + + &[expanded] { + --tab-inner-inline-margin: var(--gnome-toolbar-padding) !important; + } + + #tabbrowser-arrowscrollbox-periphery > #tabs-newtab-button, + #vertical-tabs-newtab-button { + margin-block: calc(var(--gnome-toolbar-padding) / 2) !important; + } + } +} + +/* Tabs scroll */ +#tabbrowser-arrowscrollbox { + &[orient="horizontal"] { + position: relative !important; + } + + &[orient="vertical"] { + --gnome-undershoot-top: inset 0 1px color-mix(in srgb, var(--gnome-shade-color) 75%, transparent); + --gnome-undershoot-bottom: inset 0 -1px color-mix(in srgb, var(--gnome-shade-color) 75%, transparent); + + &[overflowing] { + &:not([scrolledtostart]) { + box-shadow: var(--gnome-undershoot-top); + } + &:not([scrolledtoend]) { + box-shadow: var(--gnome-undershoot-bottom); + } + &:not([scrolledtostart], [scrolledtoend]) { + box-shadow: var(--gnome-undershoot-top), var(--gnome-undershoot-bottom); + } + } + } +} + +/* Horizontal tabs scroll fade */ +#scrollbutton-up:has(~ scrollbox[orient="horizontal"]), +scrollbox[orient="horizontal"] ~ #scrollbutton-down { + border-top: 0 !important; + position: absolute !important; + z-index: 5 !important; + top: 0; + bottom: 0; +} +#scrollbutton-up:has(~ scrollbox[orient="horizontal"])[disabled], +scrollbox[orient="horizontal"] ~ #scrollbutton-down[disabled] { + display: none; +} +#scrollbutton-up:has(~ scrollbox[orient="horizontal"]) > .toolbarbutton-icon, +scrollbox[orient="horizontal"] ~ #scrollbutton-down > .toolbarbutton-icon{ + visibility: hidden; +} +scrollbox[orient="horizontal"] ~ #scrollbutton-down { + right: 0; + margin-inline-end: -5px !important; +} +#scrollbutton-up:has(~ scrollbox[orient="horizontal"]) { + left: 0; + margin-inline-start: -5px !important; +} +#scrollbutton-up:has(~ scrollbox[orient="horizontal"]):not([disabled])::after, +scrollbox[orient="horizontal"] ~ #scrollbutton-down:not([disabled])::after { + content: ""; + height: 39px; + position: absolute; + top: -3px; + z-index: -1; + width: 50px; + pointer-events: none; +} +#scrollbutton-up:has(~ scrollbox[orient="horizontal"]):not([disabled])::after { + background: linear-gradient(to right, var(--gnome-tabbar-fade-background) 10px, transparent); + left: 0; +} +scrollbox[orient="horizontal"] ~ #scrollbutton-down:not([disabled])::after { + background: linear-gradient(to left, var(--gnome-tabbar-fade-background) 10px, transparent); + right: 0; +} +spacer[part=overflow-start-indicator], spacer[part=overflow-end-indicator] { + width: 0 !important; + border: 0 !important; + margin-inline: 0 !important; +} + +/* Tabs */ +.tabbrowser-tab { + &[selected="true"] { + --gnome-tabbar-tab-close-overlay-bg: var(--gnome-tabbar-tab-active-background); + &:hover { + --gnome-tabbar-tab-close-overlay-bg: var(--gnome-tabbar-tab-active-hover-background) !important; + } + } + @media -moz-pref("gnomeTheme.closeOnlySelectedTabs") { + --gnome-tabbar-tab-close-overlay-bg: unset; + } + + /* OPTIONAL: Add more contrast to the active tab */ + @media -moz-pref("gnomeTheme.activeTabContrast") { + &[selected="true"], &:hover { + --tab-hover-background-color: var(--gnome-tabbar-tab-active-background-contrast) !important; + --tab-selected-bgcolor: var(--gnome-tabbar-tab-active-background-contrast) !important; + --gnome-tabbar-tab-close-overlay-bg: var(--gnome-tabbar-tab-active-background-contrast) !important; + } + } + + /* Horizontal tabs only */ + #tabbrowser-tabs[orient="horizontal"] & { + position: relative; + + > stack { + height: var(--tab-min-height) !important; + width: var(--tab-min-height) !important; + min-height: var(--tab-min-height) !important; + } + + /* Not in collapsed tab-group */ + :not([collapsed]) > & { + padding: 0px calc(var(--gnome-toolbar-spacing) / 2 - 1px) var(--gnome-toolbar-padding) !important; + &:not([hidden=true]):last-of-type { + padding-right: calc(var(--gnome-toolbar-spacing) / 2) !important; + } + + /* Full width tabs */ + @media not -moz-pref("gnomeTheme.normalWidthTabs") { + &:not([style^="max-width"]):not([pinned]), + &[style^="max-width: 100px !important;"]:not([pinned]) { + max-width: 100% !important; + --tab-min-width-pref: 131px !important; + } + &:not([style^="max-width"]):not([pinned]):not([fadein]), + &[style^="max-width: 100px !important;"]:not([pinned]):not([fadein]) { + max-width: .1px !important; + } + } + } + } + + /* Vertical tabs only */ + #tabbrowser-tabs[orient="vertical"] & { + padding-block: calc(var(--gnome-toolbar-spacing) / 2) !important; + &[pinned] { + padding-block: var(--gnome-toolbar-spacing) !important; + } + } +} + +/* Tab background */ +.tab-background { + box-shadow: none !important; + transition: background var(--gnome-tab-animation-time) linear !important; + margin-block: 0 !important; + + /* Selected hover */ + tab[selected]:hover & { + background-color: var(--gnome-selected-hover-color) !important; + @media not -moz-pref("sidebar.verticalTabs") { + background-color: var(--gnome-tabbar-tab-active-hover-background) !important; + } + } + + /* Use raised button colors for pinned tabs in vertical */ + #tabbrowser-tabs[orient="vertical"] tab[pinned] & { + background-color: var(--gnome-button-background) !important; + &[selected] { + background-color: var(--gnome-button-checked-background) !important; + } + + tab:hover & { + background-color: var(--gnome-button-hover-background) !important; + &[selected] { + background-color: var(--gnome-button-checked-hover-background) !important; + } + } + } + + /* Add solid bg on tabs dnd */ + #tabbrowser-tabs[movingtab] tab:is([multiselected], [selected]) & { + background-color: var(--gnome-tabbar-background) !important; + background-image: linear-gradient(var(--tab-selected-bgcolor), var(--tab-selected-bgcolor)) !important; + } +} + +/* Tab content */ +.tab-content { + #tabbrowser-tabs[orient="horizontal"] & { + /* Center content on horizontal tabs */ + align-items: center !important; + justify-content: center !important; + margin-top: -1px; + position: relative !important; + &:not([pinned]) { + padding: 0 4px !important; + } + &[pinned] { + padding: 0 5px !important; + } + + /* Rearrange contents */ + .tab-audio-button { + order: 0; + } + .tab-icon-stack { + order: 1; + } + .tab-label-container { + order: 2; + } + .tab-close-button { + order: 3; + } + + /* Prevent tab icons size breaking */ + .tab-icon-image, .tab-icon-sound, .tab-throbber, .tab-throbber-fallback, .tab-close-button { + min-width: 16px; + } + + /* Tab close button etc. positioning */ + .tab-throbber, .tab-icon-image, .tab-sharing-icon-overlay, .tab-icon-sound, .tab-close-button { + margin-top: 0 !important; + } + + /* Close button overlay */ + &:not([pinned])::before { + background: linear-gradient(to left, var(--gnome-tabbar-tab-close-overlay-bg) 50%, transparent); + border-radius: 0 4px 4px 0; + bottom: 2px; + content: ""; + height: calc(100% - 5px); + opacity: 0; + position: absolute; + right: 2px; + transition: all var(--gnome-tab-animation-time) linear; + width: 55px; + z-index: 99; + } + &:not([pinned])[selected]::before, + tab:hover &::before { + opacity: 1; + } + :root[dir="rtl"] &:not([pinned])::before { + display: none; + } + + /* Left close button */ + @media (-moz-gtk-csd-reversed-placement) and (not -moz-pref("gnomeTheme.swapTabClose")), + (-moz-pref("gnomeTheme.swapTabClose")) and (not (-moz-gtk-csd-reversed-placement)) { + /* Rearrange and fix alignment */ + .tab-audio-button { + order: 3 !important; + } + .tab-icon-stack { + margin-inline-start: 0 !important; + } + .tab-label-container { + margin-inline-end: auto !important; + } + .tab-close-button { + margin-inline-start: 0 !important; + order: 0 !important; + } + + /* Overlay is not longer needed */ + :root[dir="ltr"] &:not([pinned])::before { + display: none !important; + } + } + } +} + +/* Tab label */ +.tab-label-container { + #tabbrowser-tabs[orient="horizontal"] & { + min-width: 0 !important; + max-width: min-content !important; + :root[dir="ltr"] &:not([pinned]) { + margin-inline-end: -16px; + } + + /* Fix alignment when audio button is prestent */ + tab:is([muted], [soundplaying]) & { + @media (not (-moz-gtk-csd-reversed-placement)) and (not -moz-pref("gnomeTheme.swapTabClose")) { + margin-inline-end: 0 !important; + } + } + } + + /* Hide secondary label, muted, playing, etc */ + .tab-secondary-label { + display: none; + } +} + +/* Tab buttons */ +.tab-icon-overlay, +.tab-close-button { + border: 0 !important; + box-sizing: content-box !important; /* Avoid deformation on flexbox */ + border-radius: 50% !important; + padding: 4px !important; + background-image: none !important; + background-color: transparent !important; + background-size: 24px; + transition: all var(--gnome-animation-time) ease-out !important; + + &:hover { + background-color: var(--gnome-hover-color) !important; + } + &:active { + background-color: var(--gnome-active-color) !important; + } + + /* Set solid bg when in no expanded vertical tabs */ + #tabbrowser-tabs[orient="vertical"]:not([expanded]) & { + background-color: var(--gnome-window-background) !important; + } +} + +/* Audio button */ +.tab-audio-button { + --button-border-radius: 50% !important; + --button-size-icon-small: 24px !important; + + #tabbrowser-tabs[orient="horizontal"] & { + margin-inline: 0 !important; + } +} + +/* Tab close button */ +.tab-close-button { + fill: var(--gnome-window-color) !important; + fill-opacity: 1 !important; + height: 16px !important; + list-style-image: var(--gnome-icon-window-close-symbolic) !important; + width: 16px !important; + -moz-context-properties: fill, fill-opacity !important; + + #tabbrowser-tabs[orient="horizontal"] & { + margin-inline-start: auto; + margin-inline-end: 0 !important; + opacity: 1 !important; + z-index: 100 !important; + + /* Autohide */ + &:not([selected]) { + visibility: hidden !important; + opacity: 0 !important; + } + /* Show close button on tab hover */ + tab:hover & { + @media not -moz-pref("gnomeTheme.closeOnlySelectedTabs") { + visibility: visible !important; + opacity: 1 !important; + } + } + } +} + +/* Icon overlay */ +.tab-icon-overlay { + height: 12px !important; + left: 11px !important; + top: -3px !important; + width: 12px !important; + + &:not([crashed]) { + padding: 2px !important; + background: var(--gnome-button-background) !important; + &:hover { + background: var(--gnome-button-hover-background) !important; + } + } + + &[busy] { + display: none !important; + } +} + +/* Tab icon */ +.tab-icon-stack { + align-items: center; + + /* Avoid firefox hiding elements on indicator-replaces-favicon */ + &[indicator-replaces-favicon] :not(&) { + opacity: 1 !important; + } + + #tabbrowser-tabs[orient="horizontal"] & { + &:not([pinned]) { + margin-inline-start: auto !important; + margin-inline-end: 2px; + + @media -moz-pref("gnomeTheme.tabAlignLeft") { + /* OPTIONAL: Align tab items left */ + margin-inline-start: 0 !important; + padding: 0 5px !important; + } + + .tab-throbber, .tab-icon-pending, .tab-icon-image, .tab-sharing-icon-overlay, .tab-icon-overlay { + margin-inline-end: 0 !important; + } + } + + &[busy], &[sharing], .tab-icon-image:not([sharing]) { + padding: 4px; + } + + .tab-icon-image { + transition: opacity var(--gnome-animation-time) ease-out !important; + } + } + + &::before { + margin: 4px; + } +} + +/* Tabs separators */ +:root[dir="ltr"] #tabbrowser-tabs[orient="horizontal"] { + :not([collapsed]) > tab { + border-color: transparent !important; + border-left-width: 1px !important; + border-style: solid !important; + } + tab:not(:first-of-type, [selected], :hover) { + --gnome-tabbar-tab-separator-hack0: var(--gnome-tabbar-background); + --gnome-tabbar-tab-separator-hack1: linear-gradient( + to bottom, + var(--gnome-tabbar-tab-separator-hack0) 0, + var(--gnome-tabbar-tab-separator-hack0) 3px, + var(--gnome-tabbar-tab-separator-color) 3px, + var(--gnome-tabbar-tab-separator-color) 31px, + var(--gnome-tabbar-tab-separator-hack0) 31px, + var(--gnome-tabbar-tab-separator-hack0) 40px + ) 1; + border-image: var(--gnome-tabbar-tab-separator-hack1); + } + tab[selected] ~ tab:not([hidden="true"]) { + border-image: none; + } + tab[selected] ~ tab:not([hidden="true"]) ~ tab:not([hidden="true"]) { + border-image: var(--gnome-tabbar-tab-separator-hack1); + } + tab:hover ~ tab:not([hidden="true"]) { + border-image: none !important; + } + tab:hover ~ tab:not([hidden="true"]) ~ tab:not([hidden="true"]) { + border-image: var(--gnome-tabbar-tab-separator-hack1) !important; + } + tab:hover ~ tab[selected] ~ tab:not([hidden="true"]) { + border-image: none !important; + } + tab:hover ~ tab[selected] ~ tab:not([hidden="true"]) ~ tab:not([hidden="true"]) { + border-image: var(--gnome-tabbar-tab-separator-hack1) !important; + } + tab-group[collapsed] + tab { + border-image: none !important; + } +} + +/* Tabs group */ +tab-group { + #tabbrowser-tabs[orient="horizontal"] & { + .tab-group-line { + margin-block-end: calc(var(--gnome-toolbar-padding) * -1) !important; + margin-inline: calc((var(--gnome-toolbar-spacing) / 2) * -1) !important; + } + } + + #tabbrowser-tabs[orient="vertical"][expanded] & { + margin-inline-start: calc(var(--gnome-toolbar-padding) * 2) !important; + padding-inline-start: var(--tab-group-line-thickness); + } +} + +.tab-group-label-container { + #tabbrowser-tabs[orient="vertical"][expanded] & { + margin-block: 0 !important; + margin-inline-start: calc(var(--tab-group-line-thickness) * -1); + + } + #tabbrowser-tabs[orient="vertical"]:not([expanded]) & { + tab-group[collapsed] & { + margin-block: var(--gnome-toolbar-padding) !important; + } + } +} + +/* Tabs group label */ +.tab-group-label { + border-radius: 26px !important; + + tab-group[collapsed] & { + @media (prefers-color-scheme: dark) { + outline: 0 !important; + } + } + + #tabbrowser-tabs[orient="horizontal"] &, + #tabbrowser-tabs[orient="vertical"][expanded] & { + padding: 2px 9px !important; + } + + #tabbrowser-tabs[orient="vertical"][expanded] & { + align-items: center !important; + display: flex; + margin-block: var(--gnome-toolbar-padding) !important; + + &::before { + -moz-context-properties: fill; + fill: currentColor !important; + background: var(--gnome-icon-pan-end-symbolic) no-repeat; + background-size: contain; + content: ""; + display: block; + height: 16px; + margin-inline-end: 3px; + width: 16px; + } + tab-group:not([collapsed]) &::before { + background-image: var(--gnome-icon-pan-down-symbolic); + } + } +} + +/* Tabs group line */ +.tab-group-line { + #tabbrowser-tabs[orient="vertical"] & { + inset-block: -3px !important;; + } +} + +/* Tabs group overflow */ +.tab-group-overflow-count-container { + #tabbrowser-tabs[orient="vertical"] & { + padding-block-start: 0 !important; + } +} + +/* Remove spacing between pinned tabs and first tab */ +#tabbrowser-tabs[haspinnedtabs]:not([positionpinnedtabs]) > #tabbrowser-arrowscrollbox > .tabbrowser-tab:nth-child(1 of :not([pinned], [hidden])) { + margin-inline-start: 0 !important; +} + +/* Always display close icon (hidden) */ +#tabbrowser-tabs[closebuttons="activetab"] .tab-close-button:not([pinned]) { + display: block !important; +} + +/* Always show the muted icon when present */ +#tabbrowser-tabs:not([secondarytext-unsupported]) .tabbrowser-tab:not(:hover) .tab-icon-overlay[indicator-replaces-favicon] { + opacity: 1 !important; +} + +/* Fix custom info tab icon */ +.tabbrowser-tab[image="chrome://global/skin/icons/info.svg"]:not([pinned]):not([busy]):not([progress]) .tab-icon-stack::before { + margin-inline-end: 5.5px; +} +.tabbrowser-tab[image="chrome://global/skin/icons/info.svg"] .tab-icon-image { + display: none !important; +} + +/* Tabs containers */ +.tabbrowser-tab[usercontextid] { + & > .tab-stack > .tab-background > .tab-context-line { + display: none; + } + + .tab-label-container { + color: var(--identity-tab-color) !important; + font-weight: bold !important; + } + + #tabbrowser-tabs[orient="vertical"]:not([expanded]) & { + .tab-background { + outline: 1px solid var(--identity-tab-color) !important; + } + } +} +.identity-color-blue, +.identity-color-turquoise, +.identity-color-green, +.identity-color-yellow, +.identity-color-orange, +.identity-color-red, +.identity-color-pink, +.identity-color-purple { + --identity-icon-color: var(--identity-tab-color) !important; +} +.identity-color-blue { + --identity-tab-color: var(--gnome-tabbar-identity-color-blue) !important; +} +.identity-color-turquoise { + --identity-tab-color: var(--gnome-tabbar-identity-color-turquoise) !important; +} +.identity-color-green { + --identity-tab-color: var(--gnome-tabbar-identity-color-green) !important; +} +.identity-color-yellow { + --identity-tab-color: var(--gnome-tabbar-identity-color-yellow) !important; +} +.identity-color-orange { + --identity-tab-color: var(--gnome-tabbar-identity-color-orange) !important; +} +.identity-color-red { + --identity-tab-color: var(--gnome-tabbar-identity-color-red) !important; +} +.identity-color-pink { + --identity-tab-color: var(--gnome-tabbar-identity-color-pink) !important; +} +.identity-color-purple { + --identity-tab-color: var(--gnome-tabbar-identity-color-purple) !important; +} + +/* Needs attetion tab indicator */ +.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content, +.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged] { + background-size: 0px 0px !important; + background-position: center bottom !important; + transition-property: background-size; + transition-timing-function: cubic-bezier(0.4, 0, 0.2, 1); + transition-duration: calc(var(--gnome-animation-time) / 2); +} +.tabbrowser-tab:is([image], [pinned]) > .tab-stack > .tab-content[attention]:not([selected]), +.tabbrowser-tab > .tab-stack > .tab-content[pinned][titlechanged]:not([selected]) { + background-image: radial-gradient(var(--gnome-tabbar-tab-needs-attetion), var(--gnome-tabbar-tab-needs-attetion) 10px) !important; + background-size: clamp(20%, 50%, 7rem) 2px !important; +} +.tab-label[attention]:not([selected]) { + font-weight: normal !important; +} + +/* Tab spinner */ +.tab-throbber::before { + animation: none !important; + background-image: url("../icons/spinner.png") !important; + background-size: 16px; + width: 16px !important; + opacity: 1 !important; + @media (prefers-color-scheme: dark) { + background-image: url("../icons/spinner-dark.png") !important; + } +} + +/* Tabs manager menu */ +#alltabs-button { + @media not -moz-pref("gnomeTheme.allTabsButton") { + visibility: collapse; + } + + @media -moz-pref("browser.tabs.tabmanager.enabled"), -moz-pref("gnomeTheme.allTabsButtonOnOverflow") { + #tabbrowser-tabs[overflow] ~ & { + visibility: visible; + } + } + + #tabbrowser-tabs:not([overflow])[using-closing-tabs-spacer] ~ & { + display: none !important; + } +} + +/* Firefox View */ +#TabsToolbar #firefox-view-button .toolbarbutton-icon { + box-shadow: none !important; + fill: var(--gnome-toolbar-icon-fill) !important; + height: 16px !important; + opacity: 1 !important; + width: 16px !important; + overflow: visible !important; + border-radius: initial !important; +} +:root:not([privatebrowsingmode="temporary"]):not([firefoxviewhidden]) :is(#firefox-view-button, #wrapper-firefox-view-button) + #tabbrowser-tabs { + border-inline-start: 0 !important; + padding-inline-start: var(--tab-overflow-pinned-tabs-width) !important; + margin-inline-start: 0 !important; +} + +/* OPTIONAL: Hide single tab */ +@media -moz-pref("gnomeTheme.hideSingleTab") and (not -moz-pref("sidebar.verticalTabs")) { + #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) { + :is(tab, tab ~ toolbarbutton, tab ~ #tabbrowser-arrowscrollbox-periphery) { + visibility: collapse; + } + ~ #alltabs-button { + visibility: collapse; + } + } +} + +/* OPTIONAL: Use tabs as headerbar */ +@media -moz-pref("gnomeTheme.tabsAsHeaderbar") and (not -moz-pref("sidebar.verticalTabs")) { + /* Rearrange bars */ + #navigator-toolbox #TabsToolbar { + order: 0; + } + #navigator-toolbox #toolbar-menubar { + order: 1; + } + #navigator-toolbox #nav-bar { + order: 3; + } + #navigator-toolbox #PersonalToolbar { + order: 4; + } + @media -moz-pref("gnomeTheme.bookmarksToolbarUnderTabs") { + #navigator-toolbox #PersonalToolbar { + order: 2 !important; + } + } + + #TabsToolbar { + /* Spacing should be removed on the side touching the URL bar */ + .toolbarbutton-1, + .titlebar-button { + margin-bottom: 0 !important; + } + + .toolbarbutton-1 { + margin-top: var(--gnome-toolbar-padding) !important; + } + } + + + #tabbrowser-tabs[orient="horizontal"] { + /* Invert padding */ + :not([collapsed]) > .tabbrowser-tab, .tabbrowser-tab { + padding-bottom: 0px !important; + padding-top: var(--gnome-toolbar-padding) !important; + } + + /* Move tab group line to top */ + .tab-group-label-container::after { + inset: 0 !important; + } + tab-group { + .tab-group-line { + margin-block-end: 0 !important; + margin-block-start: calc(var(--gnome-toolbar-padding) * -1) !important; + top: 0 !important; + } + } + + /* Tabs separators */ + :root[dir="ltr"] & { + tab:not(:first-of-type, [selected], :hover) { + --gnome-tabbar-tab-separator-hack1: linear-gradient( + to bottom, + var(--gnome-tabbar-tab-separator-hack0) 0, + var(--gnome-tabbar-tab-separator-hack0) 9px, + var(--gnome-tabbar-tab-separator-color) 9px, + var(--gnome-tabbar-tab-separator-color) 37px, + var(--gnome-tabbar-tab-separator-hack0) 37px, + var(--gnome-tabbar-tab-separator-hack0) 40px + ) 1; + border-image: var(--gnome-tabbar-tab-separator-hack1); + } + } + + } + + /* Remove nav-bar rounding and padding */ + :root[customtitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) #nav-bar { + border-radius: 0 !important; + } + + /* Round and pad tab-bar */ + :root[customtitlebar][sizemode="normal"]:not([gtktiledwindow="true"]) #TabsToolbar { + border-radius: env(-moz-gtk-csd-titlebar-radius) env(-moz-gtk-csd-titlebar-radius) 0 0 !important + } + :root[customtitlebar]:not([inFullscreen], [sizemode="maximized"]) #TabsToolbar .toolbar-items { + padding: 0 46px; + } + + /* Hide duplicate window controls from navbar */ + :root[customtitlebar] #nav-bar .titlebar-buttonbox-container { + display: none !important; + } + + /* Force displaying controls in tab-bar */ + :root[customtitlebar]:not([inDOMFullscreen]) #TabsToolbar .titlebar-buttonbox-container { + display: flex !important; + padding-top: var(--gnome-toolbar-padding) !important; + visibility: visible !important; + } + + /* Blend single tab into whole bar */ + @media -moz-pref("gnomeTheme.hideSingleTab") { + #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) :is( + tab, + tab ~ toolbarbutton, + tab ~ #tabbrowser-arrowscrollbox-periphery + ) { + visibility: visible; + } + #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) tab { + -moz-window-dragging: drag !important; + } + #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) .tab-background { + display: none !important + } + #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) .tab-close-button { + visibility: hidden !important; + opacity: 0 !important; + } + #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) .tab-content::before { + --gnome-tabbar-tab-close-overlay-bg: unset !important; + } + :root[dir="ltr"] #tabbrowser-tabs:not(:has(tab:not([hidden="true"]) ~ tab:not([hidden="true"]))) .tab-label-container[textoverflow="true"] { + margin-inline-end: -16px; + } + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/toolbox.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/toolbox.css new file mode 100644 index 0000000..7807ca9 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/toolbox.css @@ -0,0 +1,189 @@ +/* Toolbox, a container for all toolbars (toolbox#navigator-toolbox): + * - menu bar (toolbar#toolbar-menubar) + * - tab bar (toolbar#TabsToolbar) + * - header bar (toolbar#nav-bar) + * - bookmark bar (toolbar#PersonalToolbar) + * - add-ons can add their own toolbars (toolbar) */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +:root { + --tabpanel-background-color: --gnome-window-background !important; +} + +/* Toolbox colors */ +#navigator-toolbox { + background: var(--gnome-toolbar-background) !important; + border-bottom: 1px solid var(--gnome-toolbar-border-color) !important; +} + +#PersonalToolbar, #toolbar-menubar, #TabsToolbar, findbar { + appearance: none !important; + border: 0 !important; + background: var(--gnome-toolbar-background) !important; + &:-moz-window-inactive { + opacity: 1 !important; + } +} +findbar { + border-top: 1px solid var(--gnome-toolbar-border-color) !important; +} +#nav-bar:-moz-window-inactive, +#PersonalToolbar:-moz-window-inactive, +#toolbar-menubar:-moz-window-inactive, +#TabsToolbar:-moz-window-inactive, +findbar:-moz-window-inactive, +.container.infobar:-moz-window-inactive { + transition: background var(--gnome-animation-time) ease-out; +} + +#navigator-toolbox:-moz-window-inactive label, +#downloads-indicator-anchor:-moz-window-inactive, +findbar:-moz-window-inactive image:not(#hack), +findbar:-moz-window-inactive label, +findbar:-moz-window-inactive description, +#viewButton:-moz-window-inactive dropmarker, +.container.infobar:-moz-window-inactive { + opacity: 0.5 !important; +} + +#toolbar-menubar:not([inactive=true]) { + margin-bottom: 0 !important; +} + +/* Overrides: Remove border below the menu bar / above the header bar */ +#TabsToolbar:not([collapsed="true"]) + #nav-bar { + border-top-width: 0 !important; +} +#navigator-toolbox::after { + border-bottom-width: 0 !important; +} + +/* Reorder toolbars */ +#navigator-toolbox #nav-bar { + order: 0; +} +#navigator-toolbox #PersonalToolbar { + order: 2; +} +#navigator-toolbox #TabsToolbar { + order: 3; +} + +#notifications-toolbar { + order: 100; +} +.notificationbox-stack { + order: 1000; +} + +/* Content notifications */ +.notificationbox-stack notification-message { + background-color: color-mix(in srgb, var(--gnome-accent-bg) 30%, var(--gnome-window-background)) !important; + border: 0 !important; + border-top: 1px solid var(--gnome-toolbar-border-color) !important; + border-radius: 0 !important; + margin: 0 !important; + + &[type="warning"] { + background-color: #ffe900 !important; + } + &[type="critical"] { + background-color: #d70022 !important; + } + + &[style*="margin-top"] { + margin-top: -48px !important; + } + + &::before { + display: none !important; + } +} +link[href="chrome://global/content/elements/moz-message-bar.css"] ~ .container { + background: none !important; + border-radius: 0 !important; + box-shadow: none !important; + gap: var(--gnome-toolbar-spacing) !important; + padding: var(--gnome-toolbar-padding) !important; + + .close { + margin: 0 !important; + } + + .icon { + color: var(--gnome-window-color); + height: 16px !important; + width: 16px !important; + margin: 8px 0 !important; + } + + .text-container { + flex: auto; + padding-block: 0 !important; + } + + .text-content { + font-weight: bold !important; + } +} + +/* Bookmarks */ +#PersonalToolbar { + padding: var(--gnome-toolbar-padding) !important; + padding-top: 0 !important; + --bookmarks-toolbar-overlapping-browser-height: auto; +} +#PlacesToolbar toolbarseparator { + border-top: 0 !important; +} +#PlacesToolbarItems > toolbarseparator::before { + border-image-source: none !important; + border-color: var(--gnome-tabbar-tab-separator-color) !important; +} +@media -moz-pref("gnomeTheme.bookmarksOnFullscreen") { /* OPTIONAL: Show bookmarks bar while in fullscreen */ + :root[inFullscreen] #PersonalToolbar{ + visibility: visible !important; + } +} + +#import-button, +#PlacesToolbar .bookmark-item { + border-radius: 6px !important; + color: var(--gnome-window-color) !important; + padding: 3px 6px !important; + + &:hover { + background-color: var(--gnome-selected-color) !important; + } + &:active, &[open] { + background-color: var(--gnome-selected-active-color) !important; + } +} + +/* Text link */ +.text-link, a { + color: var(--gnome-accent) !important; +} + +/* Selection*/ +*::-moz-selection { + background-color: var(--gnome-selection-bg) !important; +} + +/* OPTIONAL: Hide WebRTC indicator */ +@media -moz-pref("gnomeTheme.hideWebrtcIndicator") { + #webrtcIndicator { + display: none; + } +} + +/* OPTIONAL: Move Bookmarks toolbar under tabs */ +@media -moz-pref("gnomeTheme.bookmarksToolbarUnderTabs") { + #navigator-toolbox #PersonalToolbar { + order: 3; + } + #navigator-toolbox #TabsToolbar { + order: 2; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/urlbar.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/urlbar.css new file mode 100644 index 0000000..7059400 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/urlbar.css @@ -0,0 +1,263 @@ +/* Header bar's URL bar */ + +@namespace xul "http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"; + +#urlbar { + --urlbar-height: 34.00px; + --urlbar-toolbar-height: 34.00px !important; +} + +#urlbar-container { + --urlbar-container-height: 34px !important; + + @media (max-width: 630px) { + width: auto !important; + } +} + +/* Center the URL bar */ +toolbarspring { + max-width: 10000px !important; +} + +/* URL bar */ +#urlbar { + box-shadow: none !important; + &[breakout] { + width: calc(var(--urlbar-width) - var(--gnome-toolbar-spacing)) !important; + } + + .urlbar-background { + box-shadow: var(--gnome-entry-box-shadow) !important; + border: 0 !important; + border-radius: var(--gnome-entry-radius) !important; + background: transparent !important; + } + + .urlbar-input-container { + padding: 0 !important; + } +} + +.urlbar-input::placeholder, .searchbar-textbox::placeholder { + opacity: 0.85 !important; +} + +#urlbar-searchmode-switcher { + background-color: transparent !important; + border-radius: var(--gnome-button-radius) !important; + &:hover { + background-color: var(--gnome-hover-color) !important; + } + &:active, &[open] { + background-color: var(--gnome-active-color) !important; + } + #urlbar[searchmode] & { + background-color: var(--gnome-selected-color) !important; + border-start-end-radius: 0 !important; + border-end-end-radius: 0 !important; + &:hover { + background-color: var(--gnome-selected-hover-color) !important; + } + &:active, &[open] { + background-color: var(--gnome-selected-active-color) !important; + } + } +} +#searchmode-switcher-icon { + margin-inline-start: 6px !important; +} +#searchmode-switcher-chicklet { + background-color: var(--gnome-button-background) !important; + border-start-end-radius: var(--gnome-button-radius) !important; + border-end-end-radius: var(--gnome-button-radius) !important; +} +#searchmode-switcher-title { + color: var(--gnome-window-color); + padding-inline: 4px !important; +} +#searchmode-switcher-close { + background-size: 16px !important; + border-radius: 24px !important; + width: 24px !important; + height: 24px !important; +} + +/* URL bar results */ +.urlbarView { + background: transparent !important; + color: var(--gnome-window-color) !important; + margin: 11px 0 0 -3px !important; + position: absolute !important; + box-shadow: var(--gnome-menu-shadow) !important; + border-radius: 12px !important; + width: 100% !important; +} + +/* Search bar result */ +#PopupSearchAutoComplete { + margin-top: 7px !important; +} + +.urlbarView-body-outer { + --item-padding-start: 0 !important; + --item-padding-end: 0 !important; + background: var(--gnome-menu-background) !important; + overflow-x: auto; + padding: 2px 6px !important; + border-radius: 8px 8px 0 0 !important; +} + +.urlbarView-body-inner { + border: 0 !important; +} + +.urlbarView-row-inner, .urlbarView-no-wrap { + align-items: center !important; +} +.urlbarView-row-inner { + padding-block: 5px !important; + border-radius: 5px !important; +} + +.urlbarView-row[selected] { + background: var(--gnome-selected-color) !important; + color: var(--gnome-window-color) !important; +} +.urlbarView-row[selected]:hover { + background: var(--gnome-selected-hover-color) !important; +} +.urlbarView-row:not([selected]):hover { + background: var(--gnome-hover-color) !important; +} +.urlbarView-row:not([selected]):active { + background: var(--gnome-active-color) !important; +} + +.urlbarView-url { + color: var(--gnome-accent) !important; +} + +.urlbarView-action { + background: transparent !important; +} + +/* Fix items overflow */ +.urlbarView[actionoverride] .urlbarView-row[has-url] > .urlbarView-row-inner > .urlbarView-no-wrap, +.urlbarView-row[has-url]:not([type$="tab"]) > .urlbarView-row-inner > .urlbarView-no-wrap, .urlbarView-row[has-url]:is([type="remotetab"], +[sponsored]):is(:hover, [selected]) > .urlbarView-row-inner > .urlbarView-no-wrap { + max-width: calc(96% - 2 * (var(--urlbarView-favicon-width) + (6px + 2px))) !important; +} + +/* Search engines buttons */ +.search-one-offs { + padding: 8px !important; + background: var(--gnome-menu-background) !important; + border-top: 1px solid var(--gnome-menu-separator-color) !important; + border-radius: 0 0 8px 8px !important; +} + +.search-one-offs[is_searchbar="true"] { + margin-bottom: -8px !important; +} + +/* URL bar and Search bar */ +#urlbar[focused] .urlbar-textbox-container { + margin: -1px !important; +} +#searchbar > .searchbar-textbox[focused] .searchbar-search-button { + margin-left: -1px !important; +} +#searchbar > .searchbar-textbox[focused] .search-go-button { + margin-right: -1px !important; +} + +/* URL bar and Search bar's icons */ +.urlbar-icon:hover, +.urlbar-icon-wrapper:hover, +.urlbar-icon[open], +.urlbar-icon-wrapper[open], +.urlbar-icon:hover:active, +.urlbar-icon-wrapper:hover:active, +.searchbar-search-button:hover .searchbar-search-icon, +.searchbar-search-button[open] .searchbar-search-icon, +.searchbar-search-button:hover:active .searchbar-search-icon { + background-color: transparent !important; + fill-opacity: 1 !important; +} + +#urlbar .urlbar-icon { + margin: 0 !important; + height: 100% !important; +} +#notification-popup-box { + height: 100% !important; +} + +@media -moz-pref("browser.urlbar.richSuggestions.featureGate") { + #urlbar:not(.searchButton) > .urlbar-input-container > #identity-box[pageproxystate="invalid"] > .identity-box-button { + margin-inline-start: 2px; + } +} + +/* Search mode indicator */ +#urlbar-search-mode-indicator, +#urlbar-label-box, +#urlbar-zoom-button { + background: var(--gnome-button-background) !important; + border: 0 !important; + border-radius: 26px !important; + outline: 0 !important; + margin: 4px 0; +} +#urlbar-search-mode-indicator { + padding-right: 0 !important; +} +#urlbar-search-mode-indicator-title { + color: var(--gnome-window-color); + padding-inline: 4px !important; +} +#urlbar-search-mode-indicator-close { + background-size: 16px !important; + background-position: center; + border-radius: 26px !important; + padding: 5px !important; +} +#urlbar-search-mode-indicator-close:hover { + background-color: var(--gnome-button-hover-background) !important; +} +#urlbar-zoom-button { + opacity: 0.8; +} +#urlbar-zoom-button:hover { + opacity: 1; +} + +/* Firefox identity box */ +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button, +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button, +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button, +#urlbar-label-box { + background-color: transparent !important; +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:hover:not([open]), +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:hover:not([open]), +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:hover:not([open]) { + background-color: hsla(0,0%,70%,.2) !important; +} + +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].notSecureText > .identity-box-button[open=true], +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].chromeUI > .identity-box-button[open=true], +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button:hover:active, +#identity-box[pageproxystate="valid"].extensionPage > .identity-box-button[open=true] { + background-color: hsla(0,0%,70%,.3) !important; +} + +@media -moz-pref("browser.urlbar.richSuggestions.featureGate") { + #identity-box[pageproxystate="invalid"] > .identity-box-button { + padding-inline: var(--urlbar-icon-padding) !important; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/video-player.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/video-player.css new file mode 100644 index 0000000..bc8a6a0 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/parts/video-player.css @@ -0,0 +1,75 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@namespace html url("http://www.w3.org/1999/xhtml"); + +/** Video player **/ + +.progressBar::-moz-progress-bar { + background-color: #fff !important; +} + +.scrubber:hover::-moz-range-thumb, +.volumeControl:hover::-moz-range-thumb { + background-color: #ccc !important; +} + +.scrubber:active::-moz-range-thumb, +.volumeControl:active::-moz-range-thumb { + background-color: #bbb !important; +} + +.controlBar { + border-radius: 5px; + margin: auto; + margin-bottom: 5px; + width: 98.5%; + max-width: 800px; + height: 30px !important; + background-color: rgba(20,20,20,0.8) !important; +} + +.controlBar > .button:enabled:hover { + fill: #ccc !important; +} + +.controlBar > .button:enabled:hover:active { + fill: #bbb !important; +} + +.scrubberStack { + margin: 0 10px; +} + +.playButton { + scale: 0.8; +} + + + +/** Vertical Volume Bar **/ +/* I'm to stupid to get this working. Wasn't able to set proper position relative to mute button */ + +/* .muteButton:hover ~ .volumeStack{ + margin-bottom: 129px !important; + } + .volumeStack:hover { + margin-bottom: 129px !important; + } + + .volumeStack { + transform: rotate(270deg); + max-height: 33px !important; + min-width: 100px !important; + position:absolute !important; + margin-bottom: -150px !important; + background-color: rgba(20,20,20,0.8) !important; + border-bottom-right-radius: 5px !important; + border-top-right-radius: 5px !important; + transition-property: margin-bottom; + transition-duration: 0.13s; + transition-timing-function: linear; + } + + .volumeControl{ + width: 92% !important; + margin-left: 5px !important; +} */ diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/platforms/windows.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/platforms/windows.css new file mode 100644 index 0000000..5ad8ae8 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/platforms/windows.css @@ -0,0 +1,2 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/symbolic-tab-icons.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/symbolic-tab-icons.css new file mode 100644 index 0000000..dc8ee98 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/symbolic-tab-icons.css @@ -0,0 +1,17 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Icons light/dark fix coloring hack filters */ +:root { + --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%) invert(100%); +} +@media (prefers-color-scheme: dark) { + :root { + --gnome-convert-icon-to-symbolic-hack-filter: invert(100%) sepia(100%) grayscale(100%) brightness(200%) brightness(85%); + } +} + +/* Make all tab icons look kinda like symbolic icons */ +tab .tab-icon-image { + filter: var(--gnome-convert-icon-to-symbolic-hack-filter); +} + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/system-icons.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/system-icons.css new file mode 100644 index 0000000..60952d7 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/system-icons.css @@ -0,0 +1,98 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); + +/* Icons light/dark fix coloring hack filters */ +:root { + --gnome-icons-hack-filter: brightness(0) saturate(100%) invert(37%) sepia(8%) saturate(683%) hue-rotate(183deg) brightness(95%) contrast(84%); + --gnome-window-icons-hack-filter: brightness(0) saturate(100%) invert(37%) sepia(8%) saturate(683%) hue-rotate(183deg) brightness(95%) contrast(84%); + @media (prefers-color-scheme: dark) { + --gnome-icons-hack-filter: brightness(0) saturate(100%) invert(94%) sepia(11%) saturate(362%) hue-rotate(184deg) brightness(95%) contrast(87%); + --gnome-window-icons-hack-filter: brightness(0) saturate(100%) invert(94%) sepia(11%) saturate(362%) hue-rotate(184deg) brightness(95%) contrast(87%); + } +} + +/* Use system theme icons instead of Adwaita icons included by theme */ +:root { + --gnome-icon-application-x-addon-symbolic: url("moz-icon://stock/application-x-addon-symbolic?size=dialog") !important; + --gnome-icon-applications-engineering-symbolic: url("moz-icon://stock/applications-engineering-symbolic?size=dialog") !important; + --gnome-icon-edit-copy-symbolic: url("moz-icon://stock/edit-copy-symbolic?size=dialog") !important; + --gnome-icon-edit-cut-symbolic: url("moz-icon://stock/edit-cut-symbolic?size=dialog") !important; + --gnome-icon-edit-find-symbolic: url("moz-icon://stock/edit-find-symbolic?size=dialog") !important; + --gnome-icon-edit-paste-symbolic: url("moz-icon://stock/edit-paste-symbolic?size=dialog") !important; + --gnome-icon-folder-download-symbolic: url("moz-icon://stock/folder-download-symbolic?size=dialog") !important; + --gnome-icon-go-next-symbolic: url("moz-icon://stock/go-next-symbolic?size=dialog") !important; + --gnome-icon-go-previous-symbolic: url("moz-icon://stock/go-previous-symbolic?size=dialog") !important; + --gnome-icon-mail-unread-symbolic: url("moz-icon://stock/mail-unread-symbolic?size=dialog") !important; + --gnome-icon-open-menu-symbolic: url("moz-icon://stock/open-menu-symbolic?size=dialog") !important; + --gnome-icon-pan-down-symbolic: url("moz-icon://stock/pan-down-symbolic?size=dialog") !important; + --gnome-icon-pan-down-symbolic: url("moz-icon://stock/pan-down-symbolic?size=dialog") !important; + --gnome-icon-preferences-system-symbolic: url("moz-icon://stock/preferences-system-symbolic?size=dialog") !important; + --gnome-icon-preferences-system-time-symbolic: url("moz-icon://stock/preferences-system-time-symbolic?size=dialog") !important; + --gnome-icon-printer-symbolic: url("moz-icon://stock/printer-symbolic?size=dialog") !important; + --gnome-icon-process-stop-symbolic: url("moz-icon://stock/process-stop-symbolic?size=dialog") !important; + --gnome-icon-starred-symbolic: url("moz-icon://stock/starred-symbolic?size=dialog") !important; + --gnome-icon-tab-new-symbolic: url("moz-icon://stock/tab-new-symbolic?size=dialog") !important; + --gnome-icon-user-home-symbolic: url("moz-icon://stock/user-home-symbolic?size=dialog") !important; + --gnome-icon-view-fullscreen-symbolic: url("moz-icon://stock/view-fullscreen-symbolic?size=dialog") !important; + --gnome-icon-view-refresh-symbolic: url("moz-icon://stock/view-refresh-symbolic?size=dialog") !important; + --gnome-icon-view-restore-symbolic: url("moz-icon://stock/view-restore-symbolic?size=dialog") !important; + --gnome-icon-window-close-symbolic: url("moz-icon://stock/window-close-symbolic?size=dialog") !important; + --gnome-icon-window-maximize-symbolic: url("moz-icon://stock/window-maximize-symbolic?size=dialog") !important; + --gnome-icon-window-minimize-symbolic: url("moz-icon://stock/window-minimize-symbolic?size=dialog") !important; + --gnome-icon-window-new-symbolic: url("moz-icon://stock/window-new-symbolic?size=dialog") !important; + --gnome-icon-window-restore-symbolic: url("moz-icon://stock/window-restore-symbolic?size=dialog") !important; + --gnome-icon-zoom-in-symbolic: url("moz-icon://stock/zoom-in-symbolic?size=dialog") !important; + --gnome-icon-zoom-out-symbolic: url("moz-icon://stock/zoom-out-symbolic?size=dialog") !important; +} + +/* Apply icon color filter */ +:root[customtitlebar] .titlebar-buttonbox .titlebar-close .toolbarbutton-icon, +.close-icon, +#nav-bar #back-button .toolbarbutton-icon, +#nav-bar #forward-button .toolbarbutton-icon, +#PanelUI-menu-button .toolbarbutton-icon, +#new-tab-button .toolbarbutton-icon, +#tabs-newtab-button .toolbarbutton-icon, +#TabsToolbar #new-tab-button .toolbarbutton-icon, +#home-button .toolbarbutton-icon, +#preferences-button .toolbarbutton-icon, +#fullscreen-button .toolbarbutton-icon, +#zoom-out-button .toolbarbutton-icon, +#zoom-in-button .toolbarbutton-icon, +#developer-button .toolbarbutton-icon, +#email-link-button .toolbarbutton-icon, +#print-button .toolbarbutton-icon, +#add-ons-button .toolbarbutton-icon, +#find-button .toolbarbutton-icon, +#new-window-button .toolbarbutton-icon, +#bookmarks-menu-button .toolbarbutton-icon, +#history-panelmenu .toolbarbutton-icon, +#alltabs-button .toolbarbutton-icon, +#cut-button .toolbarbutton-icon, +#copy-button .toolbarbutton-icon, +#paste-button .toolbarbutton-icon, +#reload-button .toolbarbutton-icon, +#context-reload .toolbarbutton-icon, +#stop-button .toolbarbutton-icon, +#context-stop .toolbarbutton-icon, +#downloads-indicator-icon, +#downloads-indicator-icon .toolbarbutton-icon, +#nav-bar-overflow-button .toolbarbutton-icon, +#context-back .menu-iconic-icon, +#context-forward .menu-iconic-icon, +#appMenu-zoom-controls .toolbarbutton-icon, +#unified-extensions-button .toolbarbutton-icon, +#identity-icon { + filter: var(--gnome-window-icons-hack-filter) !important; +} + +/* Fix icon size */ +toolbar .toolbarbutton-1 > .toolbarbutton-icon, +#downloads-indicator-icon { + width: 16px !important; + height: 16px !important; + padding: 0 !important; +} +:root[customtitlebar] #titlebar .titlebar-button .toolbarbutton-icon, +:root[customtitlebar][inFullscreen] #window-controls toolbarbutton .toolbarbutton-icon { + width: 16px; +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/variables.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/variables.css new file mode 100644 index 0000000..2e47c93 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/theme/variables.css @@ -0,0 +1,24 @@ +:root { + --gnome-toolbar-padding: 6px; + --gnome-toolbar-spacing: 6px; + --gnome-button-radius: 9px; + --gnome-button-size: 34px; + --gnome-entry-radius: var(--gnome-button-radius); + --gnome-entry-height: var(--gnome-button-size); + --gnome-card-radius: 12px; + --gnome-menu-radius: 9px; + --gnome-menu-padding: 6px; + --gnome-menu-item-padding: 12px; + --gnome-popover-radius: calc(var(--gnome-menu-radius) + 6px); + --gnome-dialog-radius: 18px; /* Alert dialog */ + --gnome-dialog-padding: 24px; + + /* Animations */ + --gnome-animation-time: 300ms; + --gnome-tab-animation-time: 200ms; + + @media (prefers-reduced-motion) { + --gnome-animation-time: 0ms; + --gnome-tab-animation-time: 0ms; + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/userChrome.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/userChrome.css new file mode 100644 index 0000000..c8a72ee --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/userChrome.css @@ -0,0 +1,9 @@ + +/* Import theme */ +@import "theme/gnome-theme.css"; + +/* Import a custom stylesheet + * Everything you add in your customChrome.css file (it doesn't exist by + * default) will be included here and preserved between updates. + * You can apply your own custom styles in that file. */ +@import "customChrome.css"; /**/ diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/userContent.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/userContent.css new file mode 100644 index 0000000..8a2bfca --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/firefox-gnome-theme/userContent.css @@ -0,0 +1,14 @@ +@import "theme/variables.css"; +@import "theme/colors/light.css"; +@import "theme/colors/dark.css"; + +@import "theme/pages/newtab.css"; +@import "theme/pages/privatebrowsing.css"; + +@import "theme/parts/video-player.css"; + +/* Import a custom stylesheet + * Everything you add in your customContent.css file (it doesn't exist by + * default) will be included here and preserved between updates. + * You can apply your own custom styles in that file. */ +@import "customContent.css"; /**/ \ No newline at end of file diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/userChrome.css.tmpl b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/userChrome.css.tmpl new file mode 100644 index 0000000..7cff1de --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/userChrome.css.tmpl @@ -0,0 +1,93 @@ +@import "firefox-gnome-theme/userChrome.css"; + +@import "firefox-gnome-theme/userChrome.css"; + +/* This is strongly inspired by ../gtk/gtk.mustache. */ +:root { + /* Palette */ + --gnome-palette-blue-1: #{{.colors.base0D}}; + --gnome-palette-blue-2: #{{.colors.base0D}}; + --gnome-palette-blue-3: #{{.colors.base0D}}; + --gnome-palette-blue-4: #{{.colors.base0D}}; + --gnome-palette-blue-5: #{{.colors.base0D}}; + --gnome-palette-green-1: #{{.colors.base0B}}; + --gnome-palette-green-2: #{{.colors.base0B}}; + --gnome-palette-green-3: #{{.colors.base0B}}; + --gnome-palette-green-4: #{{.colors.base0B}}; + --gnome-palette-green-5: #{{.colors.base0B}}; + --gnome-palette-yellow-1: #{{.colors.base0A}}; + --gnome-palette-yellow-2: #{{.colors.base0A}}; + --gnome-palette-yellow-3: #{{.colors.base0A}}; + --gnome-palette-yellow-4: #{{.colors.base0A}}; + --gnome-palette-yellow-5: #{{.colors.base0A}}; + --gnome-palette-orange-1: #{{.colors.base09}}; + --gnome-palette-orange-2: #{{.colors.base09}}; + --gnome-palette-orange-3: #{{.colors.base09}}; + --gnome-palette-orange-4: #{{.colors.base09}}; + --gnome-palette-orange-5: #{{.colors.base09}}; + --gnome-palette-red-1: #{{.colors.base08}}; + --gnome-palette-red-2: #{{.colors.base08}}; + --gnome-palette-red-3: #{{.colors.base08}}; + --gnome-palette-red-4: #{{.colors.base08}}; + --gnome-palette-red-5: #{{.colors.base08}}; + --gnome-palette-purple-1: #{{.colors.base0E}}; + --gnome-palette-purple-2: #{{.colors.base0E}}; + --gnome-palette-purple-3: #{{.colors.base0E}}; + --gnome-palette-purple-4: #{{.colors.base0E}}; + --gnome-palette-purple-5: #{{.colors.base0E}}; + --gnome-palette-brown-1: #{{.colors.base0F}}; + --gnome-palette-brown-2: #{{.colors.base0F}}; + --gnome-palette-brown-3: #{{.colors.base0F}}; + --gnome-palette-brown-4: #{{.colors.base0F}}; + --gnome-palette-brown-5: #{{.colors.base0F}}; + --gnome-palette-light-1: #{{.colors.base05}}; + --gnome-palette-light-2: #{{.colors.base05}}; + --gnome-palette-light-3: #{{.colors.base05}}; + --gnome-palette-light-4: #{{.colors.base05}}; + --gnome-palette-light-5: #{{.colors.base05}}; + --gnome-palette-dark-1: #{{.colors.base05}}; + --gnome-palette-dark-2: #{{.colors.base05}}; + --gnome-palette-dark-3: #{{.colors.base05}}; + --gnome-palette-dark-4: #{{.colors.base05}}; + --gnome-palette-dark-5: #{{.colors.base05}}; + + /* Colors */ + --gnome-warning-bg: #{{.colors.base0E}}; + + /* Wind.colors.ow */ + --gnome-window-background: #{{.colors.base00}}; + --gnome-window-color: #{{.colors.base05}}; + --gnome-view-background: #{{.colors.base00}}; + --gnome-sidebar-background: #{{.colors.base01}}; + --gnome-secondary-sidebar-background: #{{.colors.base01}}; + + /* Card */ + --gnome-card-background: #{{.colors.base01}}; + --gnome-card-shade-color: rgba(0, 0, 0, 0.07); + + /* Menu */ + --gnome-menu-background: #{{.colors.base01}}; + + /* Headerbar */ + --gnome-headerbar-background: #{{.colors.base01}}; + --gnome-headerbar-shade-color: rgba(0, 0, 0, 0.07); + + /* Toolbar */ + --gnome-toolbar-icon-fill: #{{.colors.base05}}; + + /* Tabs */ + --gnome-tabbar-tab-hover-background: color-mix(in srgb, #{{.colors.base01}}, #{{.colors.base02}} 75%); + --gnome-tabbar-tab-active-background: #{{.colors.base02}}; + --gnome-tabbar-tab-active-background-contrast: #{{.colors.base02}}; + --gnome-tabbar-tab-active-hover-background: color-mix(in srgb, #{{.colors.base02}}, #{{.colors.base03}} 25%); + + /* Private Tabs */ + --gnome-private-wordmark: #{{.colors.base04}}; + --gnome-private-in-content-page-background: #{{.colors.base00}}; + --gnome-private-text-primary-color: #{{.colors.base04}}; + + &:-moz-window-inactive { + --gnome-tabbar-tab-hover-background: var(--gnome-tabbar-tab-hover-background); + --gnome-tabbar-tab-active-background: var(--gnome-tabbar-tab-active-background); + } +} diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/userContent.css b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/userContent.css new file mode 100644 index 0000000..0aff72d --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/chrome/userContent.css @@ -0,0 +1,2 @@ +@import "firefox-gnome-theme/userContent.css"; + diff --git a/private_dot_mozilla/private_firefox/private_JSW.default-release/user.js b/private_dot_mozilla/private_firefox/private_JSW.default-release/user.js new file mode 100644 index 0000000..2db9110 --- /dev/null +++ b/private_dot_mozilla/private_firefox/private_JSW.default-release/user.js @@ -0,0 +1,301 @@ +/* + * https://github.com/rafaelmardojai/firefox-gnome-theme/ + */ + +// Enable customChrome.css +user_pref("toolkit.legacyUserProfileCustomizations.stylesheets", true); + +// Set UI density to normal +user_pref("browser.uidensity", 0); + +// Enable SVG context-propertes +user_pref("svg.context-properties.content.enabled", true); + +// Disable private window dark theme +user_pref("browser.theme.dark-private-windows", false); + +// Enable rounded bottom window corners +user_pref("widget.gtk.rounded-bottom-corners.enabled", true); + +// UI Settings +user_pref("browser.uiCustomization.state", '{"placements":{"widget-overflow-fixed-list":[],"unified-extensions-area":[],"nav-bar":["back-button","forward-button","stop-reload-button","customizableui-special-spring1","vertical-spacer","urlbar-container","customizableui-special-spring2","downloads-button","unified-extensions-button"],"toolbar-menubar":["menubar-items"],"TabsToolbar":["tabbrowser-tabs","new-tab-button","alltabs-button"],"vertical-tabs":[],"PersonalToolbar":[]},"seen":["developer-button","screenshot-button"],"dirtyAreaCache":["nav-bar","vertical-tabs","PersonalToolbar","TabsToolbar"],"currentVersion":23,"newElementCount":3}"') + + +// +/* You may copy+paste this file and use it as it is. + * + * If you make changes to your about:config while the program is running, the + * changes will be overwritten by the user.js when the application restarts. + * + * To make lasting changes to preferences, you will have to edit the user.js. + */ + +/**************************************************************************** + * Betterfox * + * "Ad meliora" * + * version: 144 * + * url: https://github.com/yokoffing/Betterfox * +****************************************************************************/ + +/**************************************************************************** + * SECTION: FASTFOX * +****************************************************************************/ +/** GENERAL ***/ +user_pref("gfx.content.skia-font-cache-size", 32); + +/** GFX ***/ +user_pref("gfx.canvas.accelerated.cache-items", 32768); +user_pref("gfx.canvas.accelerated.cache-size", 4096); +user_pref("webgl.max-size", 16384); + +/** DISK CACHE ***/ +user_pref("browser.cache.disk.enable", false); + +/** MEMORY CACHE ***/ +user_pref("browser.cache.memory.capacity", 131072); +user_pref("browser.cache.memory.max_entry_size", 20480); +user_pref("browser.sessionhistory.max_total_viewers", 4); +user_pref("browser.sessionstore.max_tabs_undo", 10); + +/** MEDIA CACHE ***/ +user_pref("media.memory_cache_max_size", 262144); +user_pref("media.memory_caches_combined_limit_kb", 1048576); +user_pref("media.cache_readahead_limit", 600); +user_pref("media.cache_resume_threshold", 300); + +/** IMAGE CACHE ***/ +user_pref("image.cache.size", 10485760); +user_pref("image.mem.decode_bytes_at_a_time", 65536); + +/** NETWORK ***/ +user_pref("network.http.max-connections", 1800); +user_pref("network.http.max-persistent-connections-per-server", 10); +user_pref("network.http.max-urgent-start-excessive-connections-per-host", 5); +user_pref("network.http.request.max-start-delay", 5); +user_pref("network.http.pacing.requests.enabled", false); +user_pref("network.dnsCacheEntries", 10000); +user_pref("network.dnsCacheExpiration", 3600); +user_pref("network.ssl_tokens_cache_capacity", 10240); + +/** SPECULATIVE LOADING ***/ +user_pref("network.http.speculative-parallel-limit", 0); +user_pref("network.dns.disablePrefetch", true); +user_pref("network.dns.disablePrefetchFromHTTPS", true); +user_pref("browser.urlbar.speculativeConnect.enabled", false); +user_pref("browser.places.speculativeConnect.enabled", false); +user_pref("network.prefetch-next", false); +user_pref("network.predictor.enabled", false); + +/**************************************************************************** + * SECTION: SECUREFOX * +****************************************************************************/ +/** TRACKING PROTECTION ***/ +user_pref("browser.contentblocking.category", "strict"); +user_pref("privacy.trackingprotection.allow_list.baseline.enabled", true); +user_pref("browser.download.start_downloads_in_tmp_dir", true); +user_pref("browser.helperApps.deleteTempFileOnExit", true); +user_pref("browser.uitour.enabled", false); +user_pref("privacy.globalprivacycontrol.enabled", true); + +/** OCSP & CERTS / HPKP ***/ +user_pref("security.OCSP.enabled", 0); +user_pref("security.csp.reporting.enabled", false); + +/** SSL / TLS ***/ +user_pref("security.ssl.treat_unsafe_negotiation_as_broken", true); +user_pref("browser.xul.error_pages.expert_bad_cert", true); +user_pref("security.tls.enable_0rtt_data", false); + +/** DISK AVOIDANCE ***/ +user_pref("browser.privatebrowsing.forceMediaMemoryCache", true); +user_pref("browser.sessionstore.interval", 60000); + +/** SHUTDOWN & SANITIZING ***/ +user_pref("privacy.history.custom", true); +user_pref("browser.privatebrowsing.resetPBM.enabled", true); + +/** SEARCH / URL BAR ***/ +user_pref("browser.urlbar.trimHttps", true); +user_pref("browser.urlbar.untrimOnUserInteraction.featureGate", true); +user_pref("browser.search.separatePrivateDefault.ui.enabled", true); +user_pref("browser.search.suggest.enabled", false); +user_pref("browser.urlbar.quicksuggest.enabled", false); +user_pref("browser.urlbar.groupLabels.enabled", false); +user_pref("browser.formfill.enable", false); +user_pref("network.IDN_show_punycode", true); + +/** PASSWORDS ***/ +user_pref("signon.formlessCapture.enabled", false); +user_pref("signon.privateBrowsingCapture.enabled", false); +user_pref("network.auth.subresource-http-auth-allow", 1); +user_pref("editor.truncate_user_pastes", false); + +/** MIXED CONTENT + CROSS-SITE ***/ +user_pref("security.mixed_content.block_display_content", true); +user_pref("pdfjs.enableScripting", false); + +/** EXTENSIONS ***/ +user_pref("extensions.enabledScopes", 5); + +/** HEADERS / REFERERS ***/ +user_pref("network.http.referer.XOriginTrimmingPolicy", 2); + +/** CONTAINERS ***/ +user_pref("privacy.userContext.ui.enabled", true); + +/** SAFE BROWSING ***/ +user_pref("browser.safebrowsing.downloads.remote.enabled", false); + +/** MOZILLA ***/ +user_pref("permissions.default.desktop-notification", 2); +user_pref("permissions.default.geo", 2); +user_pref("geo.provider.network.url", "https://beacondb.net/v1/geolocate"); +user_pref("browser.search.update", false); +user_pref("permissions.manager.defaultsUrl", ""); +user_pref("extensions.getAddons.cache.enabled", false); + +/** TELEMETRY ***/ +user_pref("datareporting.policy.dataSubmissionEnabled", false); +user_pref("datareporting.healthreport.uploadEnabled", false); +user_pref("toolkit.telemetry.unified", false); +user_pref("toolkit.telemetry.enabled", false); +user_pref("toolkit.telemetry.server", "data:,"); +user_pref("toolkit.telemetry.archive.enabled", false); +user_pref("toolkit.telemetry.newProfilePing.enabled", false); +user_pref("toolkit.telemetry.shutdownPingSender.enabled", false); +user_pref("toolkit.telemetry.updatePing.enabled", false); +user_pref("toolkit.telemetry.bhrPing.enabled", false); +user_pref("toolkit.telemetry.firstShutdownPing.enabled", false); +user_pref("toolkit.telemetry.coverage.opt-out", true); +user_pref("toolkit.coverage.opt-out", true); +user_pref("toolkit.coverage.endpoint.base", ""); +user_pref("browser.newtabpage.activity-stream.feeds.telemetry", false); +user_pref("browser.newtabpage.activity-stream.telemetry", false); +user_pref("datareporting.usage.uploadEnabled", false); + +/** EXPERIMENTS ***/ +user_pref("app.shield.optoutstudies.enabled", false); +user_pref("app.normandy.enabled", false); +user_pref("app.normandy.api_url", ""); + +/** CRASH REPORTS ***/ +user_pref("breakpad.reportURL", ""); +user_pref("browser.tabs.crashReporting.sendReport", false); + +/**************************************************************************** + * SECTION: PESKYFOX * +****************************************************************************/ +/** MOZILLA UI ***/ +user_pref("browser.privatebrowsing.vpnpromourl", ""); +user_pref("extensions.getAddons.showPane", false); +user_pref("extensions.htmlaboutaddons.recommendations.enabled", false); +user_pref("browser.discovery.enabled", false); +user_pref("browser.shell.checkDefaultBrowser", false); +user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.addons", false); +user_pref("browser.newtabpage.activity-stream.asrouter.userprefs.cfr.features", false); +user_pref("browser.preferences.moreFromMozilla", false); +user_pref("browser.aboutConfig.showWarning", false); +user_pref("browser.aboutwelcome.enabled", false); +user_pref("browser.profiles.enabled", true); + +/** THEME ADJUSTMENTS ***/ +user_pref("browser.compactmode.show", true); +user_pref("browser.privateWindowSeparation.enabled", false); // WINDOWS + +/** AI ***/ +user_pref("browser.ml.enable", false); +user_pref("browser.ml.chat.enabled", false); +user_pref("browser.ml.chat.menu", false); +user_pref("browser.tabs.groups.smart.enabled", false); +user_pref("browser.ml.linkPreview.enabled", false); + +/** FULLSCREEN NOTICE ***/ +user_pref("full-screen-api.transition-duration.enter", "0 0"); +user_pref("full-screen-api.transition-duration.leave", "0 0"); +user_pref("full-screen-api.warning.timeout", 0); + +/** URL BAR ***/ +user_pref("browser.urlbar.trending.featureGate", false); + +/** NEW TAB PAGE ***/ +user_pref("browser.newtabpage.activity-stream.default.sites", ""); +user_pref("browser.newtabpage.activity-stream.showSponsoredTopSites", false); +user_pref("browser.newtabpage.activity-stream.feeds.section.topstories", false); +user_pref("browser.newtabpage.activity-stream.showSponsored", false); +user_pref("browser.newtabpage.activity-stream.showSponsoredCheckboxes", false); + +/** DOWNLOADS ***/ +user_pref("browser.download.manager.addToRecentDocs", false); + +/** PDF ***/ +user_pref("browser.download.open_pdf_attachments_inline", true); + +/** TAB BEHAVIOR ***/ +user_pref("browser.bookmarks.openInTabClosesMenu", false); +user_pref("browser.menu.showViewImageInfo", true); +user_pref("findbar.highlightAll", true); +user_pref("layout.word_select.eat_space_to_next_word", false); + +/**************************************************************************** + * START: MY OVERRIDES * +****************************************************************************/ +// visit https://github.com/yokoffing/Betterfox/wiki/Common-Overrides +// visit https://github.com/yokoffing/Betterfox/wiki/Optional-Hardening +// Enter your personal overrides below this line: + +// PREF: show weather on New Tab page +user_pref("browser.newtabpage.activity-stream.showWeather", true); +// PREF: restore search engine suggestions (install kagi extension for privacy) +user_pref("browser.search.suggest.enabled", true); +// PREF: enable container tabs +user_pref("privacy.userContext.enabled", true); +// PREF: disable Firefox Sync +user_pref("identity.fxaccounts.enabled", false); +// PREF: disable the Firefox View tour from popping up +user_pref("browser.firefox-view.feature-tour", "{\"screen\":\"\",\"complete\":true}"); +// PREF: disable login manager +user_pref("signon.rememberSignons", false); +// PREF: disable address and credit card manager +user_pref("extensions.formautofill.addresses.enabled", false); +user_pref("extensions.formautofill.creditCards.enabled", false); +// PREF: do not allow embedded tweets, Instagram, Reddit, and Tiktok posts +user_pref("urlclassifier.trackingSkipURLs", ""); +user_pref("urlclassifier.features.socialtracking.skipURLs", ""); +// PREF: disable captive portal detection +user_pref("captivedetect.canonicalURL", ""); +user_pref("network.captive-portal-service.enabled", false); +user_pref("network.connectivity-service.enabled", false); +// PREF: display the installation prompt for all extensions +user_pref("extensions.postDownloadThirdPartyPrompt", false); +// PREF: enforce certificate pinning +// [ERROR] MOZILLA_PKIX_ERROR_KEY_PINNING_FAILURE +// 1 = allow user MiTM (such as your antivirus) (default) +// 2 = strict +user_pref("security.cert_pinning.enforcement_level", 2); +// PREF: delete all browsing data on shutdown +// Settings → Privacy & Security → Cookies and Site Data → Manage Exceptions +user_pref("privacy.sanitize.sanitizeOnShutdown", true); +user_pref("privacy.clearOnShutdown_v2.cache", false); +user_pref("privacy.clearOnShutdown_v2.cookiesAndStorage", true); +user_pref("privacy.clearOnShutdown_v2.browsingHistoryAndDownloads", true); +user_pref("privacy.clearOnShutdown_v2.downloads", true); // [HIDDEN] +user_pref("privacy.clearOnShutdown_v2.formdata", true); + +// PREF: after crashes or restarts, do not save extra session data +// such as form content, scrollbar positions, and POST data +user_pref("browser.sessionstore.privacy_level", 2); + + + + +/**************************************************************************** + * SECTION: SMOOTHFOX * +****************************************************************************/ +// visit https://github.com/yokoffing/Betterfox/blob/main/Smoothfox.js +user_pref("general.smoothScroll", true); // DEFAULT +user_pref("mousewheel.default.delta_multiplier_y", 250); // 250-400; adjust this number to your liking + + +/**************************************************************************** + * END: BETTERFOX * +****************************************************************************/ diff --git a/private_dot_mozilla/private_firefox/profiles.ini b/private_dot_mozilla/private_firefox/profiles.ini new file mode 100644 index 0000000..cf9657c --- /dev/null +++ b/private_dot_mozilla/private_firefox/profiles.ini @@ -0,0 +1,12 @@ +[Install4F96D1932A9F858E] +Default=JSW.default-release +Locked=1 + +[Profile0] +Name=default-release +IsRelative=1 +Path=JSW.default-release + +[General] +StartWithLastProfile=1 +Version=2