diff --git a/alacritty/alacritty.yml b/alacritty/alacritty.yml index 4f134ea..93940f4 100644 --- a/alacritty/alacritty.yml +++ b/alacritty/alacritty.yml @@ -97,7 +97,8 @@ font: # - (macOS) Menlo # - (Linux/BSD) monospace # - (Windows) Consolas - family: MesloLGS NF + # family: MesloLGS Nerd Font + family: VictorMono Nerd Font # The `style` can be specified to pick a specific face. style: Regular @@ -108,7 +109,8 @@ font: # # If the bold family is not specified, it will fall back to the # value specified for the normal font. - family: MesloLGS NF + # family: MesloLGS Nerd Font + family: VictorMono Nerd Font # The `style` can be specified to pick a specific face. style: Bold @@ -119,7 +121,8 @@ font: # # If the italic family is not specified, it will fall back to the # value specified for the normal font. - family: MesloLGS NF + # family: MesloLGS Nerd Font + family: VictorMono Nerd Font # The `style` can be specified to pick a specific face. style: Italic @@ -136,7 +139,7 @@ font: #style: Bold Italic # Point size - size: 10.0 + size: 11.0 # Offset is the extra space around each character. `offset.y` can be thought of # as modifying the line spacing, and `offset.x` as modifying the letter spacing. @@ -315,7 +318,7 @@ colors: # # Window opacity as a floating point number from `0.0` to `1.0`. # The value `0.0` is completely transparent and `1.0` is opaque. -background_opacity: 0.45 +background_opacity: 0.70 #selection: #semantic_escape_chars: ",│`|:\"' ()[]{}<>\t" diff --git a/awesome/rc.lua b/awesome/rc.lua index 4b79bc9..78f6048 100644 --- a/awesome/rc.lua +++ b/awesome/rc.lua @@ -49,7 +49,7 @@ beautiful.init("/home/chris/.config/awesome/theme.lua") -- This is used later as the default terminal and editor to run. terminal = "alacritty" -editor = os.getenv("EDITOR") or "emacs" +editor = os.getenv("EDITOR") or "emacsclient -a emacs" editor_cmd = terminal .. " -e " .. editor -- Default modkey. @@ -58,6 +58,7 @@ editor_cmd = terminal .. " -e " .. editor -- I suggest you to remap Mod4 to another key using xmodmap or other tools. -- However, you can use another modifier like Mod1, but it may interact with others. modkey = "Mod4" +altkey = "Mod1" -- Table of layouts to cover with awful.layout.inc, order matters. awful.layout.layouts = { @@ -107,7 +108,10 @@ mykeyboardlayout = awful.widget.keyboardlayout() -- {{{ Wibar -- Create a textclock widget -mytextclock = wibox.widget.textclock() +mytextclock = wibox.widget.textclock(" %a %b %d, %l:%M %p ") + +-- Create a volume widget +-- myvolumewidget = wibox.widget.button() -- Create a wibox for each screen and add it local taglist_buttons = gears.table.join( @@ -201,6 +205,14 @@ awful.screen.connect_for_each_screen(function(s) -- Create the wibox s.mywibox = awful.wibar({ position = "bottom", screen = s }) + s.myrightwidgets = + { -- Right widgets + layout = wibox.layout.ratio.horizontal, + s.mytasklist, -- Middle widget + s.mysystray, + s.mylayoutbox, + inner_fill_strategy = "right" + } -- Add widgets to the wibox s.mywibox:setup { layout = wibox.layout.align.horizontal, @@ -209,14 +221,17 @@ awful.screen.connect_for_each_screen(function(s) mylauncher, s.mytaglist, s.mypromptbox, + spacing = 15 }, - s.mytasklist, -- Middle widget - { -- Right widgets - layout = wibox.layout.fixed.horizontal, + mytextclock, + { + layout = wibox.layout.ratio.horizontal, + s.mytasklist, -- Middle widget s.mysystray, - mytextclock, s.mylayoutbox, + inner_fill_strategy = "right" }, + expand = "outside" } end) -- }}} @@ -277,10 +292,10 @@ globalkeys = gears.table.join( -- Increase-Decrease Gap - awful.key({ modkey, Mod1 }, "k", function () awful.tag.incgap ( 1, null) end, + awful.key({ modkey, altkey }, "k", function () awful.tag.incgap ( 1, null) end, {description = "increase gap", group = "layout"}), - awful.key({ Mod1, modkey }, "j", function () awful.tag.incgap ( -1, null) end, + awful.key({ modkey, altkey }, "j", function () awful.tag.incgap ( -1, null) end, {description = "decrease gap", group = "layout"}), @@ -322,7 +337,7 @@ globalkeys = gears.table.join( {description = "restore minimized", group = "client"}), -- Prompt - awful.key({ modkey }, "r", function () + awful.key({ }, "Menu" , function () awful.util.spawn("/home/chris/.dotfiles/rofi/launchers-git/launcher.sh") end, {description = "launch rofi", group = "launcher"}), @@ -486,7 +501,8 @@ awful.rules.rules = { "Tor Browser", -- Needs a fixed window size to avoid fingerprinting by screen size. "Wpa_gui", "veromix", - "xtightvncviewer"}, + "xtightvncviewer", + "feh"}, -- Note that the name property shown in xprop might be set slightly after creation of the client -- and the name shown there might not match defined rules here. @@ -502,12 +518,19 @@ awful.rules.rules = { -- Add titlebars to normal clients and dialogs { rule_any = {type = { "normal", "dialog" } - }, properties = { titlebars_enabled = true } + }, properties = { titlebars_enabled = false} }, - -- Set Firefox to always map on the tag named "2" on screen 1. - -- { rule = { class = "Firefox" }, - -- properties = { screen = 1, tag = "2" } }, + -- Set Firefox to never have titlebars + { rule = { class = "Firefox" }, + properties = { requests_no_titlebar = true, titlebars_enabled = false } + }, + + -- Set Feh center + { rule = {class = "feh"}, + properties = { + placement = awful.placement.centered + }}, } -- }}} @@ -578,5 +601,6 @@ client.connect_signal("unfocus", function(c) c.border_color = beautiful.border_n -- Autostart Applications awful.spawn.with_shell("picom") -awful.spawn.with_shell("nitrogen --restore") -- awful.spawn.with_shell("polybarstart") +awful.spawn.with_shell("feh --bg-fill ~/Pictures/wallpapers/RoyalKing.png") +awful.spawn.with_shell("/usr/lib/polkit-kde-authentication-agent-1") diff --git a/awesome/theme.lua b/awesome/theme.lua index 919bc48..c2efafc 100644 --- a/awesome/theme.lua +++ b/awesome/theme.lua @@ -9,10 +9,11 @@ local gears = require('gears') local gfs = require("gears.filesystem") local themes_path = gfs.get_themes_dir() +local wallpaperdir = "/home/chris/Pictures/wallpapers" local theme = {} -theme.font = "Rec Mono Linear 10" +theme.font = "VictorMono Nerd Font SemiBold 10" theme.bg_normal = "#282a36" theme.bg_focus = "#43454f" @@ -26,7 +27,7 @@ theme.fg_urgent = "#e2e4e5" theme.fg_minimize = "#e2e4e5" theme.useless_gap = dpi(8) -theme.border_width = dpi(1) +theme.border_width = dpi(0) theme.border_normal = "#00000000" theme.border_focus = "#00000000" theme.border_marked = "#00000000" @@ -74,8 +75,9 @@ theme.menu_width = dpi(100) -- wibar theme.wibar_shape = gears.shape.rounded_bar theme.wibar_bg = theme.bg_normal +theme.wibar_fg = theme.fg_normal -- theme.wibar_y = 1030 -theme.wibar_x = 0 +-- theme.wibar_x = 0 -- theme.wibar_stretch = false theme.wibar_border_width = 3 theme.wibar_border_color = nil @@ -84,9 +86,8 @@ theme.wibar_border_color = nil theme.wibar_opacity = 0.7 -- theme.wibar_type = nil theme.wibar_width = dpi(1900) --- theme.wibar_height = nil +theme.wibar_height = dpi(30) -- theme.wibar_bgimage = nil --- theme.wibar_fg = nil -- Define the image to load theme.titlebar_bg_normal = "#282A36FF" @@ -117,7 +118,7 @@ theme.titlebar_maximized_button_focus_inactive = themes_path.."default/titlebar theme.titlebar_maximized_button_normal_active = themes_path.."default/titlebar/maximized_normal_active.png" theme.titlebar_maximized_button_focus_active = themes_path.."default/titlebar/maximized_focus_active.png" -theme.wallpaper = themes_path.."default/background.png" +theme.wallpaper = wallpaperdir.."RoyalKing.png" -- You can use your own layout icons like this: theme.layout_fairh = themes_path.."default/layouts/fairhw.png" @@ -137,6 +138,8 @@ theme.layout_cornerne = themes_path.."default/layouts/cornernew.png" theme.layout_cornersw = themes_path.."default/layouts/cornersww.png" theme.layout_cornerse = themes_path.."default/layouts/cornersew.png" +-- Notifications + -- Generate Awesome icon: theme.awesome_icon = theme_assets.awesome_icon( theme.menu_height, theme.bg_focus, theme.fg_focus diff --git a/firefox/chrome/LICENCE.md b/firefox/chrome/LICENCE.md new file mode 100644 index 0000000..94a9ed0 --- /dev/null +++ b/firefox/chrome/LICENCE.md @@ -0,0 +1,674 @@ + GNU GENERAL PUBLIC LICENSE + Version 3, 29 June 2007 + + Copyright (C) 2007 Free Software Foundation, Inc. + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + + Preamble + + The GNU General Public License is a free, copyleft license for +software and other kinds of works. + + The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too. + + When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things. + + To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others. + + For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights. + + Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it. + + For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions. + + Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users. + + Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free. + + The precise terms and conditions for copying, distribution and +modification follow. + + TERMS AND CONDITIONS + + 0. Definitions. + + "This License" refers to version 3 of the GNU General Public License. + + "Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks. + + "The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations. + + To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work. + + A "covered work" means either the unmodified Program or a work based +on the Program. + + To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well. + + To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying. + + An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion. + + 1. Source Code. + + The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work. + + A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language. + + The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it. + + The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work. + + The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source. + + The Corresponding Source for a work in source code form is that +same work. + + 2. Basic Permissions. + + All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law. + + You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you. + + Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary. + + 3. Protecting Users' Legal Rights From Anti-Circumvention Law. + + No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures. + + When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures. + + 4. Conveying Verbatim Copies. + + You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program. + + You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee. + + 5. Conveying Modified Source Versions. + + You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions: + + a) The work must carry prominent notices stating that you modified + it, and giving a relevant date. + + b) The work must carry prominent notices stating that it is + released under this License and any conditions added under section + 7. This requirement modifies the requirement in section 4 to + "keep intact all notices". + + c) You must license the entire work, as a whole, under this + License to anyone who comes into possession of a copy. This + License will therefore apply, along with any applicable section 7 + additional terms, to the whole of the work, and all its parts, + regardless of how they are packaged. This License gives no + permission to license the work in any other way, but it does not + invalidate such permission if you have separately received it. + + d) If the work has interactive user interfaces, each must display + Appropriate Legal Notices; however, if the Program has interactive + interfaces that do not display Appropriate Legal Notices, your + work need not make them do so. + + A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate. + + 6. Conveying Non-Source Forms. + + You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways: + + a) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by the + Corresponding Source fixed on a durable physical medium + customarily used for software interchange. + + b) Convey the object code in, or embodied in, a physical product + (including a physical distribution medium), accompanied by a + written offer, valid for at least three years and valid for as + long as you offer spare parts or customer support for that product + model, to give anyone who possesses the object code either (1) a + copy of the Corresponding Source for all the software in the + product that is covered by this License, on a durable physical + medium customarily used for software interchange, for a price no + more than your reasonable cost of physically performing this + conveying of source, or (2) access to copy the + Corresponding Source from a network server at no charge. + + c) Convey individual copies of the object code with a copy of the + written offer to provide the Corresponding Source. This + alternative is allowed only occasionally and noncommercially, and + only if you received the object code with such an offer, in accord + with subsection 6b. + + d) Convey the object code by offering access from a designated + place (gratis or for a charge), and offer equivalent access to the + Corresponding Source in the same way through the same place at no + further charge. You need not require recipients to copy the + Corresponding Source along with the object code. If the place to + copy the object code is a network server, the Corresponding Source + may be on a different server (operated by you or a third party) + that supports equivalent copying facilities, provided you maintain + clear directions next to the object code saying where to find the + Corresponding Source. Regardless of what server hosts the + Corresponding Source, you remain obligated to ensure that it is + available for as long as needed to satisfy these requirements. + + e) Convey the object code using peer-to-peer transmission, provided + you inform other peers where the object code and Corresponding + Source of the work are being offered to the general public at no + charge under subsection 6d. + + A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work. + + A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product. + + "Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made. + + If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM). + + The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network. + + Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying. + + 7. Additional Terms. + + "Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions. + + When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission. + + Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms: + + a) Disclaiming warranty or limiting liability differently from the + terms of sections 15 and 16 of this License; or + + b) Requiring preservation of specified reasonable legal notices or + author attributions in that material or in the Appropriate Legal + Notices displayed by works containing it; or + + c) Prohibiting misrepresentation of the origin of that material, or + requiring that modified versions of such material be marked in + reasonable ways as different from the original version; or + + d) Limiting the use for publicity purposes of names of licensors or + authors of the material; or + + e) Declining to grant rights under trademark law for use of some + trade names, trademarks, or service marks; or + + f) Requiring indemnification of licensors and authors of that + material by anyone who conveys the material (or modified versions of + it) with contractual assumptions of liability to the recipient, for + any liability that these contractual assumptions directly impose on + those licensors and authors. + + All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying. + + If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms. + + Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way. + + 8. Termination. + + You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11). + + However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation. + + Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice. + + Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10. + + 9. Acceptance Not Required for Having Copies. + + You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so. + + 10. Automatic Licensing of Downstream Recipients. + + Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License. + + An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts. + + You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it. + + 11. Patents. + + A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version". + + A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License. + + Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version. + + In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party. + + If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid. + + If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it. + + A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007. + + Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law. + + 12. No Surrender of Others' Freedom. + + If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program. + + 13. Use with the GNU Affero General Public License. + + Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such. + + 14. Revised Versions of this License. + + The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns. + + Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation. + + If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program. + + Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version. + + 15. Disclaimer of Warranty. + + THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. Limitation of Liability. + + IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES. + + 17. Interpretation of Sections 15 and 16. + + If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Programs + + If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms. + + To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This program is free software: you can redistribute it and/or modify + it under the terms of the GNU General Public License as published by + the Free Software Foundation, either version 3 of the License, or + (at your option) any later version. + + This program is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + GNU General Public License for more details. + + You should have received a copy of the GNU General Public License + along with this program. If not, see . + +Also add information on how to contact you by electronic and paper mail. + + If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode: + + Copyright (C) + This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'. + This is free software, and you are welcome to redistribute it + under certain conditions; type `show c' for details. + +The hypothetical commands `show w' and `show c' should show the appropriate +parts of the General Public License. Of course, your program's commands +might be different; for a GUI interface, you would use an "about box". + + You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +. + + The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +. diff --git a/firefox/chrome/README.md b/firefox/chrome/README.md new file mode 100644 index 0000000..5e95486 --- /dev/null +++ b/firefox/chrome/README.md @@ -0,0 +1,68 @@ +# Collection of random CSS hacks for Firefox + +Stylesheets in this repository are tested only on Windows 10. They should work on current Nightlies but also generally on latest release Firefox unless otherwise noted. + +# Loading user*.css files + +1. Find your profile folder, if Firefox is running you can find by going to about:support and there should be a button with label "Open Folder" under application basics +2. Create a new folder to the profile folder and name it "chrome" +3. userChrome.css and userContent.css files should be created inside this chrome-folder. + +Clone this repository or individual files inside that newly created chrome-folder. +In the end you should have a folder structure like this: + +``` + +|_chrome +| |_chrome +| |_content +| |_userChrome.css +| |_userContent.css +|_extensions +|_prefs.js +... +all other profile folders and files +... +``` + +In short, create a parent chrome folder to the same directory where prefs.js is - the main profile folder. Firefox loads userContent.css and userChrome.css files only from that non-default chrome-folder. + +# Usage + +Stylesheets are divided in to chrome and content folders. The difference is that styles inside "content" affect web-pages whereas styles inside "chrome" affect browser UI. + +Use stylesheets under "chrome" in userChrome.css + +Use stylesheets under "content" in userContent.css + +You can import the stylesheets with @-rule import like this: + +```css +@import url("path/filename.css"); +``` + +## Important! + +Note that all `@import` rules need to be placed before any other rules in the file, including @namespace rules. Additionally, the order of imported files is just as important as the order of rules within one file. + +**Most notably, you are advised to import theme_ files before any other modules.** + +# Theme + +Stylesheets prefixed with `theme_` require `theme_color_variables.css` to be imported. + +Example userChrome.css resulting in rather complete dark blueish-grey UI: + +```css +@import url(theme_color_variables.css); +@import url(theme_sidebar.css); +@import url(theme_toolbars.css); +@import url(theme_popups_and_menus.css); + +/* Your other rules here */ +``` + +You can use individual modules from theme such as to only include popups_and_menus. But it would still be required that you import the theme_color_variables.css or you'll have to manually edit all the colors. + + +Example userChrome.css and userContent.css can be used as is to enable theme + certain features after /chrome and /content folders are copied into your profile. \ No newline at end of file diff --git a/firefox/chrome/chrome/Fx65_tabs_on_bottom.css b/firefox/chrome/chrome/Fx65_tabs_on_bottom.css new file mode 100644 index 0000000..c4d8301 --- /dev/null +++ b/firefox/chrome/chrome/Fx65_tabs_on_bottom.css @@ -0,0 +1,26 @@ +/* Modify to change window drag space width */ +:root[tabsintitlebar="true"] #nav-bar{ --window-drag-space-width: 24px } + +.titlebar-buttonbox-container{ + position: fixed; + top:0; + right:0; + height: 40px; +} +#toolbar-menubar[inactive] > .titlebar-buttonbox-container{ opacity: 0 } + +:root[sizemode="maximized"] > #navigator-toolbox{ padding-top: 8px !important; } +:root[sizemode="maximized"] .titlebar-buttonbox-container{ top: 8px } + +:root[uidensity="compact"] .titlebar-buttonbox-container{ height: 32px } +.titlebar-buttonbox-container > .titlebar-buttonbox{ height: 100%; } +#titlebar{ + -moz-box-ordinal-group: 2; + -moz-appearance: none !important; +} +:root[tabsintitlebar="true"] #nav-bar{ + padding-right: calc(138px + var(--window-drag-space-width,0px)); + padding-left: var(--window-drag-space-width,0px) +} +.titlebar-placeholder, +#TabsToolbar .titlebar-spacer{ display: none; } \ No newline at end of file diff --git a/firefox/chrome/chrome/autohide_sidebar.css b/firefox/chrome/chrome/autohide_sidebar.css new file mode 100644 index 0000000..7f2f5c6 --- /dev/null +++ b/firefox/chrome/chrome/autohide_sidebar.css @@ -0,0 +1,119 @@ + +/* material firefox imports */ +/* @import "../global/variables.css"; */ +/* @import "../global/global.css"; */ +/* @import "../icons/icons.css"; */ +/* @import "../tabbar/tabbar.css"; */ +/* @import "../navbar/navbar.css"; */ +/* @import "../personalbar/personalbar.css"; */ +/* @import "../popup/popup.css"; */ +/* @import "../urlbar/urlbar.css"; */ +/* @import "../findbar/findbar.css"; */ + +/* Show sidebar only when the cursor is over it */ +/* The border controlling sidebar width will be removed so you'll need to modify these values to change width */ + + +/* #sidebar-box{ */ +/* --uc-sidebar-width: 30px; */ +/* --uc-sidebar-hover-width: 210px; */ +/* position: relative; */ +/* min-width: var(--uc-sidebar-width) !important; */ +/* width: var(--uc-sidebar-width) !important; */ +/* max-width: var(--uc-sidebar-width) !important; */ +/* } */ + +/* #sidebar-splitter{ display: none } */ + +/* #sidebar-header{ overflow: hidden; color: var(--chrome-color, inherit) !important} */ + +/* #sidebar{ */ +/* transition: min-width 115ms linear !important; */ +/* min-width: var(--uc-sidebar-width) !important; */ +/* will-change: min-width; */ +/* } */ + +/* #sidebar-box:hover > #sidebar{ min-width: var(--uc-sidebar-hover-width) !important; } */ + +/* .sidebar-panel{ */ +/* background-color: transparent !important; */ +/* color: var(--newtab-text-primary-color) !important; */ +/* } */ + +/* .sidebar-panel #search-box{ */ +/* -moz-appearance: none !important; */ +/* background-color: rgba(249,249,250,0.1) !important; */ +/* color: inherit !important; */ +/* } */ + +/* /\* Add sidebar divider and give it background *\/ */ + +/* #sidebar, */ +/* #sidebar-header{ */ +/* background-color: var(--toolbar-non-lwt-bgcolor) !important; */ +/* border-right: 1px solid rgb(80,80,80); */ +/* } */ + + + + + + + +/* Made for the treestyletab stuff */ + +:root { + --initial-width : 50px; /* initial width of the sidebar */ + --sidebar-width : 250px; /* expanded width of the sidebar */ + --toolbar-height : 0; + --menubar-height : -40px; + --toolmenubar-height: -40px; /* sum of previous two */ + --shadow-color : #28282F; /* shadow color. set to #00000000 for no shadow. same as folder color from hntp and tab-hover color from tst*/ +} + +/* +There's two main sidebar components. +1. #sidebar-box (outer) +2. #sidebar (inner) +*/ +/* lock outer to height by doing the inverse margin of the toolbar element */ +/* set outer width = initial width */ +#sidebar-box { + z-index : 1000 !important; + position : relative!important; + //margin-top : var(--menubar-height) !important; + padding-top : calc(-1*var(--menubar-height)); + border-radius: 0 5px 0px 0; + min-width : var(--initial-width) !important; + max-width : var(--initial-width) !important; +} + +/* inner width = expanded width & move inner to only show initial-width long section */ +#sidebar-box #sidebar { + min-width : var(--sidebar-width) !important; + max-width : var(--sidebar-width) !important; + transform : translateX(calc(var(--initial-width) - var(--sidebar-width))) !important; + border-radius: 0 3px 0px 0; + transition : all 0.2s ease-in-out; +} + +/* move inner to show entire sidebar */ +#sidebar-box #sidebar:hover { + transform : translateX(0) !important; + box-shadow: 2px 0 33px var(--shadow-color); +} + +#main-window[title^="Firefox"] #sidebar-box { + margin-top: var(--toolmenubar-height) !important; +} + +/* hide sidebar header for tree style tabs sidebar */ +#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] #sidebar-header { + display: none; +} + + +/* Hide splitter, when using Tree Style Tab. */ +#sidebar-box[sidebarcommand="treestyletab_piro_sakura_ne_jp-sidebar-action"] + #sidebar-splitter { + display: none !important; +} diff --git a/firefox/chrome/chrome/blank_page_background.css b/firefox/chrome/chrome/blank_page_background.css new file mode 100644 index 0000000..2aa543f --- /dev/null +++ b/firefox/chrome/chrome/blank_page_background.css @@ -0,0 +1,6 @@ +/* Set blank page background-color */ +/* Uses color from theme_colors if available */ + +#tabbrowser-tabpanels{ + background-color: var(--uc-light-bkgnd-color,rgb(46,54,69)) !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/bookmarksbar_on_new_tabs_only.css b/firefox/chrome/chrome/bookmarksbar_on_new_tabs_only.css new file mode 100644 index 0000000..787f7ff --- /dev/null +++ b/firefox/chrome/chrome/bookmarksbar_on_new_tabs_only.css @@ -0,0 +1,11 @@ +:root[title$=" - Mozilla Firefox"] #PersonalToolbar, +:root[title$=" - Mozilla Firefox (Private Browsing)"] #PersonalToolbar, +:root[title$=" - Firefox Nightly"] #PersonalToolbar, +:root[title$=" - Firefox Nightly (Private Browsing)"] #PersonalToolbar{ visibility: collapse; } +/* about:home or something can have a "New Tab" prefix */ +:root[title="New Tab - Mozilla Firefox"] #PersonalToolbar, +:root[title="New Tab - Mozilla Firefox (Private Browsing)"] #PersonalToolbar, +:root[title="New Tab - Firefox Nightly"] #PersonalToolbar, +:root[title="New Tab - Firefox Nightly (Private Browsing)"] #PersonalToolbar{ visibility: visible; } +/* Short delay to prevent being shortly visible during tab restore */ +#PersonalToolbar{ transition: visibility 0ms linear 200ms !important} \ No newline at end of file diff --git a/firefox/chrome/chrome/button_effect_scale_onclick.css b/firefox/chrome/chrome/button_effect_scale_onclick.css new file mode 100644 index 0000000..2fcd2bb --- /dev/null +++ b/firefox/chrome/chrome/button_effect_scale_onclick.css @@ -0,0 +1,25 @@ +/* Effect */ + +:root:not([uidensity="compact"]) #back-button{ --uc-back-extra-padding: 2px } + +.toolbarbutton-icon, +.menuitem-iconic .menu-iconic-icon{ + transition: transform 83ms linear !important; +} + +toolbar .toolbarbutton-1 > .toolbarbutton-icon +.urlbar-icon{ + transition: padding 83ms linear !important; +} + +toolbarbutton:not(.toolbarbutton-1):active > .toolbarbutton-icon, +toolbar .toolbarbutton-1:not([disabled]):active > .toolbarbutton-badge-stack > .toolbarbutton-icon, +.menuitem-iconic:active .menu-iconic-icon{ + transform: scale(0.6) !important; +} + +toolbar .toolbarbutton-1:not([disabled]):active > .toolbarbutton-icon{ + padding: calc(var(--toolbarbutton-inner-padding) + var(--uc-back-extra-padding,0px) + 3px) !important; +} + +#page-action-buttons .urlbar-icon:active{ padding: calc(var(--urlbar-icon-padding) + 3px) !important; } \ No newline at end of file diff --git a/firefox/chrome/chrome/button_effect_scale_onhover.css b/firefox/chrome/chrome/button_effect_scale_onhover.css new file mode 100644 index 0000000..95f0968 --- /dev/null +++ b/firefox/chrome/chrome/button_effect_scale_onhover.css @@ -0,0 +1,35 @@ +/* Effect */ + +:root:not([uidensity="compact"]) #back-button{ --uc-back-extra-padding: 2px } + +.toolbarbutton-icon, +.menuitem-iconic .menu-iconic-icon{ + transition: transform 83ms linear !important; +} + +toolbar .toolbarbutton-1 > .toolbarbutton-icon, +.urlbar-icon{ + transition: padding 83ms linear !important; +} + +toolbarbutton:not(.toolbarbutton-1) > .toolbarbutton-icon, +toolbar .toolbarbutton-1 > .toolbarbutton-badge-stack > .toolbarbutton-icon, +.menuitem-iconic .menu-iconic-icon{ + transform: scale(0.8) !important; +} + +toolbar .toolbarbutton-1 > .toolbarbutton-icon{ + padding: calc(var(--toolbarbutton-inner-padding) + var(--uc-back-extra-padding,0px) + 2px) !important; +} + +#page-action-buttons .urlbar-icon:not(:hover){ padding: calc(var(--urlbar-icon-padding) + 2px) !important; } + +toolbarbutton:not(.toolbarbutton-1):not([disabled]):hover > .toolbarbutton-icon, +toolbar .toolbarbutton-1:not([disabled]):hover > .toolbarbutton-badge-stack > .toolbarbutton-icon, +.menuitem-iconic:not([disabled]):hover .menu-iconic-icon{ + transform: none !important; +} + +toolbar .toolbarbutton-1:not([disabled]):hover > .toolbarbutton-icon{ + padding: calc(var(--toolbarbutton-inner-padding) + var(--uc-back-extra-padding,0px)) !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/combined_favicon_and_tab_close_button.css b/firefox/chrome/chrome/combined_favicon_and_tab_close_button.css new file mode 100644 index 0000000..9cfce31 --- /dev/null +++ b/firefox/chrome/chrome/combined_favicon_and_tab_close_button.css @@ -0,0 +1,40 @@ +/* Show tab close button when cursor is over the tab icon */ + +.tab-close-button{ + -moz-box-ordinal-group: 0; + display: -moz-box !important; + position: relative; + margin-right: -18px !important; + z-index: -1; + visibility: hidden; +} + +.tab-close-button:hover{ background-color: var(--lwt-accent-color); } + +.tabbrowser-tab[selected] .tab-close-button:hover{ background-color: var(--lwt-selected-tab-background-color, var(--toolbar-bgcolor)); } + +/**** ONLY USE ONE OF THE FOLLOWING ****/ +/**** These select the behavior of a scenario where the page has no favicon ****/ + +/*** Option 1 - no favicon - no close-button ***/ + +/* +.tab-icon-image:hover ~ .tab-close-button, .tab-close-button:hover{ visibility: visible; z-index: 1 } +*/ + +/*** Option 2 - No icon - always show close-button ***/ + +/* +.tab-icon-image:hover ~ .tab-close-button, +.tab-close-button:hover, +.tab-icon-image:not([src]) ~ .tab-close-button{ visibility: visible; z-index: 1 } +.tab-icon-image:not([src]) ~ .tab-close-button{ margin-right:0px !important; } +*/ + +/*** Option 3 - No icon - show close-button when cursor is over the tab text ***/ + +.tab-icon-image:hover ~ .tab-close-button, +.tab-close-button:hover, +.tab-icon-image:not([src]) ~ .tab-label-container:hover ~ .tab-close-button{ visibility: visible; z-index: 1 } +.tab-icon-image:not([src]) ~ .tab-label-container:hover ~ .tab-close-button, +.tab-icon-image:not([src]) ~ .tab-close-button:hover {margin-right: 0px !important; } \ No newline at end of file diff --git a/firefox/chrome/chrome/floating_findbar_on_top.css b/firefox/chrome/chrome/floating_findbar_on_top.css new file mode 100644 index 0000000..6534fad --- /dev/null +++ b/firefox/chrome/chrome/floating_findbar_on_top.css @@ -0,0 +1,45 @@ +findbar{ + -moz-box-ordinal-group: 0; + margin-bottom: calc(0px - 2 * var(--toolbarbutton-inner-padding) - 25px); + position: relative; + border-top: none !important; + transition: transform 82ms linear, opacity 82ms linear 32ms !important; + background: none !important; + pointer-events: none; +} + +.findbar-container > .findbar-find-fast{ + padding: var(--toolbarbutton-inner-padding) 1px; + margin: 0 !important; +} + +findbar[hidden]{ transform: translateY(-30px);} + +findbar > .findbar-container, +findbar > .close-icon{ + border: 1px solid var(--chrome-content-separator-color); + border-width: 0 0 1px 0px; + background: var(--uc-light-bkgnd-color,var(--toolbar-bgcolor)) !important; + pointer-events: auto; +} +findbar > .findbar-container{ + -moz-box-direction: reverse; + border-left-width: 1px; +} + +findbar > .findbar-container > hbox{ margin: 0 5px } + +findbar::before{ + content:""; + display: -moz-box; + -moz-box-flex: 100; +} + +/* +Move findbar so it isn't over the scrollbar +Delete if you want findbar to begin from right window edge +*/ +findbar{ + margin-right: 16px; + border-right: 1px solid var(--chrome-content-separator-color); +} \ No newline at end of file diff --git a/firefox/chrome/chrome/hide_tabs_toolbar.css b/firefox/chrome/chrome/hide_tabs_toolbar.css new file mode 100644 index 0000000..9c99400 --- /dev/null +++ b/firefox/chrome/chrome/hide_tabs_toolbar.css @@ -0,0 +1,29 @@ +/* Hide tabs toolbar Fx65+ */ +:root{--uc-toolbar-height: 32px} +:root:not([uidensity="compact"]){--uc-toolbar-height: 38px} + +#TabsToolbar{visibility: collapse} +#nav-bar, +#PersonalToolbar{ + background: transparent !important; +} +#navigator-toolbox{ background: var(--toolbar-bgcolor) var(--toolbar-bgimage) } + +#nav-bar{margin: calc(0px - var(--uc-toolbar-height)) 138px 0 0 } + +#toolbar-menubar{ + min-height:unset !important; + height:var(--uc-toolbar-height) !important; + position: relative; +} + +#main-menubar{ + -moz-box-flex: 1; + background: var(--toolbar-non-lwt-bgcolor); + background-clip: padding-box; + border-right: 30px solid transparent; + border-image: linear-gradient(to left, transparent, var(--toolbar-non-lwt-bgcolor) 30px) 20 / 30px +} + +#toolbar-menubar:not([inactive]){ z-index: 2 } +#toolbar-menubar[inactive] > #menubar-items { opacity: 0 } \ No newline at end of file diff --git a/firefox/chrome/chrome/hide_tabs_with_one_tab.css b/firefox/chrome/chrome/hide_tabs_with_one_tab.css new file mode 100644 index 0000000..f6edcf8 --- /dev/null +++ b/firefox/chrome/chrome/hide_tabs_with_one_tab.css @@ -0,0 +1,39 @@ +/* Makes tabs toolbar items zero-height initially and sets enlarge them to fill up space equal to tab-min-height set on tabs */ +/* Firefox 65+ only */ +/* !!USER!! - REMOVE ALL BUTTONS you can from the tabs toolbar */ + +/* Configurable window drag space */ +:root[sizemode="normal"] #nav-bar{ --window-drag-space-width: 20px } + +#titlebar{ -moz-appearance: none !important; } +#tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox{ min-height: 0 !important; } +:root:not([customizing]) #tabbrowser-tabs .tabs-newtab-button, +:root:not([customizing]) #TabsToolbar .titlebar-button{ + -moz-appearance: none !important; + height: 0px; + padding-top: 0px !important; + padding-bottom: 0px !important; + -moz-box-align: stretch; + margin: 0 !important; +} +#tabbrowser-tabs .tabbrowser-tab{ height: var(--tab-min-height) } +#tabbrowser-tabs .tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{ + visibility: collapse !important; +} + +/* Button re-styling */ +#tabbrowser-tabs .tabs-newtab-button:hover{ background-color: var(--toolbarbutton-hover-background) } +#tabbrowser-tabs .tabs-newtab-button > .toolbarbutton-icon{ + padding: 0 !important; + transform: scale(0.6); + background-color: transparent !important; +} +/* Extra top padding in maximized window */ +:root[sizemode="maximized"] > #navigator-toolbox{ padding-top:7px !important; } +/* Fix window controls not being clickable */ +#toolbar-menubar:hover{ + min-height: calc(var(--tab-min-height) + var(--space-above-tabbar) - 1px) !important; + height: calc(var(--tab-min-height) + var(--space-above-tabbar) - 1px) !important; + -moz-appearance: initial !important; +} +#nav-bar{ padding: 0 var(--window-drag-space-width,0px) } \ No newline at end of file diff --git a/firefox/chrome/chrome/hide_tabs_with_one_tab_w_window_controls.css b/firefox/chrome/chrome/hide_tabs_with_one_tab_w_window_controls.css new file mode 100644 index 0000000..84200bd --- /dev/null +++ b/firefox/chrome/chrome/hide_tabs_with_one_tab_w_window_controls.css @@ -0,0 +1,48 @@ +/* Makes tabs toolbar items zero-height initially and sets enlarge them to fill up space equal to tab-min-height set on tabs */ +/* Firefox 65+ only */ +/* !!USER!! - REMOVE ALL BUTTONS you can from the tabs toolbar */ + +/* Configurable window drag space */ +:root[sizemode="normal"] #nav-bar{ --window-drag-space-width: 20px } + +#titlebar{ -moz-appearance: none !important; } +/* We'll use window controls from menubar instead */ +#TabsToolbar > .titlebar-buttonbox-container { display: none } +#tabbrowser-tabs, #tabbrowser-tabs > .tabbrowser-arrowscrollbox{ min-height: 0 !important; } + +#TabsToolbar > .titlebar-spacer[type="post-tabs"]{ width: 178px !important; } +#toolbar-menubar > spacer{ pointer-events: none } + +:root:not([customizing]) #tabbrowser-tabs .tabs-newtab-button{ + -moz-appearance: none !important; + height: 0px; + padding-top: 0px !important; + padding-bottom: 0px !important; + -moz-box-align: stretch; + margin: 0 !important; +} +#tabbrowser-tabs .tabbrowser-tab{ height: var(--tab-min-height) } +#tabbrowser-tabs .tabbrowser-tab[first-visible-tab="true"][last-visible-tab="true"]{ + visibility: collapse; +} + +/* Button re-styling */ +#tabbrowser-tabs .tabs-newtab-button:hover{ background-color: var(--toolbarbutton-hover-background) } +#tabbrowser-tabs .tabs-newtab-button > .toolbarbutton-icon{ + padding: 0 !important; + transform: scale(0.6); + background-color: transparent !important; +} +/* Extra top padding in maximized window */ +:root[sizemode="maximized"] > #navigator-toolbox{ padding-top:7px !important; } + +/* Window controls in nav-bar */ +:root:not([customizing]) #toolbar-menubar[inactive]{ + height: initial !important; + min-height: initial !important; + margin-bottom: -28px !important; +} + +:root:not([customizing]) #toolbar-menubar[autohide][inactive] > #menubar-items{ pointer-events: none; opacity: 0 } + +#nav-bar{ padding-right: calc(3 * 46px + var(--window-drag-space-width,0px)); padding-left: var(--window-drag-space-width,0px)} \ No newline at end of file diff --git a/firefox/chrome/chrome/hide_toolbox_top_bottom_borders.css b/firefox/chrome/chrome/hide_toolbox_top_bottom_borders.css new file mode 100644 index 0000000..3fe6799 --- /dev/null +++ b/firefox/chrome/chrome/hide_toolbox_top_bottom_borders.css @@ -0,0 +1,10 @@ +#main-window[sizemode="normal"]{ border-top: none !important } +#navigator-toolbox::after{ content: none !important } + +/* OPTIONAL - uncomment to remove still remaining space atop of tabs */ +/* This just increases the height of tabs by few pixels, not decrease the toolbar height */ + +/* Fx pre-65 */ +/* #navigator-toolbox > #TabsToolbar{margin-top: -2px;} */ +/* Fx65+ */ +/* #TabsToolbar > .toolbar-items > spacer{ display: none; } */ \ No newline at end of file diff --git a/firefox/chrome/chrome/menubar_in_toolbar.css b/firefox/chrome/chrome/menubar_in_toolbar.css new file mode 100644 index 0000000..f36606f --- /dev/null +++ b/firefox/chrome/chrome/menubar_in_toolbar.css @@ -0,0 +1,7 @@ +#toolbar-menubar:not([inactive]) ~ #TabsToolbar{ + margin-left:300px !important; + margin-top: -26px !important; +} +:root[sizemode="maximized"] #toolbar-menubar:not([inactive]) ~ #TabsToolbar{ + margin-top: -28px !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/menubar_in_toolbar_oneliner_compatible.css b/firefox/chrome/chrome/menubar_in_toolbar_oneliner_compatible.css new file mode 100644 index 0000000..cfab00e --- /dev/null +++ b/firefox/chrome/chrome/menubar_in_toolbar_oneliner_compatible.css @@ -0,0 +1,11 @@ +/* Use with navbar_tabs_oneliner.css */ + +#toolbar-menubar:not([inactive]) ~ #TabsToolbar{ + margin-left:calc(var(--uc-navigationbar-width) + 300px ) !important; + margin-top: calc(0px - var(--uc-toolbar-height)) !important; + padding-left: 0px !important; +} +#toolbar-menubar:not([inactive]){ + margin-left: var(--uc-navigationbar-width); + height: var(--uc-toolbar-height); +} \ No newline at end of file diff --git a/firefox/chrome/chrome/minimal_text_fields.css b/firefox/chrome/chrome/minimal_text_fields.css new file mode 100644 index 0000000..11b8550 --- /dev/null +++ b/firefox/chrome/chrome/minimal_text_fields.css @@ -0,0 +1,23 @@ +:root{ + --lwt-toolbar-field-background-color: transparent !important; + --lwt-toolbar-field-border-color: transparent !important; +} + +#urlbar, +.searchbar-textbox{ + box-shadow: none !important; +} + +#urlbar > *, +.searchbar-textbox > *{ + opacity: 0; + transition: opacity 150ms linear +} + +#urlbar > .urlbar-input-box, +.searchbar-textbox > moz-input-box{ opacity: 0.6 } + +#urlbar:hover > *, +#urlbar:focus-within > *, +.searchbar-textbox:hover > *, +.searchbar-textbox:focus-within > *{ opacity: 1 } \ No newline at end of file diff --git a/firefox/chrome/chrome/minimal_toolbarbuttons.css b/firefox/chrome/chrome/minimal_toolbarbuttons.css new file mode 100644 index 0000000..54c91dd --- /dev/null +++ b/firefox/chrome/chrome/minimal_toolbarbuttons.css @@ -0,0 +1,28 @@ +/* Create a circular placeholder for toolbarbutton and downscale to hide them */ + +/* Create a placeholder for buttons */ +toolbar .toolbarbutton-1:not([open]), +.titlebar-button{ + background-image: radial-gradient(circle at center, var(--lwt-toolbarbutton-icon-fill) 0,var(--lwt-toolbarbutton-icon-fill) 10%,transparent 15% ); +} +/* Hide placeholder on hover */ +toolbar:hover .toolbarbutton-1,.titlebar-buttonbox:hover > .titlebar-button{ background-image: none } + +toolbar .toolbarbutton-1 > *, +.titlebar-button > *{ + transform: scale(0); + transition: transform 82ms linear !important; +} +toolbar:hover .toolbarbutton-1 > *, +.toolbarbutton-1[open] > *, +.titlebar-buttonbox:hover > .titlebar-button > *{ + transform: scale(1) +} + +/* Urlbar icons, this way they show colors is applicable */ +.urlbar-icon{ transition: transform 82ms linear !important; } +#urlbar:not(:hover) .urlbar-icon{ transform: scale(0.3) } + +/* The menu button has some margin on non-compact density which creates annnoying transitions */ +/* Lets remove that as well as border since this is minimal style anyway */ +#PanelUI-button{ border-left: 0px !important; margin-left: 0px !important; } \ No newline at end of file diff --git a/firefox/chrome/chrome/more_visible_tab_icon.css b/firefox/chrome/chrome/more_visible_tab_icon.css new file mode 100644 index 0000000..9de2a57 --- /dev/null +++ b/firefox/chrome/chrome/more_visible_tab_icon.css @@ -0,0 +1,2 @@ +/* Makes black favicons more visible on dark background, contrast will be lowered though */ +.tab-icon-image{ filter: invert(40%) contrast(250%) saturate(250%) !important; } \ No newline at end of file diff --git a/firefox/chrome/chrome/multi-row_tabs.css b/firefox/chrome/chrome/multi-row_tabs.css new file mode 100644 index 0000000..20c89b6 --- /dev/null +++ b/firefox/chrome/chrome/multi-row_tabs.css @@ -0,0 +1,27 @@ +/* Makes tabs to appear on multiple lines */ +/* Tab reordering will not work */ + +#tabbrowser-tabs, +#tabbrowser-tabs > .tabbrowser-arrowscrollbox{ + min-height: unset !important; +} +#tabbrowser-tabs .scrollbox-innerbox{ + display: flex; + flex-wrap: wrap; +} +#tabbrowser-tabs .arrowscrollbox-scrollbox { + overflow: -moz-hidden-unscrollable; + display: block; +} +.tabbrowser-tab{ max-height: 32px } + +.tabbrowser-tab[fadein]{ + min-width: 100px !important; + flex-grow: 1; + /* + Uncomment to enable full-width tabs, also makes tab dragging a tiny bit more sensible + Don't set to none or you'll see errors in console when closing tabs + */ + /*max-width: 100vw !important;*/ +} +.tabbrowser-tab > stack{ width: 100%; height: 100% } \ No newline at end of file diff --git a/firefox/chrome/chrome/navbar_notabs.css b/firefox/chrome/chrome/navbar_notabs.css new file mode 100644 index 0000000..74d73d3 --- /dev/null +++ b/firefox/chrome/chrome/navbar_notabs.css @@ -0,0 +1,53 @@ +/* Variables */ +:root { + --initial-width : 70px; /* initial width of the sidebar */ + --sidebar-width : 250px; /* expanded width of the sidebar */ + --toolbar-height : 0; + --menubar-height : -40px; + --toolmenubar-height: -40px; /* sum of previous two */ + --shadow-color : #28282F; /* shadow color. set to #00000000 for no shadow. same as folder color from hntp and tab-hover color from tst*/ +} + +/* material firefox imports */ +@import "../global/variables.css"; +@import "../global/global.css"; +@import "../icons/icons.css"; +@import "../tabbar/tabbar.css"; +@import "../navbar/navbar.css"; +@import "../personalbar/personalbar.css"; +@import "../popup/popup.css"; +@import "../urlbar/urlbar.css"; +@import "../findbar/findbar.css"; +/* show bookmarks toolbar on new tab only */ +#main-window #PersonalToolbar { + visibility : collapse !important; + z-index : 1!important; + position : relative!important; + margin-left: var(--initial-width); /* shift toolbar to the right based on initial width */ + margin-top : var(--toolbar-height) !important; +} + +#main-window[title^="Firefox"] #PersonalToolbar { + visibility: visible !important; + margin-top: -1px !important; +} + +/* Hide the title bar */ +#titlebar{ visibility: collapse; } + +/* hide normal horizontal tab bar */ +#TabsToolbar { visibility: collapse !important; } + +#sidebar { border-right: none !important; } + +toolbar#nav-bar { + padding-top : 12px; + padding-bottom: 7px; + margin-left : var(--initial-width); + padding-left : 7px; + border : none !important; +} + +toolbar{ + border: none !important; +} diff --git a/firefox/chrome/chrome/navbar_tabs_oneliner.css b/firefox/chrome/chrome/navbar_tabs_oneliner.css new file mode 100644 index 0000000..48a4f2c --- /dev/null +++ b/firefox/chrome/chrome/navbar_tabs_oneliner.css @@ -0,0 +1,27 @@ +/* Modify these to change relative widths or default height */ +#navigator-toolbox{ --uc-navigationbar-width: 40vw; --uc-toolbar-height: 40px; --window-drag-space-width: 0px} +/* Override for other densities */ +:root[uidensity="compact"] > #navigator-toolbox{ --uc-toolbar-height: 32px; } +:root[uidensity="touch"] > #navigator-toolbox{ --uc-toolbar-height: 40px; } + +/* prevent urlbar overflow on narrow windows */ +/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */ +@media screen and (max-width: 1200px){ + #urlbar-container{ min-width:unset !important } +} + +#TabsToolbar{ margin-left: var(--uc-navigationbar-width); } +#tabbrowser-tabs{ --tab-min-height: var(--uc-toolbar-height) !important; } +/* This isn't useful when tabs start in the middle of the window */ +.titlebar-placeholder[type="pre-tabs"], +.titlebar-spacer[type="pre-tabs"]{ display: none } +#nav-bar{ + margin-right:calc(100vw - var(--uc-navigationbar-width)); + margin-top: calc(0px - var(--uc-toolbar-height)); + padding-left: var(--window-drag-space-width); +} +/* 1px margin on touch density causes tabs to be too high */ +.tab-close-button{ margin-top: 0 } + +/* Hide dropdown placeholder */ +#urlbar-container:not(:hover) .urlbar-history-dropmarker{margin-inline-start: -28px;} \ No newline at end of file diff --git a/firefox/chrome/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css b/firefox/chrome/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css new file mode 100644 index 0000000..41eb0e1 --- /dev/null +++ b/firefox/chrome/chrome/navbar_tabs_oneliner_menu_buttons_on_right.css @@ -0,0 +1,41 @@ +/* Modify these to change relative widths or default height */ +#navigator-toolbox{ --uc-navigationbar-width: 50vw; --uc-toolbar-height: 40px; --window-drag-space-width: 20px} +/* reserved space for overflow + menu buttons */ +#navigator-toolbox{ --uc-buttons-width: calc(56px + 4 * var(--toolbarbutton-outer-padding) + var(--uc-menubutton-padding,6px))} +#nav-bar:not([overflowing]) > #nav-bar-customization-target{ --uc-buttons-width: calc(28px + 2 * var(--toolbarbutton-outer-padding) + 6px) } +/* Override for other densities */ +:root[uidensity="compact"] > #navigator-toolbox{ --uc-toolbar-height: 32px; --uc-menubutton-padding: 0px} +:root[uidensity="touch"] > #navigator-toolbox{ --uc-toolbar-height: 40px; } + +/* prevent urlbar overflow on narrow windows */ +/* Dependent on how many items are in navigation toolbar ADJUST AS NEEDED */ +@media screen and (max-width: 1000px){ + #urlbar-container{ min-width:unset !important } +} + +#TabsToolbar{ margin-left: var(--uc-navigationbar-width); } +#tabbrowser-tabs{ --tab-min-height: var(--uc-toolbar-height) !important; } +/* This isn't useful when tabs start in the middle of the window */ +.titlebar-placeholder[type="pre-tabs"],.titlebar-spacer[type="pre-tabs"]{ width:8px !important} +#nav-bar{ + margin-right:calc(3 * 46px + var(--window-drag-space-width)); + margin-top: calc(0px - var(--uc-toolbar-height)); + padding-left: var(--window-drag-space-width); +} +#nav-bar-customization-target{ margin-right: calc(100vw - (var(--uc-navigationbar-width)) - var(--uc-buttons-width) - (3 * 46px) - var(--window-drag-space-width)) } +#TabsToolbar > :not(hbox){ position: relative !important; z-index: 2 } +.titlebar-placeholder[type="post-tabs"], +.titlebar-spacer[type="post-tabs"]{ + width: calc(var(--uc-buttons-width) + var(--window-drag-space-width)) !important; +} +#PanelUI-button,#nav-bar-overflow-button{ + margin: 0px !important; + border: 0px !important; + position: relative; + z-index: 3; +} +/* 1px margin on touch density causes tabs to be too high */ +.tab-close-button{ margin-top: 0 } + +/* Hide dropdown placeholder */ +#urlbar-container:not(:hover) .urlbar-history-dropmarker{margin-inline-start: -28px;} \ No newline at end of file diff --git a/firefox/chrome/chrome/navbar_tabs_oneliner_tabs_on_left.css b/firefox/chrome/chrome/navbar_tabs_oneliner_tabs_on_left.css new file mode 100644 index 0000000..e3370ae --- /dev/null +++ b/firefox/chrome/chrome/navbar_tabs_oneliner_tabs_on_left.css @@ -0,0 +1,130 @@ +/* Modify these to change relative widths or default height */ +#navigator-toolbox{ --uc-navigationbar-width: 11vw; --uc-toolbar-height: 30px; --window-drag-space-width: 20px} +/* Override for other densities */ +:root[uidensity="compact"] > #navigator-toolbox{ --uc-toolbar-height: 32px;} +:root[uidensity="touch"] > #navigator-toolbox{ --uc-toolbar-height: 40px; } + +/* prevent urlbar overflow on narrow windows */ +/* Dependent on how many items are in navigation toolbar and tabs-/nav-bar ratio - ADJUST AS NEEDED */ +@media screen and (max-width: 1600px){ + #urlbar-container{ min-width:unset !important } +} + + +#toolbar-menubar{ height:initial !important; } +#toolbar-menubar[inactive] > #menubar-items{ opacity: 0; pointer-events: none; } +#toolbar-menubar[inactive]{ + margin-bottom: calc(0px - var(--uc-toolbar-height)); + margin-left: 0px; +} + +#TabsToolbar > .titlebar-buttonbox-container, +#TabsToolbar > .toolbar-items > spacer, +.titlebar-spacer[type="post-tabs"]{ + display: none; + visibility: none; + max-width: 20px; +} + +#TabsToolbar{ + margin-right: calc(0px + var(--uc-navigationbar-width)); + /* Remove empty space above tabs so that tabs are clickable at very top of screen */ + margin-top: -2px; + margin-left: 10px; + z-index: 10; +} +#toolbar-menubar[autohide="true"] > .titlebar-buttonbox-container, +#tabbrowser-tabs, +.tabbrowser-tab[pinned]{ + height: var(--uc-toolbar-height) !important; + min-height: var(--uc-toolbar-height) !important; + margin-left: -10px; +} + +.tabbrowser-tab[selected]{ + min-width: 200px !important; + box-shadow: 0px 0px 15px 4px #111; + /*margin-top: -10px;*/ +} + +.tabbrowser-tab[pinned]{ + max-width: 35px !important; + min-width: 0px !important; +} + +#nav-bar{ + margin-left: calc(100vw - var(--uc-navigationbar-width)); + margin-top: calc(0px - var(--uc-toolbar-height)); + padding-right: calc(3 * 46px + var(--window-drag-space-width)); +} + +/* Hide dropdown placeholder */ +#urlbar-container:not(:hover) .urlbar-history-dropmarker{margin-inline-start: -28px;} + + +/* Autohide Navbar */ + +#nav-bar:not([customizing="true"]):not([inFullscreen]) { + /*visibility: collapse !important;*/ + min-height: 0px !important; + max-height: 0px !important; + margin-top: -15px !important; + margin-bottom: 14px !important; + margin-right: 200px !important; + margin-left: 200px !important; + transition: all 300ms ease .5s !important; + z-index: -5 !important; + border-radius: 50px; + padding-left: 10px !important; + padding-right: 10px !important; +} + +#navigator-toolbox:hover:not([inFullscreen]) :-moz-any(#nav-bar), +#navigator-toolbox:focus-within :-moz-any(#nav-bar) { + /*visibility: visible !important;*/ + min-height: 32px !important; + max-height: 32px !important; + margin-top: 5px !important; + margin-bottom: -38px !important; + transition: all 200ms ease 0s !important; + z-index: 5 !important; + border: 0px !important; + box-shadow: 3px 3px 8px 2px #111 !important; + } + +/* make urlbar rounded */ +#urlbar{ + margin-top: 30px !important; + padding-right: 10px !important; + padding-left: 10px !important; +} + +#urlbar-background{ + border-radius: 50px !important; +} + +#urlbar[open] > #urlbar-background{ + animation-duration: 200ms !important; + border-radius: 15px !important; +} + +#urlbar[breakout][breakout-extend] { + margin-top: 20px !important; + top: 0px !important; +} + +#urlbar[breakout][breakout-extend] > #urlbar-input-container { + height: calc(var(--uc-toolbar-height) + 2 * 2px) !important; + padding-block: calc(2px + (var(--uc-toolbar-height) - var(--urlbar-height)) / 2); + padding-inline: calc(5px + 2px); +} + +#nav-bar-customization-target{ + margin-top: -15px; +} +#nav-bar-overflow-button{ + margin-top: -15px !important; +} +#PanelUI-button{ + margin-top: -15px !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/navigation_buttons_inside_urlbar.css b/firefox/chrome/chrome/navigation_buttons_inside_urlbar.css new file mode 100644 index 0000000..b7987b8 --- /dev/null +++ b/firefox/chrome/chrome/navigation_buttons_inside_urlbar.css @@ -0,0 +1,60 @@ +/* Requires you to edit toolbar layout. Put buttons directly to the right of the urlbar in this order: */ +/* Actually, the order of reload and back-buttons doesn't matter */ + +#urlbar{ + margin-right:0px !important; + border-right:none !important; + border-top-right-radius: 0 !important; + border-bottom-right-radius: 0 !important; +} + +#urlbar, +#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button){ + border-color: var(--lwt-toolbar-field-border-color, hsla(240,5%,5%,.25)); +} + +#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button){ + margin: 3px 0 !important; + padding: 0 0px !important; + background-clip: padding-box; + border-style: solid; + border-width: 1px 0; + opacity: 1 !important; + background-color: var(--lwt-toolbar-field-background-color, hsla(0,0%,100%,.8)); +} + +#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button) .toolbarbutton-icon{ + border: none !important; + border-radius: 0 !important; + margin: -3px 0 !important; + background-color:transparent; + width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important; + height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important; +} + +#back-button{ --backbutton-background: transparent; --uc-back-extra-padding: 0px !important } + +#back-button > .toolbarbutton-icon{ padding: var(--toolbarbutton-inner-padding) } + +#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button):hover .toolbarbutton-icon{ + background-color: transparent !important; + box-shadow: none !important; +} + +#nav-bar-customization-target > .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button):not([disabled]):hover{ + background-image: linear-gradient(to bottom, var(--uc-ext-active-color,hsla(0,0%,70%,.2)), var(--uc-ext-active-color,hsla(0,0%,70%,.2))) +} + +#urlbar-container:focus-within ~ .chromeclass-toolbar-additional[overflows="false"]:not(#downloads-button){ + border-color:Highlight !important; +} + +#urlbar-container ~ .chromeclass-toolbar-additional[overflows="false"][disabled]:not(#downloads-button) .toolbarbutton-icon{ opacity: 0.4 !important } +/* Change this if you want some other button to be the right-most one */ +#forward-button{ + border-right-width: 1px !important; + border-radius: 0 2px 2px 0 !important; +} + +#back-button, #back-button > image{ border-radius: 0 !important; } +#stop-reload-button{ padding: 0 !important; } \ No newline at end of file diff --git a/firefox/chrome/chrome/page_action_buttons_on_hover.css b/firefox/chrome/chrome/page_action_buttons_on_hover.css new file mode 100644 index 0000000..34da185 --- /dev/null +++ b/firefox/chrome/chrome/page_action_buttons_on_hover.css @@ -0,0 +1,14 @@ +/* Page action-buttons "slide in" when cursor is on top of them and don't reserve space when not used */ + +#page-action-buttons > *[class^=urlbar-icon]{ + margin-inline-end: -26px; + opacity: 0; + transition: margin-inline-end 200ms linear, opacity 200ms linear; +} +:root[uidensity="compact"] #page-action-buttons > *[class^=urlbar-icon]{ margin-inline-end: -22px; } +#page-action-buttons:hover > *[class^=urlbar-icon], +#page-action-buttons > *[class^=urlbar-icon][open], +#page-action-buttons > *[class^=urlbar-icon][open] ~ *[class^=urlbar-icon]{ + opacity: 1; + margin-inline-end: 0px !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/status_inside_urlbar.css b/firefox/chrome/chrome/status_inside_urlbar.css new file mode 100644 index 0000000..89f3475 --- /dev/null +++ b/firefox/chrome/chrome/status_inside_urlbar.css @@ -0,0 +1,43 @@ +/* STATUSPANEL INSIDE URLBAR */ + +#urlbar .urlbar-input-box{ display: -moz-stack; } +/* -moz-stack causes an subtle issue where in certain scenarios a weirdly aligned "http(s)://" may show up */ + +#urlbar .urlbar-input-box::after{ + z-index: 2; + content: ""; + width: 100%; + height: 100%; + pointer-events:none; + background: -moz-element(#statuspanel) left calc(90% - var(--toolbarbutton-outer-padding)) no-repeat !important; +} + +#urlbar .urlbar-input-box::after{ + display: -moz-box; +} + +#statuspanel-inner > #statuspanel-label{ + height:23px; + min-width: 500px; + background-color: var(--lwt-toolbar-field-background-color, hsla(0,0%,100%,.8)) !important; + border: none !important; + font-size: larger; + color: inherit !important; +} +/* If you use a theme where urlbar is partially transparent you should edit this color to something that closely matches the perceived color of urlbar. Or perhaps use background-image - linear-gradient() can work well here. But keep the color or image opaque or otherwise you'll face an issue where urlbar text bleeds through */ +#statuspanel-inner{ background-color: var(--toolbar-non-lwt-bgcolor) } + +#statuspanel{ color: lightpink; z-index: -1; } +#statuspanel[type="status"] { color: skyblue } + +/* Don't show common values to save space (useful for oneliner) - safe to delete these */ +/* If you change the font size of the label then you'll have to modify these too */ +/* non-https links get a slight red hue */ + +#statuspanel-inner > #statuspanel-label{ margin-left: -3px !important; } +#statuspanel-inner > #statuspanel-label[value^="http"]{ margin-left: -3.7ch !important; } +#statuspanel-inner > #statuspanel-label[value^="https"]{ margin-left: -6.1ch !important; color: var(--lwt-toolbar-field-color, black) !important} +#statuspanel-inner > #statuspanel-label[value^="www"]{ margin-left: -4.5ch !important; } +#statuspanel-inner > #statuspanel-label[value^="http://www"]{ margin-left: -9.7ch !important; } +#statuspanel-inner > #statuspanel-label[value^="https://www"]{ margin-left: -10.1ch !important; } +#statuspanel-inner{ margin-left: -1px; } \ No newline at end of file diff --git a/firefox/chrome/chrome/tab_close_button_always_on_hover.css b/firefox/chrome/chrome/tab_close_button_always_on_hover.css new file mode 100644 index 0000000..49a0d48 --- /dev/null +++ b/firefox/chrome/chrome/tab_close_button_always_on_hover.css @@ -0,0 +1,7 @@ +/* Always show tab close button on hover and never otherwise */ +.tabbrowser-tab .tab-close-button{ + display:none; +} +.tabbrowser-tab:not([pinned]):hover .tab-close-button{ + display:-moz-box !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/tab_loading_progress_throbber.css b/firefox/chrome/chrome/tab_loading_progress_throbber.css new file mode 100644 index 0000000..771293c --- /dev/null +++ b/firefox/chrome/chrome/tab_loading_progress_throbber.css @@ -0,0 +1,44 @@ +/* Create a circular throbber inside tabs replacing the default one */ +/* Doesn't really measure loading progress but sort of looks like it */ + +#tabbrowser-tabs{ --tab-loader-size: 18px; } +.tabbrowser-tab .tab-throbber, +.tabbrowser-tab[bursting] .tab-icon-image{ + display: none !important; +} +.tabbrowser-tab .tab-content::before{ + display: -moz-box; + content: ""; + width:var(--tab-loader-size); + height:var(--tab-loader-size); + margin-right:6px; + background: center no-repeat url('data:image/svg+xml,') !important; + clip-path: polygon(50% 50%,50% 0%,50% 0%,50% 0%, 50% 0%,50% 0%, 50% 0%); + transition: clip-path 0.2s ease-out, opacity 0.3s linear 0.1s; +} +.tabbrowser-tab:-moz-any([busy],[bursting]) .tab-content{ padding-left: calc( 9px - (var(--tab-loader-size) - 16px)) !important; } +.tabbrowser-tab[pinned] .tab-content::before{ margin-right: 0px } +@keyframes loadprogress{ + from{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 50%, 100% 50%,100% 50%, 100% 50%); } + 25%{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 100% 100%,100% 100%, 100% 100%); } + 50%{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%,0% 100%,0% 100%); } + 75%{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%,0% 0%,0% 0%); } + to{ clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%, 0% 0%, 50% 0%); } +} +@keyframes rotation{ + from{ transform: rotateZ(0deg) } + to{ transform: rotateZ(360deg) } +} +.tabbrowser-tab:not([busy]):not([bursting]) .tab-content::before{ visibility: collapse; } +.tabbrowser-tab:not([busy]) .tab-content::before{ opacity: 0 } +.tabbrowser-tab[busy]:not([progress]) .tab-content::before{ + clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 50%, 100% 50%,100% 50%, 100% 50%); +} +.tabbrowser-tab[busy][progress] .tab-content::before{ + animation: loadprogress 2s linear, rotation 0.7s linear 2s infinite !important; + animation-fill-mode: forwards !important; +} +.tabbrowser-tab[bursting] .tab-content::before{ + clip-path: polygon(50% 50%,50% 0%,100% 0%,100% 100%, 0% 100%,0% 0%, 50% 0%) !important; +} +#tabbrowser-tabs[schedulepressure] .tab-content::before{ display:none !important; } \ No newline at end of file diff --git a/firefox/chrome/chrome/tabs_fill_available_width.css b/firefox/chrome/chrome/tabs_fill_available_width.css new file mode 100644 index 0000000..6aef0f4 --- /dev/null +++ b/firefox/chrome/chrome/tabs_fill_available_width.css @@ -0,0 +1,2 @@ +/* Why 100vw? Tab closing requires width animation to end and "none" can't be animated */ +.tabbrowser-tab[fadein]{ max-width: 100vw !important } \ No newline at end of file diff --git a/firefox/chrome/chrome/theme_additional_windows.css b/firefox/chrome/chrome/theme_additional_windows.css new file mode 100644 index 0000000..5ba9f4d --- /dev/null +++ b/firefox/chrome/chrome/theme_additional_windows.css @@ -0,0 +1,66 @@ +/* Color editing should generally be done in theme_color_variables.css */ + +/*!!! IMPORT theme_color_variables.css !!!*/ + +/* Library window */ +@-moz-document url(chrome://browser/content/places/places.xul){ + :root{ background-color: var(--uc-light-bkgnd-color,black) !important;} + #placesToolbar, + tree{ + background: transparent !important; + color: var(--uc-text-color) !important; + } + textbox, + richlistbox, + treecol, + button{ + -moz-appearance: none !important; + background-color: var(--uc-dark-bkgnd-color) !important; + color: var(--uc-text-color) !important; + } + treecol:not([hideheader]){ height: 24px; } + treecol:hover{ filter: brightness(160%) } + treechildren::-moz-tree-row(multicol, odd){ background-color: rgba(0,0,0,0.2) !important; } + treechildren::-moz-tree-row(hover),button:hover{ background-color: var(--uc-active-color) !important; } + treechildren::-moz-tree-row(selected){ background-color: var(--uc-border-color) !important; } + button{ padding: 3px } + #placesMenu > menu{ border: none !important; } + #detailsDeck{ color: var(--uc-text-color) } +} + +/* Page-info window */ +@-moz-document url(chrome://browser/content/pageinfo/pageInfo.xul){ + #main-window, + #topBar{ + background-color: var(--uc-dark-bkgnd-color,black) !important; + color: var(--uc-text-color,white) !important; + } + textbox{ color: var(--uc-text-color) !important; } + + richlistbox, + treecol, + button, + #permList{ + -moz-appearance: none !important; + background-color: var(--uc-light-bkgnd-color) !important; + color: var(--uc-text-color) !important; + } + tree{ + background: transparent !important; + color: var(--uc-text-color) !important; + } + treecol:not([hideheader]){ height: 24px; } + treecol:hover{ filter: brightness(140%) } + treechildren{ background-color: var(--uc-light-bkgnd-color) !important; } + treechildren::-moz-tree-row(multicol, odd){ background-color: rgba(0,0,0,0.2) !important; } + treechildren::-moz-tree-row(hover), + button:hover, + radiogroup > radio:hover, + #permList > .permission:hover{ + background-color: var(--uc-active-color) !important; + } + treechildren::-moz-tree-row(selected), + radiogroup > radio[selected]{ + background-color: var(--uc-border-color) !important; + } +} \ No newline at end of file diff --git a/firefox/chrome/chrome/theme_color_variables.css b/firefox/chrome/chrome/theme_color_variables.css new file mode 100644 index 0000000..ad62116 --- /dev/null +++ b/firefox/chrome/chrome/theme_color_variables.css @@ -0,0 +1,8 @@ +/* Color controls for theme_***.css files */ +:root{ + --uc-dark-bkgnd-color: #2b2b2b; + --uc-light-bkgnd-color: rgb(24, 24, 24); + --uc-active-color: rgb(59, 59, 59); + --uc-text-color: rgb(228, 228, 228); + --uc-border-color: rgb(172, 172, 172); +} diff --git a/firefox/chrome/chrome/theme_popups_and_menus.css b/firefox/chrome/chrome/theme_popups_and_menus.css new file mode 100644 index 0000000..3f0526f --- /dev/null +++ b/firefox/chrome/chrome/theme_popups_and_menus.css @@ -0,0 +1,135 @@ +/* Makes popups, menus and context menus dark */ +/* Color editing should generally be done in theme_color_variables.css */ + +/*!!! IMPORT theme_color_variables.css !!!*/ + +/* Limit popups for general browser popups so that devtools is not affected */ +@-moz-document url-prefix(chrome://browser/content/){ +:root{ --panel-disabled-color: #888 !important; } + +.panel-arrowcontent, +#alltabs-popup .arrowscrollbox-scrollbox, +menupopup:not(#BMB_bookmarksPopup), +.textbox-contextmenu{ + border: 1px solid #434850 !important; + background: var(--uc-dark-bkgnd-color) !important; + border-radius: 5px !important; + color: var(--uc-text-color) !important; +} + +/* bookmarks menu is different from others */ +#BMB_bookmarksPopup{ + background-color: unset !important; +} + +/* GENERAL */ +menupopup, +menuitem, +menu{ + -moz-appearance: none !important; +} + +menupopup{ + background-color:var(--uc-dark-bkgnd-color) !important; + border:none; +} + +menuitem, +menu{ + min-height:24px !important; + color: var(--uc-text-color) !important; +} + +menuitem[disabled="true"], +menu[disabled="true"]{ + color: black !important; + text-shadow: 0 0 4px silver !important; +} + +menuitem:hover, +menu:hover{ + background-color:var(--uc-active-color) !important; +} + +menuitem[disabled="true"]:hover, +menu[disabled="true"]:hover{ + background-color: transparent !important; +} + +.menu-right{ filter: invert(100%) } +#context-navigation{ background-color: transparent !important; } + +/* POPUP PANELS */ + +.panel-subviews, +#mainPopupSet menupopup, +#main-menubar menupopup, +#bookmarks-menu-button menu menupopup > hbox, +.search-panel-header.search-panel-current-engine, +.search-panel-current-input, +panelview, +.PanelUI-subView, +.autocomplete-richlistbox{ + background-color: var(--uc-dark-bkgnd-color) !important; +} + +.subviewbutton:hover, +#widget-overflow-mainView .toolbarbutton-1:hover, +#PopupAutoCompleteRichResult .autocomplete-richlistitem:hover, +#PopupSearchAutoComplete .autocomplete-richlistitem:hover{ + background-color: var(--uc-active-color) !important; +} + +#widget-overflow-mainView #searchbar > .searchbar-textbox{ + background-color: var(--uc-light-bkgnd-color) !important; + color: var(--uc-text-color) !important; +} + +panelview toolbarbutton.subviewbutton .toolbarbutton-text, +#downloadsFooter, +#customizationui-widget-panel label, +.autocomplete-richlistitem .ac-title, +#widget-overflow-mainView toolbarbutton, +#bookmarks-menu-button menu menupopup, +#PopupSearchAutoComplete .autocomplete-tree.plain.search-panel-tree, +#PanelUI-contents toolbarbutton, +#alltabs_containersTab, +#PopupAutoCompleteRichResult .ac-title, +#PopupAutoCompleteRichResult .search-one-offs, +.search-panel-input-value{ + color: var(--uc-text-color)!important; +} + +#alltabs-popup, +#alltabs_containersMenuTab{ + border: none !important; +} + +.search-panel-one-offs, +.downloadsPanelFooterButton:not(:hover), +#overflowMenu-customize-button:not(:hover), +#searchbar-anon-search-settings{ + background-color: var(--uc-light-bkgnd-color) !important; +} + +#PopupAutoCompleteRichResult .ac-emphasize-text.ac-emphasize-text-title{ + color: var(--uc-border-color) !important; +} + +#editBookmarkPanel textbox, +#editBookmarkPanel menulist, +#editBookmarkPanel button, +#editBookmarkPanel richlistbox, +#editBookmarkPanel tree{ + -moz-appearance: none !important; + background-color: var(--uc-light-bkgnd-color) !important; + color: var(--uc-text-color) !important; +} + +#editBookmarkPanel button:hover{ filter: brightness(150%) } +#editBookmarkPanel menulist{ padding: 4px !important; } +#editBookmarkPanel button{ padding: 3px !important; } + +#editBMPanel_folderTree treechildren::-moz-tree-cell(selected){ background-color: var(--uc-border-color) !important; } +#editBMPanel_folderTree treechildren::-moz-tree-cell(hover){ background-color: var(--uc-active-color) !important; } +} \ No newline at end of file diff --git a/firefox/chrome/chrome/theme_sidebar.css b/firefox/chrome/chrome/theme_sidebar.css new file mode 100644 index 0000000..7b74c18 --- /dev/null +++ b/firefox/chrome/chrome/theme_sidebar.css @@ -0,0 +1,43 @@ +/* Colors for bookmarks and history sidebars */ +/* Color editing should generally be done in theme_color_variables.css */ + +/*!!! IMPORT theme_color_variables.css !!!*/ + +#sidebar-box{ --toolbar-non-lwt-bgcolor: var(--uc-light-bkgnd-color) } + +#sidebar-search-container #search-box{ + -moz-appearance:none !important; + background-color: var(--uc-dark-bkgnd-color) !important; + border: none !important; + color: var(--uc-text-color) !important; +} + +#history-panel, +#bookmarksPanel, +#sidebar-header{ + background-color: var(--uc-light-bkgnd-color) !important; + color: var(--uc-text-color) !important; + border-top: none !important; + border-bottom:none !important; + scrollbar-color: rgb(210,210,210) var(--uc-light-bkgnd-color) !important; +} + +.sidebar-placesTreechildren, +#sidebar-box, +#sidebar-header{ + color: var(--uc-text-color) !important; +} + +.sidebar-placesTreechildren::-moz-tree-cell{ + outline:none; + border-radius:0px; + background-image:none; +} + +.sidebar-placesTreechildren::-moz-tree-cell(selected){ + background-color: var(--uc-border-color) !important; +} + +.sidebar-placesTreechildren::-moz-tree-cell(hover){ + background-color: var(--uc-active-color) !important; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/theme_toolbars.css b/firefox/chrome/chrome/theme_toolbars.css new file mode 100644 index 0000000..17f7324 --- /dev/null +++ b/firefox/chrome/chrome/theme_toolbars.css @@ -0,0 +1,118 @@ +/* General toolbar coloring - buttons, text, findbar etc. */ +/* Color editing should generally be done in theme_color_variables.css */ + +/*!!! IMPORT theme_color_variables.css !!!*/ + +/* Override some default variables - stylesheet compatibility */ +:root{ + --lwt-toolbar-field-background-color: var(--uc-dark-bkgnd-color) !important; + --lwt-toolbar-field-border-color: transparent !important; + --toolbar-bgcolor: var(--uc-dark-bkgnd-color) !important; +} +#nav-bar{--uc-ext-active-color: var(--uc-active-color);} + +#navigator-toolbox > toolbar:not(#toolbar-menubar):not(#TabsToolbar), +#browser-bottombox, +findbar{ + background-color: var(--uc-light-bkgnd-color) !important; + color: var(--uc-text-color) !important; +} + +findbar{ background-image: none !important; } + +#TabsToolbar, +#toolbar-menubar, +.findbar-find-previous, +.findbar-find-next, +#urlbar, +.findbar-textbox, +.searchbar-textbox{ + color: var(--uc-text-color) !important; +} + +#TabsToolbar, +#toolbar-menubar{ + background-color: var(--uc-light-bkgnd-color) !important; +} + +.findbar-find-previous, +.findbar-find-next{ + background-color: var(--lwt-toolbar-field-background-color) !important; +} + +#urlbar{ border-color: transparent !important; } + +#urlbar[focused]{ + border-color: var(--uc-border-color) !important; +} + +#urlbar .urlbar-icon:hover{ + box-shadow: none !important; +} + +#tabbrowser-tabs, +.search-panel-input-value, +.titlebar-buttonbox-container, +.tab-close-button{ + color: var(--uc-text-color) !important; +} + +.toolbarbutton-icon:hover, toolbarbutton:hover > stack{ border-radius: 2px !important; } +:root:not([uidensity="compact"]) #back-button > .toolbarbutton-icon{ border-radius: 10000px !important; } + +.toolbarbutton-1:not([disabled]):hover > .toolbarbutton-icon, +.toolbarbutton-1:not([disabled]):hover > stack, +.toolbarbutton-1[open="true"] > .toolbarbutton-icon, +.toolbarbutton-1[open="true"] > stack, +.toolbarbutton-1[checked="true"] > .toolbarbutton-icon, +.toolbarbutton-1[checked="true"] > stack, +#PlacesToolbarItems .bookmark-item:hover, +#page-action-buttons image:hover, +.urlbar-icon:hover, +#TabsToolbar .scrollbutton-down:hover, +#TabsToolbar .scrollbutton-up:hover{ + background-color: var(--uc-active-color) !important; + box-shadow: inset 0 0 0px 0px var(--uc-border-color) !important; +} + +findbar toolbarbutton:not([disabled]):not(.close-icon):hover, +findbar toolbarbutton[checked="true"], +findbar > .findbar-closebutton:hover > .toolbarbutton-icon{ + background-color: var(--uc-active-color) !important; +} + +.findbar-textbox:not(.minimal){ border-right: none !important; } +.findbar-find-next{ border-left: none !important; } +.findbar-textbox:focus-within ~ toolbarbutton{ border-color: var(--toolbar-field-focus-border-color, Highlight) !important; } + +/* Override some special cases */ +#TabsToolbar .scrollbutton-down > .toolbarbutton-icon, +#TabsToolbar .scrollbutton-up > .toolbarbutton-icon, +#downloads-indicator-anchor, +#PersonalToolbar .bookmark-item > .toolbarbutton-icon, +#titlebar .titlebar-button > .toolbarbutton-icon, +#widget-overflow-mainView toolbarbutton > stack, +#widget-overflow-mainView toolbarbutton > .toolbarbutton-icon{ + background-color: transparent !important; + box-shadow: none !important; +} + +#back-button {--backbutton-background: rgb(66,74,89) } + +.toolbarbutton-1{ fill: var(--uc-text-color) !important; } + +.tab-line{ + height:0px !important; + border-bottom: solid 1px rgb(16, 69, 87) !important; +} + + +/* commented out to remove gradient from active tab */ +/* +.tabbrowser-tab[selected] .tab-background{ + background-image: linear-gradient(var(--uc-active-color) 75%,var(--uc-light-bkgnd-color)) !important; + box-shadow:0 3px 1px -1px white inset, + 0 10px 4px -5px var(--uc-border-color) inset, + 0 -2px 0 rgba(0,0,0,.06) inset !important; +} +*/ \ No newline at end of file diff --git a/firefox/chrome/chrome/toggle_bookmarksbar_with_alt.css b/firefox/chrome/chrome/toggle_bookmarksbar_with_alt.css new file mode 100644 index 0000000..833850d --- /dev/null +++ b/firefox/chrome/chrome/toggle_bookmarksbar_with_alt.css @@ -0,0 +1,13 @@ +/* Pretty much requires either menubar_in-toolbar or the oneliner compatible one */ +/* Otherwise the changing vertical position causes bookmarks to be unclickable */ +/* NOT COMPATIBLE with Fx65+ */ +#main-window[sizemode="normal"]:not([customizing]) #PersonalToolbar{ + transition: margin 0.15s ease-in-out 50ms, z-index 16ms linear 100ms!important; + height: 28px; + position: relative; + z-index: 1; +} +:root:not([customizing]) #toolbar-menubar[inactive] ~ #PersonalToolbar:not(:hover){ + margin-top:-28px; + z-index: -1; +} \ No newline at end of file diff --git a/firefox/chrome/chrome/urlbar_visible_on_active_tab_click.css b/firefox/chrome/chrome/urlbar_visible_on_active_tab_click.css new file mode 100644 index 0000000..980eff2 --- /dev/null +++ b/firefox/chrome/chrome/urlbar_visible_on_active_tab_click.css @@ -0,0 +1,21 @@ +/* NOTE This only works if tabs are on top */ +.urlbar-input-box::before{ + content:""; + display: block; + position: fixed; + top:0; + left:0; + width:100vw; + height:32px; +} +.tabbrowser-tab, +#TabsToolbar toolbarbutton{ + position: relative; + z-index: 2 +} +#navigator-toolbox:not(:focus-within) .tabbrowser-tab[visuallyselected]{ z-index: 0 !important; } + +:root:not([customizing]) #urlbar{ opacity: 0; transition: opacity 200ms ease-in-out } +:root:not([customizing]) #urlbar:focus-within{ opacity: 1 } + +#toolbar-menubar{ position: relative; z-index:3 } \ No newline at end of file diff --git a/firefox/chrome/content/about_page_scrollbars.css b/firefox/chrome/content/about_page_scrollbars.css new file mode 100644 index 0000000..87e4f1d --- /dev/null +++ b/firefox/chrome/content/about_page_scrollbars.css @@ -0,0 +1,8 @@ +@namespace xul url("http://www.mozilla.org/keymaster/gatekeeper/there.is.only.xul"); +@-moz-document url-prefix("about:"){ + xul|page, + xul|scrollbar{ + scrollbar-color: rgb(210,210,210) rgb(44, 46, 49); + scrollbar-width: thin; + } +} \ No newline at end of file diff --git a/firefox/chrome/content/css_scrollbar_width_color.css b/firefox/chrome/content/css_scrollbar_width_color.css new file mode 100644 index 0000000..1ca1977 --- /dev/null +++ b/firefox/chrome/content/css_scrollbar_width_color.css @@ -0,0 +1,4 @@ +/* Scrollbar colors and width - applied globally */ +@namespace url("http://www.w3.org/1999/xhtml"); +:root{ scrollbar-color: rgb(210,210,210) rgb(48, 50, 53) } +*{ scrollbar-width: thin } \ No newline at end of file diff --git a/firefox/chrome/content/limit_css_data_leak.css b/firefox/chrome/content/limit_css_data_leak.css new file mode 100644 index 0000000..b0055a3 --- /dev/null +++ b/firefox/chrome/content/limit_css_data_leak.css @@ -0,0 +1,37 @@ +/* Limit CSS data leak, POTENTIALLY BREAKS SOME SITES */ +@namespace html url("http://www.w3.org/1999/xhtml"); + +body input:not([value=""])[type], +body input:not([value=""])[type]:focus ~ *, +body input:not([value=""])[type] * { + background-image: none !important; + border-image: none !important; + font-family: inherit !important; + list-style-image: none !important; + cursor: unset !important; + content: none !important; +} +body input:not([value=""])[type]::before, +body input:not([value=""])[type]:focus ~ *::before, +body input:not([value=""])[type] *::before, +body input:not([value=""])[type]::after, +body input:not([value=""])[type]:focus ~ *::after, +body input:not([value=""])[type] *::after { + content:none !important; +} + +/* Remove the comment to apply more strict version, causes even more trouble */ +/* +body input:not([value=""])[type] ~ *{ + background-image: none !important; + border-image: none !important; + font-family: inherit !important; + list-style-image: none !important; + cursor: unset !important; + content: none !important; +} +body input:not([value=""])[type] ~ *::before, +body input:not([value=""])[type] ~ *::after{ + content:none !important; +} +*/ \ No newline at end of file diff --git a/firefox/chrome/content/newtab_background_color.css b/firefox/chrome/content/newtab_background_color.css new file mode 100644 index 0000000..d5985cc --- /dev/null +++ b/firefox/chrome/content/newtab_background_color.css @@ -0,0 +1,6 @@ +@namespace url("http://www.w3.org/1999/xhtml"); + +@-moz-document url("about:home"),url("about:blank"),url("about:newtab"),url("about:privatebrowsing"){ + body{background-color: rgb(44,44,44) !important; + color:white} +} \ No newline at end of file diff --git a/firefox/chrome/content/transparent_reader_toolbar.css b/firefox/chrome/content/transparent_reader_toolbar.css new file mode 100644 index 0000000..444aa55 --- /dev/null +++ b/firefox/chrome/content/transparent_reader_toolbar.css @@ -0,0 +1,12 @@ +/* Toolbar is invisible until hovered */ + +@namespace html url("http://www.w3.org/1999/xhtml"); + +@-moz-document url-prefix("about:reader"){ + .reader-toolbar, .reader-toolbar .button:not(:hover) { + background-color: transparent !important; + border: none !important; + } + .reader-toolbar:not(:hover)>*:not([open]){ visibility:hidden; } + body{ text-align: justify; } +} \ No newline at end of file diff --git a/firefox/chrome/findbar/findbar.css b/firefox/chrome/findbar/findbar.css new file mode 100755 index 0000000..aac8cf3 --- /dev/null +++ b/firefox/chrome/findbar/findbar.css @@ -0,0 +1,65 @@ +.findbar-textbox +{ + background-color: transparent !important; + background-image: url(../icons/search.svg) !important; + background-repeat: no-repeat !important; + background-position: 5px center !important; + fill-opacity: 1 !important; + border: 0 !important; + box-shadow: none !important; + margin-inline-start: 2px !important; + padding-inline-start: 28px !important; +} + +hbox[anonid="findbar-textbox-wrapper"] +{ + background-color: var(--toolbar-field-background-color) !important; + border-radius: 16px !important; + position: relative !important; + display: flex !important; + padding: 2px !important; + transition: background-color .1s var(--ease-basic) !important; +} + +hbox[anonid="findbar-textbox-wrapper"]:hover +{ + background-color: var(--toolbar-field-hover-background-color) !important; +} + +hbox[anonid="findbar-textbox-wrapper"]:focus-within +{ + background-color: var(--toolbar-field-focus-background-color) !important; + border: 2px solid var(--toolbar-field-focus-border-color) !important; + margin: -1px !important; + padding: 1px !important; +} + +hbox[anonid="findbar-textbox-wrapper"] toolbarbutton +{ + border-radius: 99px !important; + border: 0 !important; + width: 24px !important; + height: 24px !important; + padding: 0 !important; + display: flex !important; + background: 0 !important; + transition: background-color .2s var(--ease-basic) !important; + margin: 0 !important; + box-shadow: none !important; +} + +hbox[anonid="findbar-textbox-wrapper"] toolbarbutton .toolbarbutton-text +{ + visibility: collapse !important; +} + +hbox[anonid="findbar-textbox-wrapper"] toolbarbutton:not([disabled]):hover +{ + background-color: var(--toolbarbutton-hover-background) !important; +} + +hbox[anonid="findbar-textbox-wrapper"] toolbarbutton:not([disabled]):hover:active +{ + background-color: var(--toolbarbutton-active-background) !important; + transition-duration: 0 !important; +} \ No newline at end of file diff --git a/firefox/chrome/global/circle.svg b/firefox/chrome/global/circle.svg new file mode 100644 index 0000000..b4b4617 --- /dev/null +++ b/firefox/chrome/global/circle.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/global/global.css b/firefox/chrome/global/global.css new file mode 100755 index 0000000..98ddb67 --- /dev/null +++ b/firefox/chrome/global/global.css @@ -0,0 +1,308 @@ +@media (-moz-windows-compositor) +{ + @media not (-moz-os-version: windows-win7) + { + @media not (-moz-os-version: windows-win8) + { + @media (-moz-windows-default-theme) + { + :root[tabsintitlebar] .titlebar-buttonbox-container + { + height: 30px !important; + } + + :root[tabsintitlebar][sizemode=normal] .titlebar-buttonbox-container + { + margin-block-start: calc(0px - (var(--space-above-tabbar) + 5px)) !important; + } + + :root[tabsintitlebar][sizemode=maximized] .titlebar-buttonbox-container + { + margin-block-start: calc(2px - (var(--space-above-tabbar))) !important; + } + + :root[tabsintitlebar][sizemode=maximized]:not([extradragspace]) .titlebar-buttonbox-container + { + -moz-box-align: start !important; + margin-block-start: -5px !important; + } + + @media (-moz-windows-accent-color-in-titlebar: 0) + { + :root[tabsintitlebar]:not(:-moz-lwtheme):not([privatebrowsingmode=temporary]) + { + background-color: #dee1e6 !important; + color: #3c4043 !important; + } + + :root[tabsintitlebar]:not(:-moz-lwtheme):not([privatebrowsingmode=temporary]):-moz-window-inactive + { + background-color: #e7eaed !important; + color: #666a6d !important; + } + } + } + } + } +} + +#navigator-toolbox :-moz-any(toolbar, #nav-bar-customization-target):not(#toolbar-menubar) +{ + -moz-box-align: center !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton), +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) +{ + border-radius: 99px !important; + transition-property: + background-color, + background-size, + fill-opacity !important; + transition-duration: .3s !important; + transition-timing-function: + var(--ease-basic), + var(--ease-out), + var(--ease-basic) !important; + + fill: currentColor !important; + fill-opacity: 0 !important; + + background-image: + url(circle.svg), + url(circle.svg) !important; + background-size: 25% !important; + background-repeat: no-repeat !important; + background-position: center !important; + background-color: transparent !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton), +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) +{ + font-size: 12px !important; + padding: 0 !important; + margin: 0 !important; + border: 2px solid transparent !important; + background-clip: padding-box !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-1, .scrollbutton-up, .scrollbutton-down), +/* no ::part workaround - may have side effects */ +.#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton), +.#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) +{ + max-height: 32px !important; + height: 32px !important; + min-height: 32px !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton))[disabled], +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton)[disabled], +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton)[disabled] +{ + opacity: .42 !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)):hover:not([disabled]), +#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)):-moz-any(:hover:active, [checked], [open]):not([disabled]), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton):hover:not([disabled]), +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton):hover:not([disabled]) +{ + background-color: var(--toolbarbutton-hover-background) !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-1, toolbarbutton.bookmark-item:not(.subviewbutton)):-moz-any(:hover:active, [checked], [open]):not([disabled]), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton):hover:active:not([disabled]), +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton):hover:active:not([disabled]) +{ + fill-opacity: .04 !important; + background-size: 100% !important; +} + +#navigator-toolbox :-moz-any(.toolbarbutton-icon, .toolbarbutton-badge-stack), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon, +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon +{ + fill-opacity: 1 !important; + border: 0 !important; + box-shadow: none !important; +} + +#navigator-toolbox .toolbarbutton-1 > .toolbarbutton-icon +{ + width: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important; + height: calc(2 * var(--toolbarbutton-inner-padding) + 16px) !important; +} + +#navigator-toolbox > #PersonalToolbar .toolbarbutton-1 > .toolbarbutton-icon, +#navigator-toolbox .toolbarbutton-1 > :-moz-any(.toolbarbutton-icon, .toolbarbutton-badge-stack), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon, +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) > .toolbarbutton-icon +{ + padding: 6px !important; + background: 0 !important; +} + +/* + hack: fix customization screen popping bug when changing ui density + icon size is enforced and it doesn't like it when the normal density + nav-bar height is less than 38px (it's 36px due to smaller back icon) +*/ +:root:not([uidensity=compact]) #customization-content-container +{ + padding-top: 1px !important; +} + +:root:not([uidensity=compact]) :-moz-any(#customization-palette-container, #customization-panel-container) +{ + margin-top: -1px !important; +} + +.menu-iconic, +.menuitem-iconic +{ + fill: currentColor !important; +} + +/* legacy */ +#navigator-toolbox +{ + border-bottom: 1px solid var(--chrome-content-separator-color, var(--toolbox-border-bottom-color)) !important; +} + +/* legacy */ +#navigator-toolbox::after +{ + display: none !important; +} + +.pointerlockfswarning +{ + display: flex !important; + border-radius: 4px !important; + padding: 6px !important; + background: #333 !important; + border: 0 !important; + font-size: 14px !important; + box-shadow: + 0 3px 5px -1px rgba(0,0,0,.2), + 0 6px 10px 0 rgba(0,0,0,.14), + 0 1px 18px 0 rgba(0,0,0,.12) !important; + color: hsla(0,0%,100%,.87) !important; + transition-timing-function: var(--ease-out), linear !important; + transition-property: transform, top !important; +} + +#fullscreen-warning +{ + flex-direction: column !important; + min-width: 344px !important; +} + +.pointerlockfswarning[hidden] +{ + visibility: hidden !important; +} + +/* hack to keep it in same place as [ontop] */ +/* probably doesn't work for single-line */ +.pointerlockfswarning:not([hidden]):not([ontop]) +{ + top: -32px !important; +} + +.pointerlockfswarning[ontop] +{ + top: 28px !important; +} + +.pointerlockfswarning::before +{ + display: none !important; +} + +.pointerlockfswarning-domain-text +{ + margin-block: 8px 18px !important; + margin-inline: 10px !important; + font-size: unset !important; + font-weight: unset !important; + align-self: start !important; +} + +.pointerlockfswarning-domain +{ + font-weight: unset !important; +} + +#fullscreen-exit-button +{ + -moz-appearance: none !important; + border: 0 !important; + height: 32px !important; + display: flex !important; + align-items: center !important; + margin-inline: 8px 0 !important; + text-transform: uppercase !important; + font-weight: 500 !important; + letter-spacing: .0892857143em !important; + background: 0 !important; + position: relative !important; + color: var(--toolbarbutton-icon-fill-attention) !important; + align-self: end !important; + font-family: Roboto, inherit !important; +} + +#fullscreen-exit-button::before +{ + content: "" !important; + display: block !important; + z-index: -1 !important; + position: absolute !important; + left: 0 !important; + right: 0 !important; + top: 0 !important; + bottom: 0 !important; + border-radius: 4px !important; + background: currentColor !important; + opacity: 0 !important; + transition: opacity .3s var(--ease-basic) !important; +} + +#fullscreen-exit-button:hover::before +{ + opacity: .12 !important; +} + +#fullscreen-exit-button:hover:active::before +{ + opacity: .24 !important; + transition-duration: .1s !important; +} + +/* note: use Firefox account button instead */ +#TabsToolbar .private-browsing-indicator +{ + display: none !important; +} + +/* high DPI adjustments */ +@media (min--moz-device-pixel-ratio: 2) +{ + #navigator-toolbox + { + border-bottom-width: .5px !important; + padding-bottom: .5px !important; + box-shadow: inset 0 -.5px var(--toolbar-bgcolor) !important; + } +} \ No newline at end of file diff --git a/firefox/chrome/global/variables.css b/firefox/chrome/global/variables.css new file mode 100755 index 0000000..98c4fd4 --- /dev/null +++ b/firefox/chrome/global/variables.css @@ -0,0 +1,213 @@ +/* light mode */ +:root:not([style]), +:root[style*="--lwt-accent-color:rgb(227, 228, 230);"], +:root[style*="--lwt-accent-color:white;"] +{ + /* accentcolor */ + --lwt-accent-color: #dee1e6 !important; + + /* textcolor */ + --lwt-text-color: #606368 !important; + + /* toolbar */ + --toolbar-bgcolor: #fff !important; + + /* toolbar_text */ + --toolbar-color: #606368 !important; + + /* toolbar_bottom_separator */ + --toolbox-border-bottom-color: #b3b1b3 !important; /* legacy */ + --chrome-content-separator-color: #b3b1b3 !important; + + /* icons */ + --lwt-toolbarbutton-icon-fill: #606368 !important; + + /* icons_attention */ + --lwt-toolbarbutton-icon-fill-attention: #5086ec !important; + + /* button_background_hover */ + --lwt-toolbarbutton-hover-background: rgba(0, 0, 0, .07) !important; + + /* button_background_active */ + --lwt-toolbarbutton-active-background: rgba(0, 0, 0, .11) !important; + + --lwt-toolbar-field-color: #202124 !important; + + /* popup_highlight */ + --autocomplete-popup-highlight-background: #f2f2f2 !important; + + /* popup_highlight_text */ + --autocomplete-popup-highlight-color: #202124 !important; +} + +/* don't bother with sidebar in light mode */ + +/* dark mode */ +:root[style*="--lwt-accent-color:rgb(12, 12, 13);"], +:root[privatebrowsingmode=temporary] +{ + /* accentcolor */ + --lwt-accent-color: #202124 !important; + + /* textcolor */ + --lwt-text-color: #9ba0a5 !important; + + /* toolbar */ + --toolbar-bgcolor: #333639 !important; + + /* toolbar_text */ + --toolbar-color: #fff !important; + + /* toolbar_bottom_separator */ + --toolbox-border-bottom-color: #282828 !important; /* legacy */ + --chrome-content-separator-color: #282828 !important; + + /* icons */ + --lwt-toolbarbutton-icon-fill: #fff !important; + + /* icons_attention */ + --lwt-toolbarbutton-icon-fill-attention: #5086ec !important; + + /* button_background_hover */ + --lwt-toolbarbutton-hover-background: #434649 !important; + + /* button_background_active */ + --lwt-toolbarbutton-active-background: #4e5153 !important; + + --lwt-toolbar-field-color: #fff !important; + + /* popup */ + --arrowpanel-background: #373737 !important; + + /* popup_text */ + --arrowpanel-color: #fff !important; + --autocomplete-popup-color: #fff !important; + --panel-disabled-color: hsla(0, 0%, 100%, .5) !important; + + /* popup_border */ + --arrowpanel-border-color: #555 !important; + --autocomplete-popup-border-color: #555 !important; + + /* popup_highlight */ + --autocomplete-popup-highlight-background: #4c4f52 !important; + + /* popup_highlight_text */ + --autocomplete-popup-highlight-color: #fff !important; +} + +:-moz-any(#sidebar-box, #sidebar)[style*="--sidebar-background-color:rgb(56, 56, 61);"] +{ + /* sidebar */ + --sidebar-background-color: #333639 !important; + + /* sidebar_text */ + --sidebar-text-color: #f1f3ee !important; +} + +:-moz-any(.sidebar-panel, body)[style*="--lwt-sidebar-background-color:rgb(56, 56, 61);"] +{ + /* sidebar */ + --lwt-sidebar-background-color: #333639 !important; + + /* sidebar_text */ + --lwt-sidebar-text-color: #f1f3ee !important; +} + +:root +{ + --ease-in: cubic-bezier(.4, 0, 1, 1); + --ease-out: cubic-bezier(0, 0, .2, 1); + --ease-basic: linear; + + --button-size: 32px; /* is this used? */ + --icon-size: 24px; /* is this used? */ + + --downloads-item-height: 48px !important; + + --toolbar-non-lwt-bgcolor: var(--toolbar-bgcolor) !important; + --toolbar-non-lwt-textcolor: var(--toolbar-color) !important; +} + +#titlebar, +#tabbrowser-tabs +{ + --tab-min-height: 34px !important; +} + +@supports -moz-bool-pref("materialFox.reduceTabOverflow") +{ + #tabbrowser-tabs + { + --tab-min-width: 32px !important; + } +} + +:root +{ + --tab-separator-opacity: .35 !important; + + --toolbar-field-background-color: hsl(200, 12%, 95%) !important; + --toolbar-field-hover-background-color: hsl(216, 12%, 92%) !important; + --toolbar-field-focus-background-color: hsl(0, 0%, 100%) !important; +} + +:root:-moz-any(:-moz-lwtheme-brighttext, [privatebrowsingmode=temporary]) +{ + --toolbar-field-background-color: #202124 !important; + --toolbar-field-hover-background-color: #292a2d !important; + --toolbar-field-focus-background-color: #202124 !important; +} + +:root:not(:-moz-lwtheme):not([privatebrowsingmode=temporary]) +{ + --toolbar-bgcolor: hsl(0, 0%, 100%) !important; + --toolbar-color: hsl(213, 5%, 39%) !important; + --toolbox-border-bottom-color: hsl(0, 0%, 70%) !important; +} + +@media (-moz-mac-yosemite-theme) +{ + :root[extradragspace] + { + --space-above-tabbar: 8px !important; + } +} + +/* Ubuntu */ +@media (-moz-gtk-csd-available) +{ + :root:not(:-moz-lwtheme):not([privatebrowsingmode=temporary]) + { + --toolbar-bgcolor: -moz-dialog !important; + --toolbar-color: -moz-dialogtext !important; + } +} + +:root:-moz-lwtheme-darktext, +:root toolbar:not([brighttext]), +.tabbrowser-tab[visuallyselected] +{ + --toolbarbutton-hover-background: var(--lwt-toolbarbutton-hover-background, hsla(0, 0%, 0%, .07)) !important; + --toolbarbutton-active-background: var(--lwt-toolbarbutton-active-background, hsla(0, 0%, 0%, .11)) !important; +} + +:root:-moz-lwtheme-brighttext, +:root toolbar[brighttext], +.tabbrowser-tab[visuallyselected]:-moz-lwtheme-brighttext +{ + --toolbarbutton-hover-background: var(--lwt-toolbarbutton-hover-background, hsla(0, 0%, 100%, .1)) !important; + --toolbarbutton-active-background: var(--lwt-toolbarbutton-active-background, hsla(0, 0%, 100%, .17)) !important; +} + +/* special case for urlbar buttons */ +:-moz-any(#urlbar, #searchbar) +{ + --toolbarbutton-hover-background: hsl(210, 5%, 85%) !important; + --toolbarbutton-active-background: hsl(210, 4%, 80%) !important; +} + +:root:-moz-any([privatebrowsingmode=temporary], :-moz-lwtheme-brighttext) :-moz-any(#urlbar, #searchbar) +{ + --toolbarbutton-hover-background: hsl(206, 5%, 26%) !important; + --toolbarbutton-active-background: hsl(210, 4%, 31%) !important; +} \ No newline at end of file diff --git a/firefox/chrome/icons/addons.svg b/firefox/chrome/icons/addons.svg new file mode 100644 index 0000000..6369afb --- /dev/null +++ b/firefox/chrome/icons/addons.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/arrow-back-1x.svg b/firefox/chrome/icons/arrow-back-1x.svg new file mode 100644 index 0000000..026afad --- /dev/null +++ b/firefox/chrome/icons/arrow-back-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/arrow-back-2x.svg b/firefox/chrome/icons/arrow-back-2x.svg new file mode 100644 index 0000000..8869d65 --- /dev/null +++ b/firefox/chrome/icons/arrow-back-2x.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/audio-muted.svg b/firefox/chrome/icons/audio-muted.svg new file mode 100644 index 0000000..c076c20 --- /dev/null +++ b/firefox/chrome/icons/audio-muted.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/audio.svg b/firefox/chrome/icons/audio.svg new file mode 100644 index 0000000..5eeba1e --- /dev/null +++ b/firefox/chrome/icons/audio.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/bookmark.svg b/firefox/chrome/icons/bookmark.svg new file mode 100644 index 0000000..e5a7cba --- /dev/null +++ b/firefox/chrome/icons/bookmark.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/bug.svg b/firefox/chrome/icons/bug.svg new file mode 100644 index 0000000..c5aff2c --- /dev/null +++ b/firefox/chrome/icons/bug.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/close.svg b/firefox/chrome/icons/close.svg new file mode 100644 index 0000000..e750bba --- /dev/null +++ b/firefox/chrome/icons/close.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/icons/copy.svg b/firefox/chrome/icons/copy.svg new file mode 100644 index 0000000..8b357cc --- /dev/null +++ b/firefox/chrome/icons/copy.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/cut.svg b/firefox/chrome/icons/cut.svg new file mode 100644 index 0000000..282e6f0 --- /dev/null +++ b/firefox/chrome/icons/cut.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/icons/developer.svg b/firefox/chrome/icons/developer.svg new file mode 100644 index 0000000..f99dbed --- /dev/null +++ b/firefox/chrome/icons/developer.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/email.svg b/firefox/chrome/icons/email.svg new file mode 100644 index 0000000..6c85cf3 --- /dev/null +++ b/firefox/chrome/icons/email.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/folder.svg b/firefox/chrome/icons/folder.svg new file mode 100644 index 0000000..14f5f2a --- /dev/null +++ b/firefox/chrome/icons/folder.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/forget.svg b/firefox/chrome/icons/forget.svg new file mode 100644 index 0000000..69f1a84 --- /dev/null +++ b/firefox/chrome/icons/forget.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/globe.svg b/firefox/chrome/icons/globe.svg new file mode 100644 index 0000000..7700ff4 --- /dev/null +++ b/firefox/chrome/icons/globe.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/history.svg b/firefox/chrome/icons/history.svg new file mode 100644 index 0000000..3387c94 --- /dev/null +++ b/firefox/chrome/icons/history.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/home-1x.svg b/firefox/chrome/icons/home-1x.svg new file mode 100644 index 0000000..7db9cc9 --- /dev/null +++ b/firefox/chrome/icons/home-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/home-2x.svg b/firefox/chrome/icons/home-2x.svg new file mode 100644 index 0000000..8a10654 --- /dev/null +++ b/firefox/chrome/icons/home-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/hyperlink.svg b/firefox/chrome/icons/hyperlink.svg new file mode 100644 index 0000000..f38bfde --- /dev/null +++ b/firefox/chrome/icons/hyperlink.svg @@ -0,0 +1,7 @@ + + + + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/icons.css b/firefox/chrome/icons/icons.css new file mode 100755 index 0000000..2ad27bf --- /dev/null +++ b/firefox/chrome/icons/icons.css @@ -0,0 +1,327 @@ +.toolbarbutton-1:-moz-any(#back-button, #forward-button), +#context-back, +#context-forward, +.subviewbutton-back, +.identity-popup-expander +{ + list-style-image: url(arrow-back-1x.svg) !important; +} + +#PanelUI-menu-button +{ + list-style-image: url(menu.svg) !important; +} + +#PanelUI-menu-button[badge-status|="update"] +{ + list-style-image: url(menu-update.svg) !important; +} + +#reload-button, +#context-reload +{ + list-style-image: url(refresh-1x.svg) !important; +} + +#stop-button +{ + list-style-image: url(stop-1x.svg) !important; +} + +.toolbarbutton-1#forward-button, +#context-forward +{ + transform: scaleX(-1) !important; +} + +#home-button +{ + list-style-image: url(home-1x.svg) !important; +} + +#star-button, +#context-bookmarkpage, +#pageAction-panel-bookmark, +#panelMenuBookmarkThisPage +{ + list-style-image: url(star-1x.svg) !important; + fill-opacity: 0 !important; +} + +#star-button[starred], +#tracking-protection-icon-box[active] +{ + fill: var(--toolbarbutton-icon-fill-attention) !important; +} + +#star-button[starred], +#context-bookmarkpage[starred], +#panelMenuBookmarkThisPage +{ + fill-opacity: 1 !important; +} + +#bookmarks-menu-button, +#appMenu-library-bookmarks-button, +#panelMenu_toggleBookmarksMenu +{ + list-style-image: url(bookmark.svg) !important; +} + +#library-button, +#appMenu-library-button +{ + list-style-image: url(library-1x.svg) !important; +} + +#preferences-button, +#appMenu-preferences-button, +.identity-popup-preferences-button, +#urlbar-anon-search-settings-compact .button-icon +{ + list-style-image: url(settings.svg) !important; +} + +#history-panelmenu, +#appMenu-library-history-button +{ + list-style-image: url(history.svg) !important; +} + +#appMenu-logins-button, +richlistitem[originaltype="loginWithOrigin"] .ac-site-icon, +richlistitem[originaltype="loginsFooter"] .ac-site-icon +{ + list-style-image: url(key.svg) !important; +} + +.subviewbutton[type="highlight-history"]::after +{ + content: url(history.svg) !important; +} + +#panic-button +{ + list-style-image: url(forget.svg) !important; +} + +#developer-button +{ + list-style-image: url(developer.svg) !important; +} + +#add-ons-button, +#appMenu-addons-button +{ + list-style-image: url(addons.svg) !important; +} + +#email-link-button, +#pageAction-panel-emailLink +{ + list-style-image: url(email.svg) !important; +} + +#pageAction-panel-shareURL +{ + list-style-image: url(share.svg) !important; +} + +#pageAction-panel-copyURL +{ + list-style-image: url(hyperlink.svg) !important; +} + +#pageAction-panel-webcompat-reporter_mozilla_org +{ + list-style-image: url(bug.svg) !important; +} + +#pageAction-panel-webcompat-reporter_mozilla_org > .toolbarbutton-icon +{ + list-style-image: inherit !important; +} + +#screenshots_mozilla_org-menuitem-_create-screenshot .menu-iconic-left +{ + background-image: url(screenshot.svg) !important; + background-position: 4px center !important; + background-repeat: no-repeat !important; +} + +#screenshots_mozilla_org-menuitem-_create-screenshot .menu-iconic-icon +{ + visibility: hidden !important; +} + +#tabs-newtab-button, +#new-tab-button +{ + list-style-image: url(new-tab.svg) !important; +} + +#fxa-avatar-image +{ + /* icon should be 20px, but we don't want to affect button size */ + transform: scale(1.25) !important; + border-radius: 50% !important; +} + +:root:not([fxastatus=signedin]) #fxa-avatar-image +{ + list-style-image: url(profile-inactive.svg) !important; +} + +:root[fxastatus=signedin]:not([style*="--avatar-image-url"]) #fxa-avatar-image +{ + list-style-image: url(profile.svg) !important; +} + +:root[privatebrowsingmode] #fxa-avatar-image +{ + list-style-image: url(incognito.svg) !important; +} + +#tracking-protection-icon +{ + list-style-image: url(tracking-protection.svg) !important; +} + +#pageActionButton +{ + list-style-image: url(menu.svg) !important; +} + +#urlbar[pageproxystate="invalid"] #identity-icon, +.searchbar-search-icon, +#PopupAutoCompleteRichResult .ac-type-icon[type="keyword"], +#PopupAutoCompleteRichResult .ac-site-icon[type="searchengine"], +#appMenu-find-button, +#panelMenu_searchBookmarks +{ + list-style-image: url(search.svg) !important; +} + +#appMenu-cut-button +{ + list-style-image: url(cut.svg) !important; +} + +#appMenu-copy-button +{ + list-style-image: url(copy.svg) !important; +} + +#appMenu-paste-button +{ + list-style-image: url(paste.svg) !important; +} + +#appMenu-fxa-label, +#PanelUI-fxa-menu-syncnow-button, +#appMenu-fxa-icon, +#PanelUI-remotetabs-syncnow +{ + list-style-image: url(sync.svg) !important; +} + +.tab-icon-image:not([src]) +{ + list-style-image: url(globe.svg) !important; +} + +.tab-icon-image[src="chrome://browser/skin/settings.svg"] +{ + display: none !important; +} + +.tab-icon-image[src="chrome://browser/skin/settings.svg"] ~ .tab-icon-overlay +{ + display: -moz-box !important; + margin: 0 !important; + list-style-image: url(settings.svg) !important; + -moz-context-properties: fill, fill-opacity !important; + fill: currentColor !important; +} + +.tab-icon-overlay[soundplaying], +.tab-icon-sound +{ + list-style-image: url(audio.svg) !important; +} + +.tab-icon-overlay[muted], +.tab-icon-sound[muted] +{ + list-style-image: url(audio-muted.svg) !important; +} + +.tab-icon-overlay[activemedia-blocked], +.tab-icon-sound[activemedia-blocked] +{ + list-style-image: url(media-blocked.svg) !important; +} + +.downloadIconShow .button-icon +{ + list-style-image: url(folder.svg) !important; +} + +.panel-banner-item[notificationid^="update"] +{ + list-style-image: url(menu-update.svg) !important; + -moz-context-properties: fill, fill-opacity !important; + fill: currentColor !important; +} + +/* high DPI adjustments */ +@media (min--moz-device-pixel-ratio: 2) +{ + .toolbarbutton-1:-moz-any(#back-button, #forward-button), + #context-back, + #context-forward, + .subviewbutton-back, + .identity-popup-expander + { + list-style-image: url(arrow-back-2x.svg) !important; + } + + #PanelUI-menu-button:not([badge-status|="update"]) .toolbarbutton-icon + { + transform: translate(-.5px, -.5px) !important; + } + + #stop-button + { + list-style-image: url(stop-2x.svg) !important; + } + + #reload-button, + #context-reload + { + list-style-image: url(refresh-2x.svg) !important; + } + + #home-button + { + list-style-image: url(home-2x.svg) !important; + } + + #star-button, + #context-bookmarkpage, + #pageAction-panel-bookmark, + #panelMenuBookmarkThisPage + { + list-style-image: url(star-2x.svg) !important; + } + + #bookmarks-menu-button .toolbarbutton-icon + { + transform: translateX(.5px) !important; + } + + #library-button + { + list-style-image: url(library-2x.svg) !important; + } +} \ No newline at end of file diff --git a/firefox/chrome/icons/incognito.svg b/firefox/chrome/icons/incognito.svg new file mode 100644 index 0000000..c8638d4 --- /dev/null +++ b/firefox/chrome/icons/incognito.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/key.svg b/firefox/chrome/icons/key.svg new file mode 100644 index 0000000..d03c814 --- /dev/null +++ b/firefox/chrome/icons/key.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/icons/library-1x.svg b/firefox/chrome/icons/library-1x.svg new file mode 100644 index 0000000..4edae9c --- /dev/null +++ b/firefox/chrome/icons/library-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/library-2x.svg b/firefox/chrome/icons/library-2x.svg new file mode 100644 index 0000000..c3e0ee9 --- /dev/null +++ b/firefox/chrome/icons/library-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/media-blocked.svg b/firefox/chrome/icons/media-blocked.svg new file mode 100644 index 0000000..5065c9e --- /dev/null +++ b/firefox/chrome/icons/media-blocked.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/menu-update.svg b/firefox/chrome/icons/menu-update.svg new file mode 100644 index 0000000..07cab79 --- /dev/null +++ b/firefox/chrome/icons/menu-update.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/menu.svg b/firefox/chrome/icons/menu.svg new file mode 100644 index 0000000..23e93b3 --- /dev/null +++ b/firefox/chrome/icons/menu.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/icons/new-tab.svg b/firefox/chrome/icons/new-tab.svg new file mode 100644 index 0000000..b071566 --- /dev/null +++ b/firefox/chrome/icons/new-tab.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/paste.svg b/firefox/chrome/icons/paste.svg new file mode 100644 index 0000000..440efae --- /dev/null +++ b/firefox/chrome/icons/paste.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/profile-inactive.svg b/firefox/chrome/icons/profile-inactive.svg new file mode 100644 index 0000000..054fc42 --- /dev/null +++ b/firefox/chrome/icons/profile-inactive.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/profile.svg b/firefox/chrome/icons/profile.svg new file mode 100644 index 0000000..df12aa4 --- /dev/null +++ b/firefox/chrome/icons/profile.svg @@ -0,0 +1,9 @@ + + + + + + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/refresh-1x.svg b/firefox/chrome/icons/refresh-1x.svg new file mode 100644 index 0000000..428bbd7 --- /dev/null +++ b/firefox/chrome/icons/refresh-1x.svg @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/refresh-2x.svg b/firefox/chrome/icons/refresh-2x.svg new file mode 100644 index 0000000..a39ce6f --- /dev/null +++ b/firefox/chrome/icons/refresh-2x.svg @@ -0,0 +1,16 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/screenshot.svg b/firefox/chrome/icons/screenshot.svg new file mode 100644 index 0000000..d28d202 --- /dev/null +++ b/firefox/chrome/icons/screenshot.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/search.svg b/firefox/chrome/icons/search.svg new file mode 100644 index 0000000..677a77b --- /dev/null +++ b/firefox/chrome/icons/search.svg @@ -0,0 +1,10 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/settings.svg b/firefox/chrome/icons/settings.svg new file mode 100644 index 0000000..6da40ed --- /dev/null +++ b/firefox/chrome/icons/settings.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/share.svg b/firefox/chrome/icons/share.svg new file mode 100644 index 0000000..1ca669e --- /dev/null +++ b/firefox/chrome/icons/share.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/star-1x.svg b/firefox/chrome/icons/star-1x.svg new file mode 100644 index 0000000..5602b87 --- /dev/null +++ b/firefox/chrome/icons/star-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/star-2x.svg b/firefox/chrome/icons/star-2x.svg new file mode 100644 index 0000000..ecf9c8b --- /dev/null +++ b/firefox/chrome/icons/star-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/stop-1x.svg b/firefox/chrome/icons/stop-1x.svg new file mode 100644 index 0000000..959a4b3 --- /dev/null +++ b/firefox/chrome/icons/stop-1x.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/stop-2x.svg b/firefox/chrome/icons/stop-2x.svg new file mode 100644 index 0000000..272a32f --- /dev/null +++ b/firefox/chrome/icons/stop-2x.svg @@ -0,0 +1,8 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/icons/sync.svg b/firefox/chrome/icons/sync.svg new file mode 100644 index 0000000..09b6829 --- /dev/null +++ b/firefox/chrome/icons/sync.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/icons/tracking-protection.svg b/firefox/chrome/icons/tracking-protection.svg new file mode 100644 index 0000000..61bc438 --- /dev/null +++ b/firefox/chrome/icons/tracking-protection.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/navbar/connection-1x.svg b/firefox/chrome/navbar/connection-1x.svg new file mode 100644 index 0000000..f8568ac --- /dev/null +++ b/firefox/chrome/navbar/connection-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/connection-2x.svg b/firefox/chrome/navbar/connection-2x.svg new file mode 100644 index 0000000..cfabbde --- /dev/null +++ b/firefox/chrome/navbar/connection-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/connection-warning-1x.svg b/firefox/chrome/navbar/connection-warning-1x.svg new file mode 100644 index 0000000..94e73cd --- /dev/null +++ b/firefox/chrome/navbar/connection-warning-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/connection-warning-2x.svg b/firefox/chrome/navbar/connection-warning-2x.svg new file mode 100644 index 0000000..ec5553b --- /dev/null +++ b/firefox/chrome/navbar/connection-warning-2x.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/navbar/identity-icons-brand.svg b/firefox/chrome/navbar/identity-icons-brand.svg new file mode 100644 index 0000000..4870645 --- /dev/null +++ b/firefox/chrome/navbar/identity-icons-brand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/info-1x.svg b/firefox/chrome/navbar/info-1x.svg new file mode 100644 index 0000000..005445a --- /dev/null +++ b/firefox/chrome/navbar/info-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/info-2x.svg b/firefox/chrome/navbar/info-2x.svg new file mode 100644 index 0000000..39e87c3 --- /dev/null +++ b/firefox/chrome/navbar/info-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/naughty-shield-1x.svg b/firefox/chrome/navbar/naughty-shield-1x.svg new file mode 100644 index 0000000..59327d5 --- /dev/null +++ b/firefox/chrome/navbar/naughty-shield-1x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/naughty-shield-2x.svg b/firefox/chrome/navbar/naughty-shield-2x.svg new file mode 100644 index 0000000..549aad2 --- /dev/null +++ b/firefox/chrome/navbar/naughty-shield-2x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/navbar/navbar.css b/firefox/chrome/navbar/navbar.css new file mode 100644 index 0000000..5944e9a --- /dev/null +++ b/firefox/chrome/navbar/navbar.css @@ -0,0 +1,44 @@ +#nav-bar +{ + min-height: 36px !important; + box-shadow: none !important; + padding-inline: 5px 6px !important; + background-color: var(--toolbar-bgcolor) !important; +} + +#reload-button[disabled]:not(:-moz-window-inactive) > .toolbarbutton-icon +{ + opacity: 1 !important; +} + +/* Windows */ +#PanelUI-button +{ + border: none !important; + margin: 0 !important; + padding: 0 !important; +} + +#PanelUI-menu-button[badge-status|="update"] .toolbarbutton-badge +{ + display: none !important; +} + +:root[privatebrowsingmode] #fxa-toolbar-menu-button +{ + pointer-events: none !important; +} + +/* show "Private" label for en languages only */ +:root[titlemodifier="(Private Browsing)"] #fxa-toolbar-menu-button::before +{ + content: "Private" !important; + display: -moz-box !important; + margin-inline-start: 12px !important; + margin-inline-end: 6px !important; +} + +#nav-bar-customization-target +{ + overflow: visible !important; +} \ No newline at end of file diff --git a/firefox/chrome/personalbar/personalbar.css b/firefox/chrome/personalbar/personalbar.css new file mode 100755 index 0000000..905916f --- /dev/null +++ b/firefox/chrome/personalbar/personalbar.css @@ -0,0 +1,4 @@ +#navigator-toolbox toolbarbutton.bookmark-item:not(.subviewbutton) +{ + padding: 6px !important; +} \ No newline at end of file diff --git a/firefox/chrome/popup/checkmark-18dp.svg b/firefox/chrome/popup/checkmark-18dp.svg new file mode 100644 index 0000000..99df627 --- /dev/null +++ b/firefox/chrome/popup/checkmark-18dp.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/popup/menu-right-1x.svg b/firefox/chrome/popup/menu-right-1x.svg new file mode 100644 index 0000000..defd15e --- /dev/null +++ b/firefox/chrome/popup/menu-right-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/popup/menu-right-2x.svg b/firefox/chrome/popup/menu-right-2x.svg new file mode 100644 index 0000000..7edab69 --- /dev/null +++ b/firefox/chrome/popup/menu-right-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/popup/popup.css b/firefox/chrome/popup/popup.css new file mode 100755 index 0000000..43ce233 --- /dev/null +++ b/firefox/chrome/popup/popup.css @@ -0,0 +1,1016 @@ +menupopup, +menupopup menuitem, +menupopup menu, +menupopup menuseparator +{ + -moz-appearance: none !important; +} + +menupopup, +panel[type="autocomplete-richlistbox"] +{ + -moz-window-shadow: none !important; + background: 0 !important; + border: 0 !important; + color: var(--arrowpanel-color) !important; + box-sizing: content-box !important; +} + +menupopup +{ + padding: 11px 14px 18px !important; + margin: -19px -14px 0 !important; +} + +/* needs to align with textbox/bookmark-button but can't overlap it */ +panel[type="autocomplete-richlistbox"], +.bookmark-item:not(menu) > menupopup[placespopup] +{ + padding: 1px 14px 18px !important; + margin: 0 -14px 0 !important; +} + +.panel-arrowcontent +{ + background: 0 !important; + padding: 0 !important; + box-shadow: none !important; + font: -moz-pull-down-menu !important; + border: 0 !important; +} + +.popup-internal-box, +panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox, +#PopupSearchAutoComplete > *, +.menupopup-arrowscrollbox +{ + background: var(--arrowpanel-background) !important; +} + +/* themes a menupopup (or other root level / shadow dom popup) as a panel */ +/* Mozilla's use of shadow dom means we can't use a menupopup > .popup-internal-box */ +.popup-internal-box, +panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox, +.menupopup-arrowscrollbox +{ + margin: 0 !important; + padding: 8px 0 !important; + border-radius: 4px !important; + color: inherit !important; +} + +.popup-internal-box, +.menupopup-arrowscrollbox +{ + box-shadow: + 0 5px 5px -3px rgba(0,0,0,.2), + 0 8px 10px 1px rgba(0,0,0,.14), + 0 3px 14px 2px rgba(0,0,0,.12) !important; +} + +#PopupSearchAutoComplete > * +{ + border-radius: 0 !important; +} + +#PopupSearchAutoComplete > :first-child +{ + border-radius: 4px 4px 0 0 !important; +} + +#PopupSearchAutoComplete > :last-child +{ + border-radius: 0 0 4px 4px !important; +} + +/* autocomplete panel can't overlap the textbox, so shadow can't go up + more than 1px */ +panel[type="autocomplete-richlistbox"] > .autocomplete-richlistbox +{ + box-shadow: + 0 0 0 1px rgba(0, 0, 0, .03), + 0 5px 5px -3px rgba(0, 0, 0, .2), + 0 8px 10px -0px rgba(0, 0, 0, .14), + 0 3px 14px -5px rgba(0, 0, 0, .12) !important; +} + +/* search panel gets special treatment; it has multiple children */ +#PopupSearchAutoComplete > .autocomplete-richlistbox +{ + box-shadow: none !important; +} + +#PopupSearchAutoComplete +{ + filter: + drop-shadow(0 8px 6px rgba(0, 0, 0, .25)) + drop-shadow(0 1px 1px rgba(0, 0, 0, .125)) !important; +} + +/* reset non-layout props when embedded in a panel + (panel handles panel theming in this case) */ +.panel-arrowcontent > .popup-internal-box +{ + background: 0 !important; + border-radius: 0 !important; + box-shadow: none !important; +} + +/* shotgun approach to undo this selector... + #BMB_bookmarksPopup menupopup[placespopup="true"]:-moz-lwtheme::part(innerbox) + ...without being able to use ::part() in userChrome.css */ +[part="innerbox"] +{ + /* this could cause side effects elsewhere */ + box-shadow: none !important; + margin: 0 !important; +} + +menupopup menuseparator +{ + margin: 8px 0 !important; + padding: 0 !important; + height: 1px !important; + background: currentColor !important; + opacity: .12 !important; +} + +menupopup menuitem, +menupopup menu, +.autocomplete-richlistitem +{ + height: 32px !important; + padding: 0 16px !important; + border: 0 !important; + background: 0 !important; + color: inherit !important; + fill-opacity: initial !important; +} + +menupopup menuitem:hover:not([disabled=true]), +menupopup menu:hover:not([disabled=true]), +.autocomplete-richlistitem:hover:not([disabled=true]):not([selected=true]) +{ + background-color: var(--arrowpanel-dimmed) !important; +} + +menupopup menuitem:hover:active:not([disabled=true]), +menupopup menu:hover:active:not([disabled=true]), +.autocomplete-richlistitem:hover:active:not([disabled=true]), +.autocomplete-richlistitem[selected=true] +{ + background-color: var(--arrowpanel-dimmed-further) !important; +} + +menupopup menuitem[disabled=true], +menupopup menu[disabled=true], +.autocomplete-richlistitem[disabled=true] +{ + opacity: .5 !important; +} + +/* disable vertical menu scroll buttons and use a good ol' scrollbar */ +/* this is a shotgun approach, expect side effects */ +scrollbox[orient=vertical] /* >=71 */ +{ + overflow-y: auto !important; +} + +/* why still use scroll buttons; is this the middle ages? */ +.menupopup-scrollbutton +{ + display: none !important; +} + +.menu-iconic-left +{ + -moz-appearance: none !important; +} + +/* hide icon if no image (default on macOS but not Windows) */ +.subviewbutton:not(:-moz-any([image], [targetURI], .bookmark-item)) > .menu-iconic-left +{ + display: none; +} + +.menu-iconic-icon +{ + fill: currentColor !important; + -moz-context-properties: fill, fill-opacity, stroke, stroke-opacity !important; + margin-inline-start: 0 !important; + margin-inline-end: 16px !important; + width: 24px !important; + height: 24px !important; + padding: 4px !important; +} + +.menu-text +{ + -moz-appearance: none !important; + padding: 0 !important; +} + +.menu-right +{ + -moz-appearance: none !important; + -moz-context-properties: fill !important; + fill: currentColor !important; + list-style-image: url(menu-right-2x.svg) !important; + margin-inline-end: 0 !important; + margin-inline-start: 16px !important; +} + +menuitem[type="checkbox"] > .menu-iconic-left > .menu-iconic-icon, +menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon, +menuitem[type="radio"] > .menu-iconic-left > .menu-iconic-icon +{ + display: -moz-box !important; + padding: 3px !important; +} + +menuitem[checked="true"] > .menu-iconic-left > .menu-iconic-icon +{ + /* checkmark is 18px, not 16px, hence reduced padding */ + list-style-image: url(checkmark-18dp.svg) !important; +} + +#context-navigation +{ + background: 0 !important; +} + +#context-navigation .menuitem-iconic +{ + background: 0 !important; + padding: 0 !important; + margin: 0 !important; +} + +#context-navigation .menu-iconic-left +{ + border-radius: 50% !important; + padding: 8px !important; +} + +#context-navigation .menu-iconic-icon +{ + padding: 0 !important; + margin: 0 !important; + width: 16px !important; + height: 16px !important; +} + +#context-navigation .menuitem-iconic:hover:not([disabled]) .menu-iconic-left +{ + background-color: var(--arrowpanel-dimmed) !important; +} + +#context-navigation .menuitem-iconic:hover:active:not([disabled]) .menu-iconic-left +{ + background-color: var(--arrowpanel-dimmed-further) !important; +} + +panel[type="arrow"] +{ + -moz-window-shadow: none !important; + + margin: 0 -14px -18px !important; + padding: 0 14px 18px !important; +} + +panel[type="arrow"][side="top"], +panel[type="arrow"][side="bottom"] +{ + margin-left: -39px !important; + margin-right: -39px !important; +} + +panel[type="arrow"][side="left"], +panel[type="arrow"][side="right"] +{ + margin-top: -44px; + margin-bottom: -44px; +} + +.panel-arrowcontent +{ + background: var(--arrowpanel-background) !important; + border: 0 !important; + border-radius: 4px !important; + box-shadow: + 0 5px 5px -3px rgba(0, 0, 0, .2), + 0 8px 10px 1px rgba(0, 0, 0, .14), + 0 3px 14px 2px rgba(0, 0, 0, .12) !important; + color: var(--arrowpanel-color) !important; +} + +.panel-arrowbox, +.cui-widget-panel .panel-arrowbox +{ + display: none !important; +} + +/* .subview-subheader, */ +panelview .toolbarbutton-1, +.subviewbutton, +.widget-overflow-list .toolbarbutton-1, +.panel-banner-item +{ + min-height: 32px !important; + padding: 0 16px !important; +} + +.subviewbutton .toolbarbutton-icon, +.panel-banner-item .toolbarbutton-icon +{ + margin-inline-end: 16px !important; + width: 24px !important; + height: 24px !important; + padding: 4px !important; +} + +.subviewbutton label, +.panel-banner-item label +{ + padding-inline-start: 0 !important; +} + +#appMenu-zoom-controls > .subviewbutton, +#appMenu-edit-controls > .subviewbutton +{ + min-width: 32px !important; + border-radius: 16px !important; + padding: 0 8px !important; + border: 0 !important; + margin-inline-start: 4px !important; +} + +#appMenu-zoom-controls > toolbarseparator[orient="vertical"] + .subviewbutton +{ + margin-inline-start: 0 !important; +} + +#appMenu-zoom-controls > .subviewbutton-iconic, +#appMenu-edit-controls > .subviewbutton-iconic +{ + padding: 0 !important; +} + +.panel-banner-item +{ + border: 0 !important; +} + +#appMenu-addon-banners:not(:empty) ~ #appMenu-fxa-status, +.panel-banner-item:not([hidden]) + #appMenu-fxa-status +{ + border-top: 1px solid var(--panel-separator-color) !important; + margin-top: 5px !important; + padding-top: 5px !important; +} + +#appMenu-fxa-avatar +{ + display: none !important; +} + +:root[fxastatus="signedin"] #appMenu-fxa-label +{ + list-style-image: var(--avatar-image-url) !important; + margin: 0 !important; +} + +:root[fxastatus="signedin"] #appMenu-fxa-label > .toolbarbutton-icon +{ + display: -moz-box !important; + border-radius: 99px !important; + padding: 2px !important; +} + +.panel-banner-item[notificationid="update-restart"]::after +{ + display: none !important; +} + +.toolbaritem-combined-buttons:-moz-any(:not([cui-areatype="toolbar"]), +[overflowedItem="true"]) > toolbarbutton > .toolbarbutton-icon +{ + margin: 0 !important; +} + +panelmultiview .toolbaritem-combined-buttons > spacer.before-label +{ + width: 20px !important; +} + +panelmultiview .toolbaritem-combined-buttons > spacer.after-label +{ + width: 14px !important; +} + +.subviewbutton-back +{ + padding: 4px !important; + border-radius: 16px !important; +} + +.subviewbutton-back .toolbarbutton-icon +{ + margin: 0 !important; +} + +.subviewbutton[type="highlight-history"]::after +{ + transform: none !important; +} + +.subviewbutton[type="highlight-history"]::after, +.subviewbutton[shortcut]::after, +.PanelUI-subView .subviewbutton-nav::after +{ + margin-inline-start: 14px !important; +} + +.PanelUI-subView .subviewbutton-nav::after +{ + transform: none !important; + content: url(menu-right-1x.svg) !important; + fill-opacity: 1 !important; +} + +#identity-popup > .panel-arrowcontainer > .panel-arrowcontent +{ + fill-opacity: inherit !important; +} + +.identity-popup-preferences-button +{ + border-radius: 16px !important; + background-image: none !important; +} + +.identity-popup-preferences-button > .toolbarbutton-icon +{ + margin: 0 !important; +} + +#identity-popup-permission-preferences-button +{ + padding: 0 !important; +} + +#tracking-protection-preferences-button > .toolbarbutton-icon +{ + margin-inline-end: -8px !important; +} + +#tracking-protection-preferences-button > .toolbarbutton-text +{ + padding-inline-end: 4px !important; + -moz-box-ordinal-group: 0 !important; +} + +.identity-popup-section +{ + padding: 16px !important; + display: flex !important; +} + +.identity-popup-security-content, +#identity-popup-content-blocking-content, +#identity-popup-permissions-content +{ + padding: 0 !important; + background: 0 !important; + fill-opacity: inherit !important; +} + +.identity-popup-expander +{ + border-radius: 16px !important; + width: 32px !important; + max-height: 32px !important; + margin-inline-start: auto !important; + -moz-box-pack: center !important; + -moz-box-align: center !important; + background-image: none !important; +} + +.identity-popup-expander > .button-box +{ + border: 0 !important; + display: flex !important; + justify-content: center !important; +} + +.identity-popup-expander .button-icon +{ + margin: 0 !important; +} + +.identity-popup-expander .button-text +{ + display: none !important; +} + +.identity-popup-headline +{ + margin: 0 !important; +} + +.PanelUI-subView > .identity-popup-security-content, +#identity-popup-securityView-body +{ + padding: 16px !important; +} + +#identity-popup-mainView-panel-header +{ + -moz-box-align: start !important; + padding: 16px !important; +} + +#identity-popup-securityView-body +{ + margin: 0 !important; +} + +#identity-popup-content-blocking-content, +#identity-popup-permissions-content +{ + display: flex !important; + flex-direction: column !important; + width: 100% !important; +} + +#identity-popup-content-blocking-content > hbox:first-child, +#identity-popup-permissions-content > hbox:first-child +{ + display: flex !important; +} + +#identity-popup-content-blocking-category-list, +#identity-popup-permission-list +{ + display: flex !important; + flex-direction: column !important; + margin: 0 -16px !important; + width: calc(100% + 32px) !important; + padding-top: 8px !important; +} + +.identity-popup-permission-item +{ + display: flex !important; + align-items: center !important; +} + +.identity-popup-permission-label, +#identity-popup-content-blocking-report-breakage +{ + flex: 1 !important; + text-decoration: none !important; + cursor: auto !important; + color: inherit !important; +} + +.identity-popup-content-blocking-category, +.identity-popup-permission-item +{ + height: 32px !important; + padding: 0 16px !important; +} + +.identity-popup-content-blocking-category-icon, +.identity-popup-permission-icon +{ + margin: 0 !important; + margin-inline-end: 16px !important; +} + +.popup-notification-icon, +.identity-popup-permission-icon +{ + fill-opacity: 1 !important; +} + +.identity-popup-content-blocking-category-label, +.identity-popup-permission-label +{ + margin: 0 !important; +} + +.identity-popup-content-blocking-category::after +{ + transform: translateY(1px) !important; + content: url(menu-right-1x.svg) !important; + margin: 0 !important; +} + +.identity-popup-preferences-button +{ + margin-inline-start: auto !important; +} + +.identity-popup-permission-remove-button +{ + opacity: 1 !important; +} + +.tracking-protection-button, +#identity-popup-content-blocking-report-breakage +{ + margin: 0 -16px !important; + height: 32px !important; + padding: 0 16px !important; + background: 0 !important; + color: inherit !important; + line-height: 32px !important; +} + +#identity-popup-content-blocking-report-breakage +{ + padding-inline-start: 50px !important; +} + +.tracking-protection-button > .button-box +{ + padding: 0 !important; +} + +.tracking-protection-button .button-icon +{ + margin: 0 !important; +} + +#customization-lwtheme-menu-header +{ + display: none !important; +} + +#identity-popup-content-blocking-report-breakage, +{ + padding-inline-start: 48px !important; + line-height: 32px !important; + text-decoration: none !important; + cursor: auto !important; +} + +.tracking-protection-button:hover:not([disabled=true]), +#identity-popup-content-blocking-report-breakage:hover, +#blocked-popup-indicator-item:hover, +.customization-lwtheme-menu-theme:hover, +#customization-lwtheme-menu-footer toolbarbutton:hover +{ + background-color: var(--arrowpanel-dimmed) !important; +} + +.tracking-protection-button:hover:active:not([disabled=true]), +#identity-popup-content-blocking-report-breakage:hover:active, +#blocked-popup-indicator-item:hover:active, +.customization-lwtheme-menu-theme:hover:active, +#customization-lwtheme-menu-footer toolbarbutton:hover:active +{ + background-color: var(--arrowpanel-dimmed-further) !important; +} + +.identity-popup-content-blocking-empty-label, +#tracking-protection-preferences-button > .toolbarbutton-text, +.tracking-protection-button, +#identity-popup-trackersView-strict-info > label, +.identity-popup-cookiesView-list-header, +.identity-popup-content-blocking-list-item > label, +#identity-popup-mainView-panel-header > label, +#identity-popup-trackersView > .panel-header, +#identity-popup-securityView > .panel-header, +#identity-popup-breakageReportView > .panel-header, +#identity-popup-content-blocking-report-breakage, +.identity-popup-content-blocking-category-label, +.identity-popup-content-blocking-category-state-label, +.identity-popup-permission-label, +.identity-popup-permission-state-label, +#identity-popup-security-descriptions > description, +#identity-popup-securityView-body > description, +#identity-popup-permissions-content > description, +#identity-popup-content-blocking-content > description +{ + font-size: 100% !important; +} + +.panel-header > label +{ + text-align: start !important; + margin-inline-start: 4px !important; +} + +.identity-popup-headline +{ + font-size: 110% !important; +} + +.identity-popup-security-content > description, +#identity-popup-content-blocking-content > description, +#identity-popup-permissions-content > description, +.identity-popup-content-blocking-category-state-label, +.identity-popup-permission-state-label +{ + font-size: 85% !important; +} + +#identity-popup-permissions-content > description, +#identity-popup-content-blocking-content > description +{ + color: inherit !important; + opacity: .6 !important; +} + +.identity-popup-content-blocking-category-state-label +{ + transform: translateY(1px) !important; +} + +.tracking-protection-button > .button-box, +.panel-footer button > .button-box +{ + display: flex !important; + align-items: center !important; +} + +.tracking-protection-button .button-icon, +.panel-footer button .button-icon +{ + padding-inline-end: 16px !important; +} + +.tracking-protection-button .button-text, +.panel-footer button .button-text +{ + margin: 0 !important; +} + +#downloadsPanel-multiView +{ + padding-top: 8px !important; +} + +#downloadsListBox .download-state +{ + display: flex !important; + width: 100% !important; + align-items: center !important; +} + +#downloadsListBox .downloadMainArea +{ + padding: 0 !important; + display: flex !important; + flex: 1 !important; + margin-inline-end: -48px !important; + padding-inline-end: 48px !important; + padding-inline-start: 16px !important; + height: 100% !important; + align-items: center !important; +} + +#downloadsListBox .downloadContainer +{ + display: flex !important; + flex-direction: column !important; + flex: 1 !important; +} + +#downloadsListBox .downloadTypeIcon +{ + margin: 0 !important; + margin-inline-end: 16px !important; +} + +#downloadsListBox .downloadTarget +{ + font-size: 100% !important; +} + +#downloadsListBox .downloadDetails +{ + font-size: 85% !important; +} + +#downloadsListBox > richlistitem > toolbarseparator +{ + display: none !important; +} + +#downloadsListBox .downloadButton +{ + margin-inline-end: 16px !important; + height: 32px !important; + min-width: 32px !important; + border-radius: 16px !important; + fill: currentColor !important; + -moz-context-properties: fill, fill-opacity !important; + display: block !important; +} + +#downloadsListBox .downloadButton .button-box +{ + display: flex !important; + align-items: center !important; + justify-content: center !important; + max-width: 32px !important; +} + +#confirmation-hint .panel-arrowcontent, +#UITourTooltip .panel-arrowcontent, +#customization-lwtheme-menu .panel-arrowcontent, +#customization-uidensity-menu .panel-arrowcontent +{ + padding: 16px !important; +} + +#customization-uidensity-menu .panel-arrowcontent, +#customization-lwtheme-menu .panel-arrowcontent +{ + padding-top: 8px !important; +} + +.customization-lwtheme-menu-theme, +.customization-uidensity-menuitem +{ + padding: 0 16px !important; + margin: 0 -16px !important; + border: 0 !important; + height: 48px !important; +} + +.customization-lwtheme-menu-theme .toolbarbutton-icon, +.customization-uidensity-menuitem .menu-iconic-icon +{ + margin: 0 !important; + margin-inline-end: 16px !important; + padding: 0 !important; + width: 24px !important; + height: 24px !important; +} + +.customization-lwtheme-menu-theme[active]:not(:hover):not(:active), +.customization-uidensity-menuitem[active]:not(:hover):not(:active) +{ + background: 0 !important; +} + +.customization-lwtheme-menu-theme[active]::after, +.customization-uidensity-menuitem[active]::after +{ + content: url(checkmark-18dp.svg) !important; + -moz-context-properties: fill, fill-opacity !important; + fill: currentColor !important; + display: -moz-box !important; + width: 18px !important; + height: 18px !important; + margin-inline-start: 16px !important; +} + +#customization-lwtheme-menu-footer +{ + padding: 0 !important; + background: 0 !important; + border: 0 !important; + display: flex !important; + flex-direction: column !important; +} + +#customization-lwtheme-menu-footer toolbarbutton +{ + border: 0 !important; + margin: 0 -6px 0 !important; + height: 48px !important; + padding: 0 16px !important; + display: flex !important; + background-image: none !important; +} + +#customization-lwtheme-menu-footer toolbarbutton .toolbarbutton-text +{ + text-align: start !important; +} + +.panel-footer +{ + padding: 4px !important; + background: 0 !important; + border-top: 1px solid var(--panel-separator-color) !important; + justify-content: end !important; + display: flex !important; +} + +.panel-footer button +{ + border: 0 !important; + border-radius: 4px !important; + margin: 4px !important; + height: 32px !important; + padding: 0 !important; + flex: 0 0 auto !important; + position: relative !important; + outline: 0 !important; +} + +.panel-footer button > .button-box +{ + -moz-appearance: none !important; + position: relative !important; + padding-inline-end: 16px !important; +} + +.panel-footer button .button-menu-dropmarker +{ + margin-inline-start: 8px !important; + margin-inline-end: -8px !important; +} + +.panel-footer button:not([default]) > .button-box::before +{ + content: "" !important; + display: block !important; + border-radius: 4px !important; + position: absolute !important; + left: 0 !important; + top: 0 !important; + width: 100% !important; + height: 100% !important; + border: 1px solid currentColor !important; + opacity: .42 !important; + box-sizing: border-box !important; +} + +.panel-footer button:not([default]):hover:active:not([disabled]) > .button-box::before +{ + border-width: 0 !important; +} + +.panel-footer button:not([default]):hover:active:not([disabled]) +{ + border-width: 0 !important; + background: #002275 !important; + color: #FFF !important; +} + +#PopupAutoComplete > richlistbox > richlistitem[originaltype="loginWithOrigin"] +{ + height: 48px !important; +} + +richlistitem[originaltype="loginsFooter"], +richlistitem[originaltype="generatedPassword"] > .two-line-wrapper +{ + display: flex !important; + align-items: center !important; +} + +richlistitem:-moz-any( + [originaltype="generatedPassword"], + [originaltype="loginWithOrigin"], + [originaltype="login"], + [originaltype="loginsFooter"]) .ac-site-icon +{ + display: block !important; + align-self: center !important; + margin-inline: 0 16px !important; + fill: currentColor !important; +} + +richlistitem[originaltype="loginsFooter"] .ac-site-icon +{ + visibility: hidden !important; +} + +richlistitem:-moz-any( + [originaltype="generatedPassword"], + [originaltype="loginWithOrigin"], + [originaltype="login"], + [originaltype="loginsFooter"]) .ac-title +{ + margin: 0 !important; +} + +#confirmation-hint-message-container, +#confirmation-hint-checkmark-animation-container +{ + margin-block: 8px !important; + margin-inline: 8px !important; +} + +#confirmation-hint-checkmark-animation-container +{ + margin-inline-end: 0 !important; +} + +/* high DPI adjustments */ +@media (min--moz-device-pixel-ratio: 2) +{ + .PanelUI-subView .subviewbutton-nav::after, + .identity-popup-content-blocking-category::after + { + content: url(menu-right-2x.svg) !important; + } +} \ No newline at end of file diff --git a/firefox/chrome/popup/urlbar-results.css b/firefox/chrome/popup/urlbar-results.css new file mode 100755 index 0000000..b25d1ee --- /dev/null +++ b/firefox/chrome/popup/urlbar-results.css @@ -0,0 +1,582 @@ +.ac-type-icon +{ + order: 9 !important; + margin-inline-start: 16px !important; + margin-inline-end: 0 !important; +} + +.ac-site-icon +{ + margin-inline-end: 16px !important; +} + +.ac-separator +{ + display: none !important; +} + +.ac-title, +.ac-url +{ + flex: 1 !important; +} + +.search-panel-one-offs +{ + border-radius: 0 0 8px 8px !important; + margin-bottom: 18px !important; +} + +.search-one-offs +{ + display: block !important; +} + +#urlbarView-results +{ + padding: 0 !important; +} + +.urlbarView-row +{ + padding: 0 16px !important; + height: 32px !important; + border-radius: 0 !important; +} + +.urlbarView-row-inner +{ + height: 100% !important; + align-items: center !important; +} + +.urlbarView-favicon +{ + margin-inline-end: 16px !important; +} + +.urlbarView-title-separator +{ + flex: 1 !important; +} + +.urlbarView-title-separator::before +{ + display: none !important; +} + +.urlbarView-type-icon +{ + order: 1 !important; + margin-inline-start: 16px !important; + margin-inline-end: 0 !important; +} + +/* .search-one-offs +{ + padding: 4px !important; + display: flex !important; + flex-direction: column !important; +} + +.search-panel-one-offs +{ + display: flex !important; + flex-direction: row !important; + padding: 0 !important; +} + +.searchbar-engine-one-off-item +{ + height: 32px !important; + border-radius: 16px !important; + padding: 0 8px !important; + margin: 4px !important; + background-image: none !important; + color: inherit !important; + border: 0 !important; + display: flex !important; + justify-content: center !important; + align-items: center !important; + align-content: center !important; +} + +.searchbar-engine-one-off-item > .button-box +{ + width: 16px !important; + max-height: 16px !important; + transform: translateY(50%) !important; +} + +.searchbar-engine-one-off-item::after +{ + margin-inline-start: 8px !important; + content: attr(tooltiptext) !important; + line-height: 16px !important; + transform: translateY(calc(50% - 1px)) !important; +} + + +.searchbar-engine-one-off-item.dummy +{ + display: none !important; +} */ + +/* 70+ */ + +#urlbar-container +{ + max-height: 37px !important; +} + +#urlbar, +#searchbar +{ + font-size: 14px !important; + border-radius: 99px !important; + background-color: var(--toolbar-field-background-color) !important; + border: 0 !important; + box-shadow: none !important; + padding: 2px !important; + background-clip: padding-box !important; + min-height: 28px !important; + transition: background-color .1s var(--ease-basic) !important; + -moz-box-align: center !important; + + display: block !important; + margin: 0 !important; +} + +#urlbar:not(:-moz-lwtheme), +#searchbar:not(:-moz-lwtheme) +{ + color: inherit !important; +} + +#urlbar:hover, +#searchbar:hover +{ + background-color: var(--toolbar-field-hover-background-color) !important; +} + +#urlbar[focused], +#urlbar[open], +#searchbar[focused], +#searchbar[open] +{ + background-color: var(--toolbar-field-focus-background-color) !important; +} + +#urlbar[focused], +#searchbar[focused] +{ + border: 2px solid var(--toolbar-field-focus-border-color) !important; + padding: 0 !important; + margin: 0 !important; +} + +#urlbar[open], +#searchbar[open] +{ + border: 0 !important; + padding: 0 !important; + border-radius: 8px 8px 0 0 !important; + min-height: 37px !important; + margin: 0 -5px -1px !important; + box-shadow: + 0 5px 5px -3px rgba(0,0,0,.2), + 0 8px 10px 1px rgba(0,0,0,.14), + 0 3px 14px 2px rgba(0,0,0,.12) !important; + position: relative !important; + z-index: 99999 !important; +} + +#urlbar-input-container +{ + width: 100% !important; + display: flex !important; + align-items: center !important; +} + +.urlbar-input-box +{ + flex: 1 !important; +} + +#urlbar-input +{ + width: 100% !important; +} + +#urlbar[open] #urlbar-input-container +{ + height: 37px !important; +} + +#urlbar[open] #identity-box +{ + margin-inline-start: 8px !important; + margin-inline-end: 8px !important; +} + +.urlbarView +{ + top: 0 !important; + left: 0 !important; + right: 0 !important; + position: relative !important; + box-shadow: none !important; + background: 0 !important; + border: 0 !important; + background: white !important; +} + +#urlbar[open] .urlbarView +{ + display: block !important; + width: 100% !important; +} + +#urlbar-results +{ + padding: 0 !important; +} + +#urlbar-container, +#searchbar-container +{ + overflow: visible !important; + padding: 0 5px !important; +} + +.searchbar-textbox +{ + color: inherit !important; + font-size: inherit !important; + min-height: auto !important; +} + +#urlbar[pageproxystate=valid] > #identity-box:not(.no-hover) > #identity-icon +{ + fill-opacity: 1 !important; +} + +#identity-icon-labels +{ + transform: translateY(-3px) !important; + color: inherit !important; + opacity: 1 !important; + padding: 0 !important; + margin-inline-start: 8px !important; + display: none !important; +} + +#identity-box, +#urlbar-display-box +{ + position: relative !important; +} + +/* separator */ +#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden)::after, +#urlbar-display-box::after +{ + content: "" !important; + display: -moz-box !important; + position: absolute !important; + top: 4px !important; + bottom: 4px !important; + right: 0 !important; + background: #9d9e9f !important; + width: 1px !important; + transition: opacity .2s var(--ease-basic) !important; +} + +#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden), +#urlbar-display-box +{ + margin-inline-end: 8px !important; +} + +#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden) #identity-icon-labels +{ + display: -moz-box !important; +} + + +#urlbar[pageproxystate=valid] #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden):hover:not(.no-hover)::after, +#urlbar[pageproxystate=valid] #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden)[open]::after +{ + opacity: 0 !important; +} + +#identity-box.extensionPage > #identity-icon +{ + list-style-image: none !important; + margin-inline-end: -16px !important; +} + +/* no longer used as a connection icon */ +#connection-icon +{ + display: none !important; +} + +#identity-box:-moz-any( + .mixedActiveBlocked, + .mixedDisplayContentLoadedActiveBlocked, + .mixedActiveContent +) > #connection-icon +{ + display: -moz-box !important; +} + +#identity-box:-moz-any(.certUserOverridden, .unknownIdentity) +{ + color: #c94031 !important; +} + +.urlbar-input +{ + padding: 0 !important; +} + +.searchbar-textbox +{ + border: 0 !important; + background: 0 !important; + box-shadow: none !important; + margin: 0 !important; +} + +#page-action-buttons > #pageActionSeparator, +.urlbar-history-dropmarker +{ + display: none !important; +} + +#pageActionSeparator +{ + height: 24px !important; +} + +.urlbar-icon-wrapper +{ + background: 0 !important; +} + +.urlbar-icon, +#identity-box, +#tracking-protection-icon-container +{ + min-width: 32px !important; + height: 24px !important; + padding: 4px 8px !important; + margin: 0 !important; + border: 0 !important; + border-radius: 99px !important; + fill-opacity: 1 !important; + transition: background-color .2s var(--ease-basic) !important; + background: 0 !important; + background-color: transparent !important; +} + +#identity-box #notification-popup-box +{ + padding: 0 !important; + margin: 0 !important; +} + +#page-action-buttons +{ + height: 24px !important; +} + +#urlbar[open] #page-action-buttons +{ + display: none !important; +} + +.urlbar-icon:hover:not([disabled]), +#identity-box:hover:not(.no-hover), +#tracking-protection-icon-container:hover +{ + background-color: var(--toolbarbutton-hover-background) !important; +} + +.urlbar-icon:hover:active:not([disabled]), +.urlbar-icon[open], +#identity-box:hover:active:not(.no-hover), +#identity-box[open]:not(.no-hover), +#tracking-protection-icon-container[open] +{ + background-color: var(--toolbarbutton-active-background) !important; + transition-duration: 0 !important; +} + +#star-button-box +{ + -moz-box-ordinal-group: 99 !important; +} + +#pageActionButton +{ + -moz-box-ordinal-group: 98 !important; +} + +#contextual-feature-recommendation +{ + -moz-box-ordinal-group: 97 !important; + width: auto !important; +} + +.urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine +) +{ + transition: + background-color .2s var(--ease-basic), + margin .15s var(--ease-in), + opacity .15s var(--ease-basic), + visibility 0s .2s !important; + opacity: 0 !important; + visibility: hidden !important; + margin-inline-start: -32px !important; +} + +#urlbar:hover .urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine +), +.urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine +):-moz-any(:hover, [open], [readeractive]) +{ + transition: + background-color .2s var(--ease-basic), + margin .3s var(--ease-out), + opacity .3s var(--ease-basic) !important; + opacity: 1 !important; + visibility: visible !important; + margin-inline-start: 0 !important; +} + +.urlbar-display +{ + color: inherit !important; + margin: 0 !important; +} + +#pocket-button-box[animate] > #pocket-animatable-box +{ + margin-inline-start: 6px !important; +} + +#star-button-animatable-box +{ + display: none !important; +} + +#cfr-label-container +{ + background: 0 !important; +} + +#cfr-label +{ + display: none !important; +} + +#cfr-button +{ + fill: currentColor !important; +} + +#urlbar[open] .urlbar-go-button, +#searchbar[open] .search-go-button +{ + height: 32px !important; +} + +/* icons 1x */ +#urlbar +{ + --info-icon: url(../navbar/info-1x.svg); + --lock-icon: url(../navbar/connection-1x.svg); + --warning-icon: url(../navbar/connection-warning-1x.svg); +} + +/* icons 2x */ +@media (min--moz-device-pixel-ratio: 2) +{ + #urlbar + { + --info-icon: url(../navbar/info-2x.svg); + --lock-icon: url(../navbar/connection-2x.svg); + --warning-icon: url(../navbar/connection-warning-2x.svg); + } +} + +/* info (not secure) */ +#identity-box[pageproxystate="valid"]:-moz-any(.notSecure, .insecureLoginForms, .mixedActiveContent) > #identity-icon +{ + list-style-image: var(--info-icon) !important; +} + +#identity-box[pageproxystate="valid"]:-moz-any( + .certUserOverridden, + .weakCipher, + .unknownIdentity) > #identity-icon +{ + list-style-image: var(--warning-icon) !important; +} + +/* lock (secure) */ +#identity-box[pageproxystate="valid"]:-moz-any(.verifiedDomain, .verifiedIdentity, .mixedActiveBlocked) > #identity-icon +{ + list-style-image: var(--lock-icon) !important; +} + +/* high DPI adjustments */ +@media (min--moz-device-pixel-ratio: 2) +{ + #identity-icon-labels + { + padding-inline-end: .5px !important; + } + + #urlbar[pageproxystate=valid] > #identity-box:-moz-any(.unknownIdentity, .notSecure) > #identity-icon + { + transform: translate(.5px, .5px) !important; + } + + #identity-icon-labels, + .urlbar-input, + .searchbar-textbox + { + transform: translateY(-.5px) !important; + } +} \ No newline at end of file diff --git a/firefox/chrome/tabbar/close-tab.svg b/firefox/chrome/tabbar/close-tab.svg new file mode 100644 index 0000000..9010d56 --- /dev/null +++ b/firefox/chrome/tabbar/close-tab.svg @@ -0,0 +1,14 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/tabbar/spinner-busy.svg b/firefox/chrome/tabbar/spinner-busy.svg new file mode 100644 index 0000000..0d7ce65 --- /dev/null +++ b/firefox/chrome/tabbar/spinner-busy.svg @@ -0,0 +1,28 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/tabbar/spinner-progress.svg b/firefox/chrome/tabbar/spinner-progress.svg new file mode 100644 index 0000000..fbe4f23 --- /dev/null +++ b/firefox/chrome/tabbar/spinner-progress.svg @@ -0,0 +1,43 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/tabbar/tabbar.css b/firefox/chrome/tabbar/tabbar.css new file mode 100755 index 0000000..3d39afe --- /dev/null +++ b/firefox/chrome/tabbar/tabbar.css @@ -0,0 +1,569 @@ +:-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=pre-tabs] +{ + width: 0 !important; +} + +@media (-moz-mac-yosemite-theme) +{ + #TabsToolbar + { + -moz-appearance: none !important; + } + + :root:-moz-any([inFullscreen], [tabsintitlebar]):not([privatebrowsingmode=temporary]) #TabsToolbar:not(:-moz-lwtheme) + { + background-color: #dee1e5 !important; + color: #606367 !important; + --toolbarbutton-hover-background: #cbced2 !important; + --toolbarbutton-active-background: #bec0c5 !important; + } + + :root:-moz-any([inFullscreen], [tabsintitlebar]):not([privatebrowsingmode=temporary]) #TabsToolbar:not(:-moz-lwtheme):-moz-window-inactive + { + background-color: #e7eaed !important; + } + + :-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=pre-tabs] + { + width: 4px !important; + } +} + +@media (-moz-os-version: windows-win7) +{ + :root:not([privatebrowsingmode=temporary]) #TabsToolbar:not(:-moz-lwtheme) + { + color: #808387 !important; + --toolbarbutton-hover-background: rgba(196, 198, 204, .8) !important; + --toolbarbutton-active-background: #bec0c6 !important; + } + + :root:not([privatebrowsingmode=temporary]) #TabsToolbar toolbarbutton:not(:-moz-lwtheme):not(:hover):not([open]) + { + background-color: rgba(218, 220, 227, .8) !important; + } + + :root:not([privatebrowsingmode=temporary]) .tabbrowser-tab:not([visuallyselected]):not(:-moz-lwtheme) + { + --tab-bgcolor: rgb(218, 220, 227) !important; + --tab-opacity: .8 !important; + } + + :root:not([privatebrowsingmode=temporary]) .tabbrowser-tab:hover:not([visuallyselected]):not(:-moz-lwtheme) + { + --tab-bgcolor: #e9ebef !important; + } +} + + /* < FF 65, >= FF 65 */ +:-moz-any(.titlebar-placeholder, .titlebar-spacer) +{ + border: 0 !important; + display: -moz-box !important; +} + +:-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=post-tabs] +{ + width: 48px !important; + transition: width .666s cubic-bezier(.4, 0, .2, 1) !important; +} + +@media (max-width: 700px) +{ + :-moz-any(.titlebar-placeholder, .titlebar-spacer)[type=post-tabs] + { + width: 8px !important; + } +} + +/* vertically center buttons in tab bar */ +#TabsToolbar toolbarbutton, +/* >= 72 */ +#TabsToolbar .tabbrowser-arrowscrollbox::part(scrollbutton-up), +#TabsToolbar .tabbrowser-arrowscrollbox::part(scrollbutton-down), +/* no ::part workaround - may have side effects */ +#scrollbutton-up[part="scrollbutton-up"]:not(.menupopup-scrollbutton), +#scrollbutton-down[part="scrollbutton-down"]:not(.menupopup-scrollbutton) +{ + margin-top: calc((var(--tab-min-height) - var(--button-size)) / 2) !important; + margin-bottom: calc((var(--tab-min-height) - var(--button-size)) / 2) !important; +} + +.tabbrowser-tab +{ + min-height: var(--tab-min-height) !important; + overflow: visible !important; + font-size: 12px !important; + background: 0 !important; + border: 0 !important; +} + +.tabbrowser-tab[visuallyselected] +{ + color: var(--toolbar-color) !important; +} + +/* regular */ +.tabbrowser-tab[fadein]:not([pinned]):not([style*="max-width"]) +{ + max-width: 240px !important; +} + +/* neighbouring tabs should "pinch" together */ +.tabbrowser-tab:not([last-visible-tab]) +{ + margin-inline-end: -.5px !important; +} + +/* special case for pinned tabs when overflowing */ +#tabbrowser-tabs:not([overflow]) .tabbrowser-tab:not([first-visible-tab]), +#tabbrowser-tabs[overflow] .tabbrowser-tab:not([first-visible-tab]):not([pinned]) +{ + margin-inline-start: -.5px !important; +} + +#tabbrowser-tabs[overflow] .tabbrowser-tab[pinned] .tab-background +{ + margin: 0 -1px !important; +} + +.tab-content +{ + position: relative !important; + overflow: hidden !important; + padding-inline-start: 12px !important; + padding-inline-end: 8px !important; +} + +.tab-content::before, +.tab-content::after +{ + content: "" !important; + display: block !important; + position: absolute !important; + background-color: currentColor !important; + width: 1px !important; + height: 20px !important; + transform: translateY(-10px) !important; + opacity: 0 !important; + transition: opacity .2s var(--ease-basic) !important; +} + +.tab-content::before +{ + left: 0 !important; +} + +.tab-content::after +{ + right: 0 !important; +} + +.tab-throbber, +.tab-throbber-fallback, +.tab-icon-image, +.tab-sharing-icon-overlay, +.tab-icon-sound, +.tab-close-button +{ + margin-top: 0 !important; +} + +.tabbrowser-tab::before, +.tabbrowser-tab::after, +.tab-line +{ + display: none !important; +} + +/* tab background color */ + +.tabbrowser-tab +{ + --tab-opacity: 0; + --tab-bgcolor: #000; + --tab-transition-duration: .2s; +} + +:-moz-any(:root[privatebrowsingmode=temporary], #TabsToolbar[brighttext]) .tabbrowser-tab +{ + --tab-opacity: 0; + --tab-bgcolor: #fff; +} + +.tabbrowser-tab:not([selected=true]):hover, +.tabbrowser-tab[multiselected]:not([selected=true]) +{ + --tab-opacity: .1; +} + +:-moz-any(:root[privatebrowsingmode=temporary], #TabsToolbar[brighttext]) .tabbrowser-tab:not([selected=true]):hover, +:-moz-any(:root[privatebrowsingmode=temporary], #TabsToolbar[brighttext]) .tabbrowser-tab[multiselected]:not([selected=true]) +{ + --tab-opacity: .06; +} + +:-moz-any(#TabsToolbar) .tabbrowser-tab[visuallyselected] +{ + --tab-bgcolor: var(--toolbar-bgcolor); + --tab-opacity: 1; +} + +.tab-background +{ + background: var(--tab-bgcolor) !important; + /* rounded top corners */ + border-radius: 8px 8px 0 0 !important; + position: relative !important; + border: 0 !important; + transition: + opacity var(--tab-transition-duration) var(--ease-basic), + background-color 0s var(--tab-transition-duration) var(--ease-basic) !important; + opacity: var(--tab-opacity) !important; + visibility: visible !important; +} + +/* rounded bottom corners */ +.tab-background::before, +.tab-background::after +{ + content: "" !important; + display: block !important; + position: absolute !important; + width: 8px !important; + height: 8px !important; + bottom: 0 !important; + pointer-events: none !important; + transition: box-shadow 0s var(--tab-transition-duration) var(--ease-basic) !important; +} + +.tab-background::before +{ + border-bottom-right-radius: 8px !important; + left: 0 !important; + transform: translateX(-8px) !important; + box-shadow: 4px 4px 0 4px var(--tab-bgcolor) !important; +} + +.tab-background::after +{ + border-bottom-left-radius: 8px !important; + right: 0 !important; + transform: translateX(8px) !important; + box-shadow: -4px 4px 0 4px var(--tab-bgcolor) !important; +} + +.tabbrowser-tab[visuallyselected][style*=transform] + .tabbrowser-tab[style*=transform] .tab-content::after, +.tabbrowser-tab[style*=transform]:not([visuallyselected]) .tab-content::before, +.tabbrowser-tab[style*=transform] + .tabbrowser-tab:not([visuallyselected]) .tab-content::before, +.tabbrowser-tab:not([visuallyselected]):not(:hover):not([multiselected]) + .tabbrowser-tab:not([visuallyselected]):not(:hover):not([multiselected]) .tab-content::before, +#tabbrowser-tabs[hasadjacentnewtabbutton]:not([overflow]) .tabbrowser-tab[last-visible-tab]:not([visuallyselected]):not(:hover):not([multiselected]) .tab-content::after +{ + opacity: var(--tab-separator-opacity) !important; +} + +#tabbrowser-tabs[overflow] .tabbrowser-tab[pinned] + .tabbrowser-tab:not([pinned]) .tab-content::before +{ + opacity: 0 !important; +} + +.tabbrowser-tab[visuallyselected] +{ + --tab-transition-duration: 0s; +} + +.tab-throbber, +.tab-throbber-fallback +{ + margin-inline-end: 8px !important; +} + +.tab-icon-image +{ + margin: 0 !important; +} + +/* hide new tab favicon */ +.tabbrowser-tab[image^="chrome://branding/"]:not([pinned]) .tab-icon-image +{ + display: none !important; +} + +.tab-label-container +{ + margin-top: -2px !important; + opacity: 1 !important; +} + +.tabbrowser-tab[image]:not([image^="chrome://branding/"]) .tab-label-container, +.tabbrowser-tab:-moz-any([progress], [busy]) .tab-label-container +{ + padding-inline-start: 8px !important; +} + +.tabbrowser-tab[pinned]:-moz-any([soundplaying], [muted], [activemedia-blocked]) .tab-icon-image +{ + visibility: hidden !important; +} + +.tabbrowser-tab[fadein] .tab-close-button +{ + visibility: visible !important; +} + +.tab-close-button +{ + list-style-image: url(close-tab.svg) !important; + width: 16px !important; + height: 16px !important; + margin: 0 !important; + padding: 0 !important; +} + +.tab-close-button, +.tab-icon-overlay:-moz-any([soundplaying], [muted], [activemedia-blocked]), +.tab-icon-sound +{ + border-radius: 99px !important; + color: inherit !important; + -moz-context-properties: fill, fill-opacity !important; + transition-property: fill-opacity, background-color !important; + transition-duration: .15s !important; + transition-timing-function: var(--ease-basic) !important; + fill-opacity: 1 !important; + opacity: 1 !important; +} + +.tab-close-button:hover, +.tab-icon-overlay:-moz-any([soundplaying], [muted], [activemedia-blocked]):hover, +.tab-icon-sound:hover +{ + background-color: var(--toolbarbutton-hover-background) !important; +} + +.tab-close-button:hover:active, +.tab-icon-overlay:-moz-any([soundplaying], [muted], [activemedia-blocked]):hover:active, +.tab-icon-sound:hover:active +{ + background-color: var(--toolbarbutton-active-background) !important; +} + +.tab-icon-overlay[pinned] +{ + margin: 0 !important; + margin-inline-start: -16px !important; +} + +@keyframes rotate-360 +{ + 0% { transform: rotate(0); } + 100% { transform: rotate(1turn); } +} + +.tab-throbber +{ + -moz-context-properties: fill !important; + fill: currentColor !important; + background-image: url(spinner-busy.svg) !important; + margin: 0 !important; + transform-origin: center !important; + animation: rotate-360 1.333s linear infinite reverse !important; + position: static !important; +} + +.tab-throbber[progress] +{ + background-image: url(spinner-progress.svg) !important; + animation-direction: normal !important; +} + +.tab-throbber::before +{ + display: none !important; +} + +/* clipped tabs */ +#tabbrowser-tabs[closebuttons=activetab] .tab-content:not([pinned]) +{ + padding-inline-start: 8px !important; +} + +#tabbrowser-tabs[closebuttons=activetab] .tabbrowser-tab:not([visuallyselected]) .tab-close-button +{ + visibility: collapse !important; +} + +#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow][labeldirection="ltr"]:not([pinned]), +#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(ltr):not([pinned]) +{ + mask-image: linear-gradient(to right, black 70%, transparent) !important; +} + +#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow][labeldirection="rtl"]:not([pinned]), +#tabbrowser-tabs[closebuttons=activetab] .tab-label-container[textoverflow]:not([labeldirection]):-moz-locale-dir(rtl):not([pinned]) +{ + mask-image: linear-gradient(to left, black 70%, transparent) !important; +} + +.tab-content[pinned] +{ + -moz-box-pack: center !important; +} + +.tab-icon-image[pinned], +.tab-throbber[pinned] +{ + margin: auto !important; +} + +.tab-content[pinned] +{ + width: 36px !important; + padding: 0 !important; + padding-inline-start: 10px !important; + padding-inline-end: 0 !important; +} + +.tab-label-container[pinned], +.tab-close-button[pinned] +{ + visibility: hidden !important; +} + +/* close button / favicon is centered within 36px tab */ +@supports -moz-bool-pref("materialFox.reduceTabOverflow") +{ + #main-window + { + /* same as Chrome */ + min-width: 500px !important; + } + + #tabbrowser-tabs[overflow] .tab-content + { + -moz-box-pack: center !important; + } + + #tabbrowser-tabs[overflow] .tab-icon-image + { + margin: auto !important; + } + + #tabbrowser-tabs[overflow] .tab-content[image]:not([image^="chrome://branding/"]):not([pinned]) + { + width: 36px !important; + padding: 0 !important; + padding-inline-start: 0 !important; + padding-inline-end: 0 !important; + } + + #tabbrowser-tabs[overflow] .tabbrowser-tab:not([visuallyselected]):not([pinned]) .tab-close-button, + #tabbrowser-tabs[overflow] .tabbrowser-tab[visuallyselected]:not([pinned]) :-moz-any(.tab-label-container, .tab-icon-image), + #tabbrowser-tabs[overflow] .tabbrowser-tab[image]:not([image^="chrome://branding/"]):not([pinned]) .tab-label-container + { + display: none !important; + } +} + +#tabbrowser-tabs #tabs-newtab-button +{ + margin-inline-start: 6px !important; +} + +#tabbrowser-tabs[overflow] .tabbrowser-arrowscrollbox +{ + border-radius: 8px 8px 0 0 !important; + background-color: rgba(0, 0, 0, .1) !important; + padding-inline-start: 0 !important; +} + +#tabbrowser-tabs[overflow] +{ + margin-inline-start: 8px !important; +} + +#tabbrowser-tabs[overflow] .tabbrowser-tab[first-visible-tab]:not([pinned]), +#tabbrowser-tabs[overflow] .tabbrowser-tab[pinned] + .tabbrowser-tab:not([pinned]), +#tabbrowser-tabs:not([overflow]) .tabbrowser-tab[first-visible-tab] +{ + margin-inline-start: 8px !important; +} + +#tabbrowser-tabs[overflow] .tabbrowser-tab[last-visible-tab]:not([pinned]) +{ + margin-inline-end: 8px !important; +} + +.tabbrowser-tab[usercontextid] > .tab-stack::after +{ + content: "" !important; + position: absolute !important; + display: flex !important; + bottom: 0 !important; + left: 8px !important; + width: calc(100% - 16px) !important; + height: 2px !important; + box-sizing: border-box !important; + border-radius: 99px 99px 0 0 !important; + transform: none !important; + background: var(--identity-tab-color) !important; + transition-property: top, bottom, left, right, width, height, border-radius; + transition-duration: .225s !important; + transition-timing-function: var(--ease-out) !important; +} + +.tab-bottom-line +{ + display: none !important; +} + +.tabbrowser-tab[usercontextid][selected] > .tab-stack::after +{ + bottom: calc(100% - 9px) !important; + left: calc(100% - 9px) !important; + width: 6px !important; + height: 6px !important; + border-radius: 99px !important; +} + +/* < 72 */ +#tabbrowser-tabs .arrowscrollbox-overflow-start-indicator, +#tabbrowser-tabs .arrowscrollbox-overflow-end-indicator, +/* >= 72 */ +#tabbrowser-tabs::part(arrowscrollbox-overflow-start-indicator), +#tabbrowser-tabs::part(arrowscrollbox-overflow-end-indicator), +/* no ::part workaround - may have side effects */ +spacer[part="overflow-start-indicator"], +spacer[part="overflow-end-indicator"] +{ + display: none !important; +} + +.tab-loading-burst[bursting]::before +{ + display: none !important; +} + +/* high DPI adjustments */ +@media (min--moz-device-pixel-ratio: 2) +{ + .tabbrowser-tab::before + { + transform: translateY(.5px) !important; + } + + .tabbrowser-tab:last-of-type::after + { + transform: translate(-1px, .5px) !important; + } + + /* macOS */ + @media (-moz-mac-yosemite-theme) + { + .titlebar-buttonbox + { + margin-top: .5px !important; + margin-bottom: -.5px !important; + } + } +} diff --git a/firefox/chrome/urlbar/connection-1x.svg b/firefox/chrome/urlbar/connection-1x.svg new file mode 100644 index 0000000..f8568ac --- /dev/null +++ b/firefox/chrome/urlbar/connection-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/connection-2x.svg b/firefox/chrome/urlbar/connection-2x.svg new file mode 100644 index 0000000..cfabbde --- /dev/null +++ b/firefox/chrome/urlbar/connection-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/connection-warning-1x.svg b/firefox/chrome/urlbar/connection-warning-1x.svg new file mode 100644 index 0000000..94e73cd --- /dev/null +++ b/firefox/chrome/urlbar/connection-warning-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/connection-warning-2x.svg b/firefox/chrome/urlbar/connection-warning-2x.svg new file mode 100644 index 0000000..ec5553b --- /dev/null +++ b/firefox/chrome/urlbar/connection-warning-2x.svg @@ -0,0 +1,3 @@ + + + diff --git a/firefox/chrome/urlbar/go.svg b/firefox/chrome/urlbar/go.svg new file mode 100644 index 0000000..d819ee6 --- /dev/null +++ b/firefox/chrome/urlbar/go.svg @@ -0,0 +1,14 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/identity-icons-brand.svg b/firefox/chrome/urlbar/identity-icons-brand.svg new file mode 100644 index 0000000..4870645 --- /dev/null +++ b/firefox/chrome/urlbar/identity-icons-brand.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/info-1x.svg b/firefox/chrome/urlbar/info-1x.svg new file mode 100644 index 0000000..a88c105 --- /dev/null +++ b/firefox/chrome/urlbar/info-1x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/info-2x.svg b/firefox/chrome/urlbar/info-2x.svg new file mode 100644 index 0000000..158df0c --- /dev/null +++ b/firefox/chrome/urlbar/info-2x.svg @@ -0,0 +1,3 @@ + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/naughty-shield-1x.svg b/firefox/chrome/urlbar/naughty-shield-1x.svg new file mode 100644 index 0000000..59327d5 --- /dev/null +++ b/firefox/chrome/urlbar/naughty-shield-1x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/naughty-shield-2x.svg b/firefox/chrome/urlbar/naughty-shield-2x.svg new file mode 100644 index 0000000..549aad2 --- /dev/null +++ b/firefox/chrome/urlbar/naughty-shield-2x.svg @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/firefox/chrome/urlbar/urlbar.css b/firefox/chrome/urlbar/urlbar.css new file mode 100755 index 0000000..78f8502 --- /dev/null +++ b/firefox/chrome/urlbar/urlbar.css @@ -0,0 +1,793 @@ +.urlbarView-body-inner +{ + border: 0 !important; +} + +.urlbarView-row +{ + padding: 0 !important; + border-radius: 0 !important; +} + +.urlbarView-row-inner +{ + align-items: center !important; + position: relative !important; + padding: 12px 0 !important; + padding-inline: 48px 16px !important; + max-width: 100% !important; + width: auto !important; +} + +.urlbarView-no-wrap +{ + height: 100% !important; + align-items: center !important; + margin-inline-start: 0 !important; + max-width: 100% !important; +} + +.urlbarView-row[has-url][type]:not([type=bookmark]) .urlbarView-row-inner +{ + flex-direction: column !important; + align-items: flex-start !important; +} + +.urlbarView-row[has-url][type]:not([type=bookmark]) .urlbarView-no-wrap +{ + height: auto !important; + align-self: flex-start !important; + width: 100% !important; +} + +.urlbarView-title-separator +{ + visibility: visible !important; +} + +.urlbarView-title-separator::before +{ + content: "-" !important; + color: inherit !important; +} + +.urlbarView-title-separator, +.urlbarView-action +{ + opacity: .6 !important; + color: inherit !important; + font-size: revert !important; +} + +.urlbarView-favicon +{ + position: absolute !important; + left: 16px !important; + top: 50% !important; + transform: translateY(-50%) !important; + fill-opacity: .6 !important; + flex: unset !important; + margin: unset !important; +} + +.urlbarView-title, +.urlbarView-url +{ + text-overflow: ellipsis !important; + mask-image: none !important; +} + +.urlbarView-title +{ + flex: 1 !important; + flex-basis: unset !important; +} + +.urlbarView-url +{ + max-width: 100% !important; + font-size: revert !important; + color: var(--urlbar-popup-url-color) !important; + padding: 0 !important; +} + +.urlbarView-url:not(:empty) +{ + visibility: visible !important; +} + +.urlbarView-action:not(:empty) +{ + display: flex !important; +} + +.urlbarView-row[type=search] ~ .urlbarView-row[type=search] .urlbarView-title-separator, +.urlbarView-row[type=search] ~ .urlbarView-row[type=search] .urlbarView-action, +.urlbarView-row[has-url][type]:not([type=bookmark]) .urlbarView-title-separator, +.urlbarView-type-icon +{ + display: none !important; +} + +.urlbarView-row[type=tip] > .urlbarView-row-inner > .urlbarView-favicon, +.urlbarView-row[type=tip] > .urlbarView-row-inner > .urlbarView-title, +.urlbarView-tip-button, +.urlbarView-tip-help +{ + margin-block-end: 0 !important; +} + +.urlbarView .search-one-offs +{ + padding: 4px !important; + display: flex !important; +} + +.urlbarView .search-panel-one-offs-header +{ + margin-inline-start: 12px !important; + line-height: 40px !important; + transform: translateY(-1px) !important; +} + +.urlbarView .search-panel-one-offs +{ + border-radius: 0 0 8px 8px !important; + display: inline-flex !important; + flex-direction: row !important; + padding: 0 !important; + margin: 0 !important; + float: left !important; + max-width: none !important; + height: auto !important; +} + +.urlbarView .searchbar-engine-one-off-item +{ + height: 32px !important; + border-radius: 16px !important; + padding: 0 8px !important; + margin: 4px !important; + background-image: none !important; + color: inherit !important; + border: 0 !important; +} + +#urlbar-container +{ + max-height: 36px !important; +} + +#urlbar, +#searchbar +{ + font-size: 14px !important; + border-radius: 99px !important; + background-color: var(--toolbar-field-background-color) !important; + border: 0 !important; + box-shadow: none !important; + padding: 2px !important; + background-clip: padding-box !important; + transition: background-color .1s var(--ease-basic) !important; + -moz-box-align: center !important; + display: block !important; + margin: 0 !important; + position: relative !important; /* 74+ */ + + --urlbar-height: 28px !important; + + min-height: var(--urlbar-height) !important; +} + +#urlbar:not(:-moz-lwtheme), +#searchbar:not(:-moz-lwtheme) +{ + color: inherit !important; +} + +#urlbar:hover, +#searchbar:hover +{ + background-color: var(--toolbar-field-hover-background-color) !important; +} + +#urlbar[focused], +#urlbar[open], +#searchbar[focused], +#searchbar[open] +{ + background-color: var(--toolbar-field-focus-background-color) !important; +} + +#urlbar[focused], +#searchbar[focused] +{ + border: 2px solid var(--toolbar-field-focus-border-color) !important; + padding: 0 !important; + margin: 0 !important; +} + +#urlbar[open], +#searchbar[open] +{ + border: 0 !important; + padding: 0 !important; + border-radius: 8px !important; + min-height: 37px !important; + margin: 0 -5px -1px !important; + box-shadow: + 0 5px 5px -3px rgba(0,0,0,.2), + 0 8px 10px 1px rgba(0,0,0,.14), + 0 3px 14px 2px rgba(0,0,0,.12) !important; + position: relative !important; + z-index: 99999 !important; +} + +/* 71+ */ +#urlbar-background +{ + display: none !important; +} + +#urlbar-input-container, +#searchbar +{ + display: flex !important; + align-items: center !important; +} + +#urlbar-input-container +{ + height: auto !important; + padding: 0 !important; + border: 0 !important; +} + +.urlbar-input-box, +.searchbar-textbox +{ + flex: 1 !important; +} + +#urlbar-input +{ + width: 100% !important; +} + +#urlbar-input, +.searchbar-textbox +{ + color: var(--lwt-toolbar-field-color) !important; +} + +#urlbar-input::placeholder, +.searchbar-textbox::placeholder +{ + opacity: .66 !important; +} + +#urlbar[open] #urlbar-input-container +{ + height: 37px !important; +} + +#urlbar[open] #identity-box +{ + margin-inline-start: 8px !important; + margin-inline-end: 8px !important; +} + +.urlbarView +{ + top: 0 !important; + left: 0 !important; + right: 0 !important; + position: relative !important; + box-shadow: none !important; + border: 0 !important; + background: 0 !important; + margin: 0 !important; +} + +#urlbar[open] .urlbarView +{ + display: block !important; + width: 100% !important; +} + +#urlbar-results +{ + padding: 0 !important; +} + +#urlbar-container, +#searchbar-container +{ + overflow: visible !important; + padding: 0 !important; + margin-inline: 6px !important; +} + +#identity-icon +{ + fill-opacity: 1 !important; +} + +#identity-icon-labels +{ + color: inherit !important; + opacity: 1 !important; + padding: 0 !important; + margin-inline-start: 8px !important; + margin-block-start: -1px !important; + display: none !important; + align-items: center !important; +} + +#identity-box +{ + display: flex !important; + position: relative !important; +} + +#urlbar-label-box +{ + border: 0 !important; + padding: 0 !important; +} + +/* separator */ +#identity-icon-labels::after +{ + content: "" !important; + display: block !important; + position: absolute !important; + height: 16px !important; + right: 0 !important; + background: #9d9e9f !important; + width: 1px !important; + transition: opacity .2s var(--ease-basic) !important; +} + +#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden), +#urlbar-label-box +{ + margin-inline-end: 8px !important; +} + +#urlbar[pageproxystate=valid]:not([open]) #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden) #identity-icon-labels +{ + display: flex !important; +} + + +#urlbar[pageproxystate=valid] #identity-box:-moz-any(.notSecureText, .verifiedIdentity, .chromeUI, .extensionPage, .certUserOverridden):not(.no-hover):-moz-any([open], :hover) #identity-icon-labels::after +{ + opacity: 0 !important; +} + +#identity-box.extensionPage > #identity-icon +{ + list-style-image: none !important; + margin-inline-end: -16px !important; +} + +/* no longer used as a connection icon */ +#connection-icon +{ + display: none !important; +} + +#urlbar[pageproxystate=valid] #identity-box:-moz-any( + .mixedActiveBlocked, + .mixedDisplayContentLoadedActiveBlocked, + .mixedActiveContent +) > #connection-icon +{ + display: -moz-box !important; +} + +#urlbar[pageproxystate=valid] #identity-box:-moz-any(.weakCipher, .certUserOverridden, .certErrorPage, .insecureLoginForms, .mixedActiveContent) +{ + color: #c94031 !important; +} + +.urlbar-input +{ + padding: 0 !important; +} + +.searchbar-textbox +{ + border: 0 !important; + background: 0 !important; + box-shadow: none !important; + margin: 0 !important; + -moz-appearance: none !important; +} + +.searchbar-search-icon +{ + margin: 0 !important; + fill-opacity: 1 !important; +} + +.searchbar-search-icon-overlay +{ + margin-inline-start: -11px !important; + margin-inline-end: 0 !important; + + /* not really useful anyway */ + display: none !important; +} + +#page-action-buttons > #pageActionSeparator, +.urlbar-history-dropmarker +{ + display: none !important; +} + +#pageActionSeparator +{ + height: 24px !important; +} + +.urlbar-icon-wrapper +{ + background: 0 !important; +} + +.urlbar-icon, +#page-action-buttons > toolbarbutton, +.searchbar-search-button, +#identity-box, +#tracking-protection-icon-box +{ + min-width: 32px !important; + height: 24px !important; + padding: 4px 8px !important; + margin: 0 !important; + border: 0 !important; + border-radius: 99px !important; + fill-opacity: 1 !important; + transition: background-color .2s var(--ease-basic) !important; + background: 0 !important; + background-color: transparent !important; +} + +#tracking-protection-icon-container +{ + background: 0 !important; + border: 0 !important; + margin: 0 !important; + padding: 0 !important; + width: auto !important; + order: 97 !important; +} + +#tracking-protection-icon-box +{ + display: block !important; + width: 32px !important; +} + +#tracking-protection-icon-box +{ + transition: + background-color .2s var(--ease-basic), + width .15s var(--ease-in), + opacity .15s var(--ease-basic), + visibility 0s .2s !important; + opacity: 0 !important; + visibility: hidden !important; + width: 0 !important; +} + +#urlbar:hover #tracking-protection-icon-box, +#tracking-protection-icon-container[open] #tracking-protection-icon-box, +#tracking-protection-icon-box[active] +{ + transition: + background-color .2s var(--ease-basic), + width .3s var(--ease-out), + opacity .3s var(--ease-basic) !important; + opacity: 1 !important; + visibility: visible !important; + width: 32px !important; +} + +#tracking-protection-icon +{ + display: block !important; +} + +#tracking-protection-icon-animatable-box +{ + display: none !important; +} + +#identity-box #notification-popup-box +{ + padding: 0 !important; + margin: 0 !important; +} + +#page-action-buttons +{ + height: 24px !important; + display: flex !important; + order: 99 !important; +} + +#urlbar[open] #page-action-buttons, +#urlbar[open] #tracking-protection-icon-container +{ + display: none !important; +} + +.urlbar-icon:hover:not([disabled]), +#page-action-buttons > toolbarbutton:hover:not([disabled]), +.searchbar-search-button:hover, +#identity-box:hover:not(.no-hover), +#tracking-protection-icon-container:hover #tracking-protection-icon-box +{ + background-color: var(--toolbarbutton-hover-background) !important; +} + +.urlbar-icon:hover:active:not([disabled]), +.urlbar-icon[open], +#page-action-buttons > toolbarbutton:hover:active:not([disabled]), +.searchbar-search-button:hover:active, +#identity-box:hover:active:not(.no-hover), +#identity-box[open]:not(.no-hover), +#tracking-protection-icon-container[open] #tracking-protection-icon-box +{ + background-color: var(--toolbarbutton-active-background) !important; + transition-duration: 0 !important; +} + +#contextual-feature-recommendation +{ + width: auto !important; +} + +.urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine +) +{ + transition: + background-color .2s var(--ease-basic), + margin .15s var(--ease-in), + opacity .15s var(--ease-basic), + visibility 0s 4s !important; + opacity: 0 !important; + visibility: hidden !important; + margin-inline-start: -32px !important; +} + +#urlbar:hover .urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine +), +.urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine +):-moz-any(:hover, [open], [readeractive]), +.urlbar-page-action:-moz-any(:hover, [open]) ~ .urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine), +#tracking-protection-icon-container[open] ~ #page-action-buttons .urlbar-page-action:-moz-any( + #reader-mode-button, + #pageActionButton, + #pocket-button-box, + #pageAction-urlbar-screenshots_mozilla_org, + #pageAction-urlbar-sendToDevice, + #pageAction-urlbar-emailLink, + #pageAction-urlbar-copyURL, + #pageAction-urlbar-shareURL, + #pageAction-urlbar-addSearchEngine) +{ + transition: + background-color .2s var(--ease-basic), + margin .3s var(--ease-out), + opacity .3s var(--ease-basic) !important; + opacity: 1 !important; + visibility: visible !important; + margin-inline-start: 0 !important; +} + +.urlbar-display +{ + color: inherit !important; + margin: 0 !important; +} + +#pocket-button-box[animate] > #pocket-animatable-box +{ + margin-inline-start: 6px !important; +} + +#star-button-animatable-box +{ + display: none !important; +} + +#userContext-icons +{ + flex-direction: row !important; + align-items: center !important; + justify-content: center !important; + position: relative !important; + padding-inline: 8px !important; + margin: 0 !important; + color: var(--identity-tab-color) !important; +} + +#userContext-icons:not([hidden]) +{ + display: flex !important; +} + +#userContext-icons > * +{ + z-index: 1 !important; + color: inherit !important; + fill: currentColor !important; +} + +#userContext-label +{ + margin: 0 !important; +} + +#userContext-label + #userContext-indicator +{ + margin-inline-start: 6px !important; +} + +#userContext-icons::before +{ + content: '' !important; + position: absolute !important; + left: 0 !important; + right: 0 !important; + top: 0 !important; + bottom: 0 !important; + background: var(--identity-tab-color) !important; + border-radius: 99px !important; + opacity: .1 !important; +} + +#cfr-label-container +{ + background: 0 !important; +} + +#cfr-label +{ + display: none !important; +} + +#cfr-button +{ + fill: currentColor !important; +} + +#urlbar[open] #urlbar-go-button, +#searchbar[open] #search-go-button, +/* < 71 */ +#urlbar[open] .urlbar-go-button, +#searchbar[open] .search-go-button +{ + height: 32px !important; +} + +#urlbar-go-button, +#search-go-button, +/* < 71 */ +.urlbar-go-button, +.search-go-button +{ + list-style-image: url(go.svg) !important; +} + +.search-go-container +{ + display: flex !important; +} + +#searchbar .textbox-input +{ + padding: 0 !important; +} + +/* lock (secure) */ +#identity-box[pageproxystate="valid"]:-moz-any(.verifiedDomain, .verifiedIdentity, .mixedActiveBlocked) > #identity-icon +{ + list-style-image: var(--lock-icon) !important; +} + +/* info (not secure) */ +#identity-box[pageproxystate="valid"]:-moz-any(.mixedDisplayContent, .mixedDisplayContentLoadedActiveBlocked, .unknownIdentity) > #identity-icon +{ + list-style-image: var(--info-icon) !important; +} + +/* warning (dangerous) */ +#identity-box[pageproxystate="valid"]:-moz-any(.notSecure, .weakCipher, .certUserOverridden, .certErrorPage, .insecureLoginForms, .mixedActiveContent) > #identity-icon +{ + list-style-image: var(--warning-icon) !important; +} + +#urlbar-input, +#searchbar-input, +.searchbar-textbox /* < 71 */ +{ + transform: translateY(var(--input-offset)) !important; + line-height: 1.745em !important; +} + +/* 1x */ +#urlbar +{ + --info-icon: url(info-1x.svg); + --lock-icon: url(connection-1x.svg); + --warning-icon: url(connection-warning-1x.svg); +} + +#urlbar, +#searchbar +{ + --input-offset: -1px; +} + +/* 2x */ +@media (min--moz-device-pixel-ratio: 2) +{ + #urlbar + { + --info-icon: url(info-2x.svg); + --lock-icon: url(connection-2x.svg); + --warning-icon: url(connection-warning-2x.svg); + } + + #urlbar, + #searchbar + { + --input-offset: -.5px; + } + + #identity-icon-labels + { + padding-inline-end: .5px !important; + } +} \ No newline at end of file diff --git a/firefox/chrome/userChrome.css b/firefox/chrome/userChrome.css new file mode 100644 index 0000000..eec82f5 --- /dev/null +++ b/firefox/chrome/userChrome.css @@ -0,0 +1,30 @@ +/* Example file enabling theme + some features */ + +/* material firefox imports */ +/* @import "global/variables.css"; */ +/* @import "global/global.css"; */ +/* @import "icons/icons.css"; */ +/* @import "tabbar/tabbar.css"; */ +/* @import "navbar/navbar.css"; */ +/* @import "personalbar/personalbar.css"; */ +/* @import "popup/popup.css"; */ +/* @import "urlbar/urlbar.css"; */ +/* @import "findbar/findbar.css"; */ + +/*@import url(chrome/theme_color_variables.css); +@import url(chrome/theme_toolbars.css); +@import url(chrome/theme_sidebar.css); +@import url(chrome/theme_popups_and_menus.css); +@import url(chrome/theme_additional_windows.css);*/ +/* @import url(chrome/status_inside_urlbar.css); */ +/*@import url(chrome/navigation_buttons_inside_urlbar.css);*/ +@import url(chrome/tab_close_button_always_on_hover.css); +@import url(chrome/button_effect_scale_onclick.css); +@import url(chrome/blank_page_background.css); +/* @import url(chrome/navbar_tabs_oneliner.css); */ +@import url(chrome/navbar_tabs_oneliner_tabs_on_left.css); +/* @import url(chrome/navbar_notabs.css); */ +/* @import url(chrome/page_action_buttons_on_hover.css); */ +@import url(chrome/autohide_sidebar.css); +@import url(chrome/menubar_in_toolbar.css); +@import url(chrome/hide_toolbox_top_bottom_borders.css); diff --git a/firefox/chrome/userContent.css b/firefox/chrome/userContent.css new file mode 100644 index 0000000..d5e1f00 --- /dev/null +++ b/firefox/chrome/userContent.css @@ -0,0 +1,6 @@ +/* Example file */ + +@import url(content/css_scrollbar_width_color.css); +/* @import url(content/limit_css_data_leak.css); */ /* Could induce site problems */ +@import url(content/newtab_background_color.css); +@import url(content/transparent_reader_toolbar.css); \ No newline at end of file diff --git a/rofi/launchers-git/blurry.rasi b/rofi/launchers-git/blurry.rasi index 4e3178e..f82c168 100644 --- a/rofi/launchers-git/blurry.rasi +++ b/rofi/launchers-git/blurry.rasi @@ -8,7 +8,7 @@ */ configuration { - font: "Noto Sans 10"; + font: "VictorMono Nerd Font 11"; show-icons: true; icon-theme: "Papirus"; display-drun: "⮞";