dotfiles

Personal dotfiles
git clone git://git.laack.co/dotfiles.git
Log | Files | Refs

config.toml (15817B)


      1 # This is the default config file.
      2 # It also shows all the default values, if you don't create the file.
      3 # You can edit this file to set your own configuration for Amfora.
      4 
      5 # When Amfora updates, defaults may change, but this file on your drive will not.
      6 # You can always get the latest defaults on GitHub.
      7 # https://github.com/makeworld-the-better-one/amfora/blob/master/default-config.toml
      8 
      9 # Please also check out the Amfora Wiki for more help
     10 # https://github.com/makeworld-the-better-one/amfora/wiki
     11 # gemini://makeworld.space/amfora-wiki/
     12 
     13 
     14 
     15 # All URL values may omit the scheme and/or port, as well as the beginning double slash
     16 # Valid URL examples:
     17 # gemini://example.com
     18 # //example.com
     19 # example.com
     20 # example.com:123
     21 
     22 
     23 [a-general]
     24 # Press Ctrl-H to access it
     25 home = "gemini://geminiprotocol.net"
     26 
     27 # Follow up to 5 Gemini redirects without prompting.
     28 # A prompt is always shown after the 5th redirect and for redirects to protocols other than Gemini.
     29 # If set to false, a prompt will be shown before following redirects.
     30 auto_redirect = false
     31 
     32 # What command to run to open a HTTP(S) URL.
     33 # Set to "default" to try to guess the browser, or set to "off" to not open HTTP(S) URLs.
     34 # If a command is set, than the URL will be added (in quotes) to the end of the command.
     35 # A space will be prepended to the URL.
     36 #
     37 # The best way to define a command is using a string array.
     38 # Examples:
     39 # http = ['firefox']
     40 # http = ['custom-browser', '--flag', '--option=2']
     41 # http = ['/path/with spaces/in it/firefox']
     42 #
     43 # Note the use of single quotes, so that backslashes will not be escaped.
     44 # Using just a string will also work, but it is deprecated, and will degrade if
     45 # you use paths with spaces.
     46 
     47 http = 'default'
     48 
     49 # Any URL that will accept a query string can be put here
     50 search = "gemini://geminispace.info/search"
     51 
     52 # Whether colors will be used in the terminal
     53 color = true
     54 
     55 # Whether ANSI color codes from the page content should be rendered
     56 ansi = true
     57 
     58 # Whether or not to support source code highlighting in preformatted blocks based on alt text
     59 highlight_code = true
     60 
     61 # Which highlighting style to use (see https://xyproto.github.io/splash/docs/)
     62 highlight_style = "monokai"
     63 
     64 # Whether to replace list asterisks with unicode bullets
     65 bullets = true
     66 
     67 # Whether to show link after link text
     68 show_link = false
     69 
     70 # The max number of columns to wrap a page's text to. Preformatted blocks are not wrapped.
     71 max_width = 80
     72 
     73 # 'downloads' is the path to a downloads folder.
     74 # An empty value means the code will find the default downloads folder for your system.
     75 # If the path does not exist it will be created.
     76 # Note the use of single quotes, so that backslashes will not be escaped.
     77 downloads = ''
     78 
     79 # Max size for displayable content in bytes - after that size a download window pops up
     80 page_max_size = 2097152  # 2 MiB
     81 # Max time it takes to load a page in seconds - after that a download window pops up
     82 page_max_time = 10
     83 
     84 # When a scrollbar appears. "never", "auto", and "always" are the only valid values.
     85 # "auto" means the scrollbar only appears when the page is longer than the window.
     86 scrollbar = "auto"
     87 
     88 # Underline non-gemini URLs
     89 # This is done to help color blind users
     90 underline = true
     91 
     92 
     93 [auth]
     94 # Authentication settings
     95 # Note the use of single quotes for values, so that backslashes will not be escaped.
     96 
     97 [auth.certs]
     98 # Client certificates
     99 # Set URL equal to path to client cert file
    100 #
    101 # "example.com" = 'mycert.crt'      # Cert is used for all paths on this domain
    102 # "example.com/dir/"=  'mycert.crt' # Cert is used for /dir/ and everything below only
    103 #
    104 # See the comment at the beginning of this file for examples of all valid types of
    105 # URLs, ports and schemes can be used too
    106 
    107 [auth.keys]
    108 # Client certificate keys
    109 # Same as [auth.certs] but the path is to the client key file.
    110 
    111 
    112 [commands]
    113 # Define up to 10 custom commands to execute on the corresponding hotkey press.
    114 # Commands are run in a new process and will not terminate when Amfora is closed.
    115 # If you need your command to accept additional input, it is recommended to open
    116 # a GUI or use a terminal multiplexer like screen or tmux. The string ${url} will
    117 # be replaced with the current or selected URL. Note that pipes and redirections
    118 # are not allowed, if these are needed then you should set up a script. Use only
    119 # absolute paths and/or reference executables in your $PATH.
    120 # command1 = "my-script -a -b -c ${url}"
    121 # command2 = ""
    122 # command3 = ""
    123 # command4 = ""
    124 # command5 = ""
    125 # command6 = ""
    126 # command7 = ""
    127 # command8 = ""
    128 # command9 = ""
    129 # command0 = ""
    130 
    131 
    132 [keybindings]
    133 # If you have a non-US keyboard, use bind_tab1 through bind_tab0 to
    134 # setup the shift-number bindings: Eg, for US keyboards (the default):
    135 # bind_tab1 = "!"
    136 # bind_tab2 = "@"
    137 # bind_tab3 = "#"
    138 # bind_tab4 = "$"
    139 # bind_tab5 = "%"
    140 # bind_tab6 = "^"
    141 # bind_tab7 = "&"
    142 # bind_tab8 = "*"
    143 # bind_tab9 = "("
    144 # bind_tab0 = ")"
    145 
    146 # Whitespace is not allowed in any of the keybindings! Use 'Space' and 'Tab' to bind to those keys.
    147 # Multiple keys can be bound to one command, just use a TOML array.
    148 # To add the Alt modifier, the binding must start with Alt-, should be reasonably universal
    149 # Ctrl- won't work on all keys, see this for a list:
    150 # https://github.com/gdamore/tcell/blob/cb1e5d6fa606/key.go#L83
    151 
    152 # An example of a TOML array for multiple keys being bound to one command is the default
    153 # binding for reload:
    154 # bind_reload = ["R","Ctrl-R"]
    155 # One thing to note here is that "R" is capitalization sensitive, so it means shift-r.
    156 # "Ctrl-R" means both ctrl-r and ctrl-shift-R (this is a quirk of what ctrl-r means on
    157 # an ANSI terminal)
    158 
    159 # The default binding for opening the bottom bar for entering a URL or link number is:
    160 # bind_bottom = "Space"
    161 # This is how to get the Spacebar as a keybinding, if you try to use " ", it won't work.
    162 # And, finally, an example of a simple, unmodified character is:
    163 # bind_edit = "e"
    164 # This binds the "e" key to the command to edit the current URL.
    165 
    166 # The bind_link[1-90] options are for the commands to go to the first 10 links on a page,
    167 # typically these are bound to the number keys:
    168 # bind_link1 = "1"
    169 # bind_link2 = "2"
    170 # bind_link3 = "3"
    171 # bind_link4 = "4"
    172 # bind_link5 = "5"
    173 # bind_link6 = "6"
    174 # bind_link7 = "7"
    175 # bind_link8 = "8"
    176 # bind_link9 = "9"
    177 # bind_link0 = "0"
    178 
    179 # The bind_command[0-9] options are for the command hotkeys. This will pass the URL of the
    180 # current tab as an argument.
    181 # bind_command1 = "Alt-!"
    182 # bind_command2 = "Alt-@"
    183 # bind_command3 = "Alt-#"
    184 # bind_command4 = "Alt-$"
    185 # bind_command5 = "Alt-%"
    186 # bind_command6 = "Alt-^"
    187 # bind_command7 = "Alt-&"
    188 # bind_command8 = "Alt-*"
    189 # bind_command9 = "Alt-("
    190 # bind_command0 = "Alt-)"
    191 
    192 # The bind_commandtarget[0-9] options are for command hotkeys that operate on the currently
    193 # highlighted link. This will pass the URL of the highlighted link as an argument.
    194 # bind_command_target1 = "Alt-1"
    195 # bind_command_target2 = "Alt-2"
    196 # bind_command_target3 = "Alt-3"
    197 # bind_command_target4 = "Alt-4"
    198 # bind_command_target5 = "Alt-5"
    199 # bind_command_target6 = "Alt-6"
    200 # bind_command_target7 = "Alt-7"
    201 # bind_command_target8 = "Alt-8"
    202 # bind_command_target9 = "Alt-9"
    203 # bind_command_target0 = "Alt-0"
    204 
    205 # All keybindings:
    206 #
    207 # bind_bottom
    208 # bind_edit
    209 # bind_home
    210 # bind_bookmarks
    211 # bind_add_bookmark
    212 # bind_save
    213 # bind_reload
    214 # bind_back
    215 # bind_forward
    216 # bind_moveup
    217 # bind_movedown
    218 # bind_moveleft
    219 # bind_moveright
    220 # bind_pgup
    221 # bind_pgdn
    222 # bind_new_tab
    223 # bind_close_tab
    224 # bind_next_tab
    225 # bind_prev_tab
    226 # bind_quit
    227 # bind_help
    228 # bind_sub: for viewing the subscriptions page
    229 # bind_add_sub
    230 # bind_copy_page_url
    231 # bind_copy_target_url
    232 # bind_beginning: moving to beginning of page (top left)
    233 # bind_end: same but the for the end (bottom left)
    234 # bind_url_handler_open: Open highlighted URL with URL handler (#143)
    235 
    236 # Search
    237 # bind_search = "/"
    238 # bind_next_match = "n"
    239 # bind_prev_match = "N"
    240 
    241 [url-handlers]
    242 # Allows setting the commands to run for various URL schemes.
    243 # E.g. to open FTP URLs with FileZilla set the following key:
    244 #   ftp = ['filezilla']
    245 # You can set any scheme to 'off' or '' to disable handling it, or
    246 # just leave the key unset.
    247 #
    248 # DO NOT use this for setting the HTTP command.
    249 # Use the http setting in the "a-general" section above.
    250 #
    251 # NOTE: These settings are overridden by the ones in the proxies section.
    252 #
    253 # The best way to define a command is using a string array.
    254 # Examples:
    255 # magnet = ['transmission']
    256 # foo = ['custom-browser', '--flag', '--option=2']
    257 # tel = ['/path/with spaces/in it/telephone']
    258 #
    259 # Note the use of single quotes, so that backslashes will not be escaped.
    260 # Using just a string will also work, but it is deprecated, and will degrade if
    261 # you use paths with spaces.
    262 
    263 # This is a special key that defines the handler for all URL schemes for which
    264 # no handler is defined.
    265 # It uses the special value 'default', which will try and use the default
    266 # application on your computer for opening this kind of URI.
    267 other = 'default'
    268 
    269 [url-prompts]
    270 # Specify whether a confirmation prompt should be shown before following URL schemes.
    271 # The special key 'other' matches all schemes that don't match any other key.
    272 #
    273 # Example: prompt on every non-gemini URL
    274 # other = true
    275 # gemini = false
    276 #
    277 # Example: only prompt on HTTP(S)
    278 # other = false
    279 # http = true
    280 # https = true
    281 
    282 # [[mediatype-handlers]] section
    283 # ---------------------------------
    284 #
    285 # Specify what applications will open certain media types.
    286 # By default your default application will be used to open the file when you select "Open".
    287 # You only need to configure this section if you want to override your default application,
    288 # or do special things like streaming.
    289 #
    290 # Note the use of single quotes for commands, so that backslashes will not be escaped.
    291 #
    292 #
    293 # To open jpeg files with the feh command:
    294 #
    295 # [[mediatype-handlers]]
    296 # cmd = ['feh']
    297 # types = ["image/jpeg"]
    298 #
    299 # Each command that you specify must come under its own [[mediatype-handlers]]. You may
    300 # specify as many [[mediatype-handlers]] as you want to setup multiple commands.
    301 #
    302 # If the subtype is omitted then the specified command will be used for the
    303 # entire type:
    304 #
    305 # [[mediatype-handlers]]
    306 # command = ['vlc', '--flag']
    307 # types = ["audio", "video"]
    308 #
    309 # A catch-all handler can by specified with "*".
    310 # Note that there are already catch-all handlers in place for all OSes,
    311 # that open the file using your default application. This is only if you
    312 # want to override that.
    313 #
    314 # [[mediatype-handlers]]
    315 # cmd = ['some-command']
    316 # types = [
    317 #         "application/pdf",
    318 #         "*",
    319 # ]
    320 #
    321 # You can also choose to stream the data instead of downloading it all before
    322 # opening it. This is especially useful for large video or audio files, as
    323 # well as radio streams, which will never complete. You can do this like so:
    324 #
    325 # [[mediatype-handlers]]
    326 # cmd = ['vlc', '-']
    327 # types = ["audio", "video"]
    328 # stream = true
    329 #
    330 # This uses vlc to stream all video and audio content.
    331 # By default stream is set to off for all handlers
    332 #
    333 #
    334 # If you want to always open a type in its viewer without the download or open
    335 # prompt appearing, you can add no_prompt = true
    336 #
    337 # [[mediatype-handlers]]
    338 # cmd = ['feh']
    339 # types = ["image"]
    340 # no_prompt = true
    341 #
    342 # Note: Multiple handlers cannot be defined for the same full media type, but
    343 # still there needs to be an order for which handlers are used. The following
    344 # order applies regardless of the order written in the config:
    345 #
    346 # 1. Full media type: "image/jpeg"
    347 # 2. Just type: "image"
    348 # 3. Catch-all: "*"
    349 
    350 
    351 [cache]
    352 # Options for page cache - which is only for text pages
    353 # Increase the cache size to speed up browsing at the expense of memory
    354 # Zero values mean there is no limit
    355 
    356 max_size = 0  # Size in bytes
    357 max_pages = 30 # The maximum number of pages the cache will store
    358 
    359 # How long a page will stay in cache, in seconds.
    360 timeout = 1800 # 30 mins
    361 
    362 [proxies]
    363 # Allows setting a Gemini proxy for different schemes.
    364 # The settings are similar to the url-handlers section above.
    365 # E.g. to open a gopher page by connecting to a Gemini proxy server:
    366 #   gopher = "example.com:123"
    367 #
    368 # Port 1965 is assumed if no port is specified.
    369 #
    370 # NOTE: These settings override any external handlers specified in
    371 # the url-handlers section.
    372 #
    373 # Note that HTTP and HTTPS are treated as separate protocols here.
    374 
    375 
    376 [subscriptions]
    377 # For tracking feeds and pages
    378 
    379 # Whether a pop-up appears when viewing a potential feed
    380 popup = true
    381 
    382 # How often to check for updates to subscriptions in the background, in seconds.
    383 # Set it to 0 to disable this feature. You can still update individual feeds
    384 # manually, or restart the browser.
    385 #
    386 # Note Amfora will check for updates on browser start no matter what this setting is.
    387 update_interval = 1800 # 30 mins
    388 
    389 # How many subscriptions can be checked at the same time when updating.
    390 # If you have many subscriptions you may want to increase this for faster
    391 # update times. Any value below 1 will be corrected to 1.
    392 workers = 3
    393 
    394 # The number of subscription updates displayed per page.
    395 entries_per_page = 20
    396 
    397 # Set to false to remove the explanatory text from the top of the subscription page
    398 header = true
    399 
    400 
    401 [theme]
    402 # This section is for changing the COLORS used in Amfora.
    403 # These colors only apply if 'color' is enabled above.
    404 # Colors can be set using a W3C color name, or a hex value such as "#ffffff".
    405 # Setting a background to "default" keeps the terminal default
    406 # If your terminal has transparency, set any background to "default" to keep it transparent
    407 # The key "bg" is already set to "default", but this can be used on other backgrounds,
    408 # like for modals.
    409 
    410 # Note that not all colors will work on terminals that do not have truecolor support.
    411 # If you want to stick to the standard 16 or 256 colors, you can get
    412 # a list of those here: https://jonasjacek.github.io/colors/
    413 # DO NOT use the names from that site, just the hex codes.
    414 
    415 # Definitions:
    416 #   bg = background
    417 #   fg = foreground
    418 #   dl = download
    419 #   btn = button
    420 #   hdg = heading
    421 #   bkmk = bookmark
    422 #   modal = a popup window/box in the middle of the screen
    423 
    424 # EXAMPLES:
    425 # hdg_1 = "green"
    426 # hdg_2 = "#5f0000"
    427 # bg = "default"
    428 
    429 # Available keys to set:
    430 
    431 # bg: background for pages, tab row, app in general
    432 # tab_num: The number/highlight of the tabs at the top
    433 # tab_divider: The color of the divider character between tab numbers: |
    434 # bottombar_label: The color of the prompt that appears when you press space
    435 # bottombar_text: The color of the text you type
    436 # bottombar_bg
    437 # scrollbar: The scrollbar that appears on the right for long pages
    438 
    439 # You can also set an 'include' key to process another TOML file that contains theme keys.
    440 # Example:
    441 #   include = "my/path/to/special-theme.toml"
    442 #
    443 # Any other theme keys will override this external file.
    444 # You can use this special key to switch between themes easily.
    445 # Download other themes here: https://github.com/makeworld-the-better-one/amfora/tree/master/contrib/themes
    446 
    447 
    448 # hdg_1
    449 # hdg_2
    450 # hdg_3
    451 # amfora_link: A link that Amfora supports viewing. For now this is only gemini://
    452 # foreign_link: HTTP(S), Gopher, etc
    453 # link_number: The silver number that appears to the left of a link
    454 # regular_text: Normal gemini text, and plaintext documents
    455 # quote_text
    456 # preformatted_text
    457 # list_text
    458 
    459 # btn_bg: The bg color for all modal buttons
    460 # btn_text: The text color for all modal buttons
    461 
    462 # dl_choice_modal_bg
    463 # dl_choice_modal_text
    464 # dl_modal_bg
    465 # dl_modal_text
    466 # info_modal_bg
    467 # info_modal_text
    468 # error_modal_bg
    469 # error_modal_text
    470 # yesno_modal_bg
    471 # yesno_modal_text
    472 # tofu_modal_bg
    473 # tofu_modal_text
    474 # subscription_modal_bg
    475 # subscription_modal_text
    476 
    477 # input_modal_bg
    478 # input_modal_text
    479 # input_modal_field_bg: The bg of the input field, where you type the text
    480 # input_modal_field_text: The color of the text you type
    481 
    482 # bkmk_modal_bg
    483 # bkmk_modal_text
    484 # bkmk_modal_label
    485 # bkmk_modal_field_bg
    486 # bkmk_modal_field_text