From 90e589e63c6f7b608d1e4c0e75362c05b920b5ad Mon Sep 17 00:00:00 2001 From: Derek Stevens Date: Sun, 19 Sep 2021 00:22:58 -0600 Subject: [PATCH] update firefox userChrome.css and add amfora configuration --- amfora/config.toml | 387 +++++++++++++++++++++++++++++++++++++++++ firefox/userChrome.css | 70 ++++---- 2 files changed, 426 insertions(+), 31 deletions(-) create mode 100644 amfora/config.toml diff --git a/amfora/config.toml b/amfora/config.toml new file mode 100644 index 0000000..bc48026 --- /dev/null +++ b/amfora/config.toml @@ -0,0 +1,387 @@ +# This is the default config file. +# It also shows all the default values, if you don't create the file. + +# All URL values may omit the scheme and/or port, as well as the beginning double slash +# Valid URL examples: +# gemini://example.com +# //example.com +# example.com +# example.com:123 + + +[a-general] +# Press Ctrl-H to access it +home = "gemini://gemini.circumlunar.space" + +# Follow up to 5 Gemini redirects without prompting. +# A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini. +# If set to false, a prompt will be shown before following redirects. +auto_redirect = false + +# What command to run to open a HTTP(S) URL. +# Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs. +# If a command is set, than the URL will be added (in quotes) to the end of the command. +# A space will be prepended to the URL. +# +# The best to define a command is using a string array. +# Examples: +# http = ['firefox'] +# http = ['custom-browser', '--flag', '--option=2'] +# http = ['/path/with spaces/in it/firefox'] +# +# Note the use of single quotes, so that backslashes will not be escaped. +# Using just a string will also work, but it is deprecated, and will degrade if +# you use paths with spaces. + +http = 'default' + +# Any URL that will accept a query string can be put here +search = "gemini://gus.guru/search" + +# Whether colors will be used in the terminal +color = true + +# Whether ANSI color codes from the page content should be rendered +ansi = true + +# Whether to replace list asterisks with unicode bullets +bullets = true + +# Whether to show link after link text +show_link = false + +# A number from 0 to 1, indicating what percentage of the terminal width the left margin should take up. +left_margin = 0.15 + +# The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped. +max_width = 100 + +# 'downloads' is the path to a downloads folder. +# An empty value means the code will find the default downloads folder for your system. +# If the path does not exist it will be created. +# Note the use of single quotes, so that backslashes will not be escaped. +downloads = '' + +# Max size for displayable content in bytes - after that size a download window pops up +page_max_size = 2097152 # 2 MiB +# Max time it takes to load a page in seconds - after that a download window pops up +page_max_time = 10 + +# Whether to replace tab numbers with emoji favicons, which are cached. +emoji_favicons = false + +# When a scrollbar appears. "never", "auto", and "always" are the only valid values. +# "auto" means the scrollbar only appears when the page is longer than the window. +scrollbar = "auto" + + +[auth] +# Authentication settings +# Note the use of single quotes for values, so that backslashes will not be escaped. + +[auth.certs] +# Client certificates +# Set domain name equal to path to client cert +# "example.com" = 'mycert.crt' + +[auth.keys] +# Client certificate keys +# Set domain name equal to path to key for the client cert above +# "example.com" = 'mycert.key' + + +[keybindings] +# If you have a non-US keyboard, use bind_tab1 through bind_tab0 to +# setup the shift-number bindings: Eg, for US keyboards (the default): +# bind_tab1 = "!" +# bind_tab2 = "@" +# bind_tab3 = "#" +# bind_tab4 = "$" +# bind_tab5 = "%" +# bind_tab6 = "^" +# bind_tab7 = "&" +# bind_tab8 = "*" +# bind_tab9 = "(" +# bind_tab0 = ")" + +# Whitespace is not allowed in any of the keybindings! Use 'Space' and 'Tab' to bind to those keys. +# Multiple keys can be bound to one command, just use a TOML array. +# To add the Alt modifier, the binding must start with Alt-, should be reasonably universal +# Ctrl- won't work on all keys, see this for a list: +# https://github.com/gdamore/tcell/blob/cb1e5d6fa606/key.go#L83 + +# An example of a TOML array for multiple keys being bound to one command is the default +# binding for reload: +# bind_reload = ["R","Ctrl-R"] +# One thing to note here is that "R" is capitalization sensitive, so it means shift-r. +# "Ctrl-R" means both ctrl-r and ctrl-shift-R (this is a quirk of what ctrl-r means on +# an ANSI terminal) + +# The default binding for opening the bottom bar for entering a URL or link number is: +# bind_bottom = "Space" +# This is how to get the Spacebar as a keybinding, if you try to use " ", it won't work. +# And, finally, an example of a simple, unmodified character is: +# bind_edit = "e" +# This binds the "e" key to the command to edit the current URL. + +# The bind_link[1-90] options are for the commands to go to the first 10 links on a page, +# typically these are bound to the number keys: +# bind_link1 = "1" +# bind_link2 = "2" +# bind_link3 = "3" +# bind_link4 = "4" +# bind_link5 = "5" +# bind_link6 = "6" +# bind_link7 = "7" +# bind_link8 = "8" +# bind_link9 = "9" +# bind_link0 = "0" + +# All keybindings: +# +# bind_bottom +# bind_edit +# bind_home +# bind_bookmarks +# bind_add_bookmark +# bind_save +# bind_reload +# bind_back +# bind_forward +# bind_pgup +# bind_pgdn +# bind_new_tab +# bind_close_tab +# bind_next_tab +# bind_prev_tab +# bind_quit +# bind_help +# bind_sub: for viewing the subscriptions page +# bind_add_sub + +[url-handlers] +# Allows setting the commands to run for various URL schemes. +# E.g. to open FTP URLs with FileZilla set the following key: +# ftp = 'filezilla' +# You can set any scheme to "off" or "" to disable handling it, or +# just leave the key unset. +# +# DO NOT use this for setting the HTTP command. +# Use the http setting in the "a-general" section above. +# +# NOTE: These settings are overrided by the ones in the proxies section. +# Note the use of single quotes, so that backslashes will not be escaped. + +# This is a special key that defines the handler for all URL schemes for which +# no handler is defined. +other = 'off' + + +# [[mediatype-handlers]] section +# --------------------------------- +# +# Specify what applications will open certain media types. +# By default your default application will be used to open the file when you select "Open". +# You only need to configure this section if you want to override your default application, +# or do special things like streaming. +# +# Note the use of single quotes for commands, so that backslashes will not be escaped. +# +# +# To open jpeg files with the feh command: +# +# [[mediatype-handlers]] +# cmd = ['feh'] +# types = ["image/jpeg"] +# +# Each command that you specify must come under its own [[mediatype-handlers]]. You may +# specify as many [[mediatype-handlers]] as you want to setup multiple commands. +# +# If the subtype is omitted then the specified command will be used for the +# entire type: +# +# [[mediatype-handlers]] +# command = ['vlc', '--flag'] +# types = ["audio", "video"] +# +# A catch-all handler can by specified with "*". +# Note that there are already catch-all handlers in place for all OSes, +# that open the file using your default application. This is only if you +# want to override that. +# +# [[mediatype-handlers]] +# cmd = ['some-command'] +# types = [ +# "application/pdf", +# "*", +# ] +# +# You can also choose to stream the data instead of downloading it all before +# opening it. This is especially useful for large video or audio files, as +# well as radio streams, which will never complete. You can do this like so: +# +# [[mediatype-handlers]] +# cmd = ['vlc', '-'] +# types = ["audio", "video"] +# stream = true +# +# This uses vlc to stream all video and audio content. +# By default stream is set to off for all handlers +# +# +# If you want to always open a type in its viewer without the download or open +# prompt appearing, you can add no_prompt = true +# +# [[mediatype-handlers]] +# cmd = ['feh'] +# types = ["image"] +# no_prompt = true +# +# Note: Multiple handlers cannot be defined for the same full media type, but +# still there needs to be an order for which handlers are used. The following +# order applies regardless of the order written in the config: +# +# 1. Full media type: "image/jpeg" +# 2. Just type: "image" +# 3. Catch-all: "*" + + +[cache] +# Options for page cache - which is only for text pages +# Increase the cache size to speed up browsing at the expense of memory +# Zero values mean there is no limit + +max_size = 0 # Size in bytes +max_pages = 30 # The maximum number of pages the cache will store + +# How long a page will stay in cache, in seconds. +timeout = 1800 # 30 mins + +[proxies] +# Allows setting a Gemini proxy for different schemes. +# The settings are similar to the url-handlers section above. +# E.g. to open a gopher page by connecting to a Gemini proxy server: +# gopher = "example.com:123" +# +# Port 1965 is assumed if no port is specified. +# +# NOTE: These settings override any external handlers specified in +# the url-handlers section. +# +# Note that HTTP and HTTPS are treated as separate protocols here. + + +[subscriptions] +# For tracking feeds and pages + +# Whether a pop-up appears when viewing a potential feed +popup = true + +# How often to check for updates to subscriptions in the background, in seconds. +# Set it to 0 to disable this feature. You can still update individual feeds +# manually, or restart the browser. +# +# Note Amfora will check for updates on browser start no matter what this setting is. +update_interval = 1800 # 30 mins + +# How many subscriptions can be checked at the same time when updating. +# If you have many subscriptions you may want to increase this for faster +# update times. Any value below 1 will be corrected to 1. +workers = 3 + +# The number of subscription updates displayed per page. +entries_per_page = 20 + + +[theme] +# This section is for changing the COLORS used in Amfora. +# These colors only apply if 'color' is enabled above. +# Colors can be set using a W3C color name, or a hex value such as "#ffffff". + +# Note that not all colors will work on terminals that do not have truecolor support. +# If you want to stick to the standard 16 or 256 colors, you can get +# a list of those here: https://jonasjacek.github.io/colors/ +# DO NOT use the names from that site, just the hex codes. + +# Definitions: +# bg = background +# fg = foreground +# dl = download +# btn = button +# hdg = heading +# bkmk = bookmark +# modal = a popup window/box in the middle of the screen + +# EXAMPLES: +# hdg_1 = "green" +# hdg_2 = "#5f0000" + +bg="#000f19" +fg="#93a1a1" +hdg_1="#c9c9c9" +hdg_2="#c9c9c9" +hdg_3="#c9c9c9" +tab_num="#1f9b92" +tab_separator="#586e75" +bottombar_bg="#000000" +bottombar_label="#1f9b92" +bottombar_text="#ffffff" +scrollbar="#1f9b92" +amfora_link="#1f9b92" +foreign_link="#ab075c" +quote_text="#93a1a1" +preformatted_text="#93a1a1" +list_text="#93a1a1" + +btn_bg="#000000" +btn_text="#ffffff" + +# Available keys to set: + +# bg: background for pages, tab row, app in general +# tab_num: The number/highlight of the tabs at the top +# tab_divider: The color of the divider character between tab numbers: | +# bottombar_label: The color of the prompt that appears when you press space +# bottombar_text: The color of the text you type +# bottombar_bg +# scrollbar: The scrollbar that appears on the right for long pages + +# hdg_1 +# hdg_2 +# hdg_3 +# amfora_link: A link that Amfora supports viewing. For now this is only gemini:// +# foreign_link: HTTP(S), Gopher, etc +# link_number: The silver number that appears to the left of a link +# regular_text: Normal gemini text, and plaintext documents +# quote_text +# preformatted_text +# list_text + +# btn_bg: The bg color for all modal buttons +# btn_text: The text color for all modal buttons + +# dl_choice_modal_bg +# dl_choice_modal_text +# dl_modal_bg +# dl_modal_text +# info_modal_bg +# info_modal_text +# error_modal_bg +# error_modal_text +# yesno_modal_bg +# yesno_modal_text +# tofu_modal_bg +# tofu_modal_text +# subscription_modal_bg +# subscription_modal_text + +# input_modal_bg +# input_modal_text +# input_modal_field_bg: The bg of the input field, where you type the text +# input_modal_field_text: The color of the text you type + +# bkmk_modal_bg +# bkmk_modal_text +# bkmk_modal_label +# bkmk_modal_field_bg +# bkmk_modal_field_text diff --git a/firefox/userChrome.css b/firefox/userChrome.css index 661853e..1c598e8 100755 --- a/firefox/userChrome.css +++ b/firefox/userChrome.css @@ -101,6 +101,10 @@ display: none; } +#urlbar-input-container { + height: 16px; +} + #navigator-toolbox .toolbar-items { background: #000000 !important; } @@ -111,7 +115,7 @@ color: #c9c9c9 !important; padding: 0 !important; padding-left: 1ch !important; - font-size: 10px; + font-size: 12px !important; height: 24px; border: 1px solid #c9c9c9 !important; border-radius: 0 !important; @@ -120,8 +124,8 @@ #urlbar[breakout-extend=true] { background: rgba(0,0,0,0.8) !important; - margin-top: 5px !important; - padding: -8px, 0px, 0px, 0px !important; + margin-top: 2px !important; + /*padding: -8px, 0px, 0px, 0px !important;*/ } #urlbar[breakout-extend=true] #urlbar-input @@ -134,12 +138,10 @@ } #urlbar[breakout-extend=true] #urlbar-input-container { - top: -6px !important; } #navigator-toolbox #urlbar-background { background: rgba(0,0,0,1) !important; - max-height: 25px !important; border: none !important; margin: 0 !important; } @@ -162,29 +164,37 @@ background: #222222 !important; color: #c9c9c9 !important; } - -#navigator-toolbox .tabbrowser-tab { - font-size: 12px; - max-height: 32px !important; - text-align: center !important; -} - #navigator-toolbox .tab-background { background: #222222 !important; box-shadow: none!important; border: none !important; + padding-bottom: 10px !important; + text-align: center !important; + } +#navigator-toolbox .tabbrowser-tab { + font-size: 12px; + max-height: 36px !important; + text-align: center !important; + +} + + #navigator-toolbox .tabbrowser-tab .tab-label { color: #797979 !important; + text-align: center !important; } #navigator-toolbox .tab-background[selected="true"] { - background: #222222 !important; + background: #222222 !important; + border-bottom: 5px solid #1f9b92 !important; } #navigator-toolbox .tabbrowser-tab[selected="true"] .tab-label { color: #c9c9c9 !important; + + } @@ -214,7 +224,7 @@ border-left: none !important; border-right: none !important; position: absolute; - height: 32px !important; + height: 36px !important; visibility: collapse !important; } @@ -223,7 +233,7 @@ } :root[uidensity=compact] #PanelUI-button { - margin-top: -32px; + margin-top: -36px; } #PanelUI-button { @@ -238,20 +248,16 @@ * Tabs to the right of the urlbar */ -/* Move tab line to the bottom */ -#navigator-toolbox .tab-line { - -moz-box-ordinal-group: 2; -} /* Modify these to change relative widths or default height */ #navigator-toolbox{ --uc-navigationbar-width: 50vw; - --uc-toolbar-height: 32px; + --uc-toolbar-height: 36px; border: none !important; } /* Override for other densities */ -:root[uidensity="compact"] #navigator-toolbox{ --uc-toolbar-height: 32px; } -:root[uidensity="touch"] #navigator-toolbox{ --uc-toolbar-height: 32px; } +:root[uidensity="compact"] #navigator-toolbox{ --uc-toolbar-height: 36px; } +:root[uidensity="touch"] #navigator-toolbox{ --uc-toolbar-height: 36px; } :root[uidensity=compact] #urlbar-container.megabar{ --urlbar-container-height: var(--uc-toolbar-height) !important; @@ -269,7 +275,7 @@ .tab-label { text-align: center !important; - -moz-box-flex: 1 !important; + /* -moz-box-flex: 1 !important;*/ } /* This isn't useful when tabs start in the middle of the window */ @@ -295,7 +301,7 @@ /* Hide dropdown placeholder */ #urlbar-container:not(:hover) .urlbar-history-dropmarker { - margin-inline-start: -32px; + margin-inline-start: -36px; } /* Fix customization view */ @@ -328,8 +334,8 @@ #toolbar-menubar[autohide="true"] + #TabsToolbar .titlebar-buttonbox{ -moz-box-direction: reverse } } -#navigator-toolbox{ --tab-min-height: 32px } -:root[uidensity="compact"] #navigator-toolbox{ --tab-min-height: 32px } +#navigator-toolbox{ --tab-min-height: 36px } +:root[uidensity="compact"] #navigator-toolbox{ --tab-min-height: 36px } @media (-moz-os-version: windows-win10){ :root[sizemode="maximized"] > body > box{ margin-top: 8px } @@ -339,6 +345,7 @@ display: flex; flex-direction: row-reverse; flex-wrap: wrap; + max-height: 38px !important; } #titlebar{ -moz-appearance: none !important; } @@ -365,6 +372,7 @@ #TabsToolbar { min-width: 0px !important; max-width: 66vw !important; + max-height: 37px !important; } #nav-bar{ @@ -397,7 +405,7 @@ menubar:hover > menu, } menubar { -moz-box-orient: horizontal; - height: 32px !important; + height: 38px !important; width: 100vw !important; margin-top: 0px; top: -1px; @@ -547,7 +555,7 @@ background-image: linear-gradient(90deg, transparent, rgba(31,155,146,0.5)) !imp background-repeat: no-repeat !important; transition: background-size 0.5s ease-out !important; opacity: 0.5s linear !important; -background-size: 0px 100% !important; +background-size: 0px 50% !important; background-position-y: bottom !important; left: -1px !important; } @@ -557,16 +565,16 @@ opacity: 0 !important; } .tabbrowser-tab[busy] .tab-loading-burst { -background-size: 20% 100% !important; +background-size: 20% 50% !important; transition: background-size 0.3s ease-out !important; } .tabbrowser-tab[busy][progress] .tab-loading-burst { -background-size: 100% 100% !important; +background-size: 100% 50% !important; transition-duration: 2s !important; } .tabbrowser-tab[bursting] .tab-loading-burst { -background-size: 100% 100% !important; +background-size: 100% 50% !important; transition-duration: 0.5s !important; }