amfora/config.toml (raw)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 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 |