config 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403
  1. # '#' starts a line comment
  2. #
  3. # This file format uses ini-like key-value syntax.
  4. #
  5. # All options are equivalent to coresponding command line options (except for lower precedence).
  6. # To get a list of all options run `wayst --help`.
  7. #======================================[ FONT CONFIGURATION ]=======================================
  8. ## Set a list of primary fonts (All available styles will be loaded)
  9. ## The list is scanned in order and glyphs are loaded from the first font that contains them.
  10. ## You need to list EVERY font you want to use. For example:
  11. ## "IBM Plex Sans Thai" for thai script, "Noto Sans Math" for math symbols.
  12. ##
  13. ## example
  14. ## font = [
  15. ## # You can set codepoint ranges to which a given font should be applied.
  16. ## # Here we set <min>..u+24ff and u+2580..<max> to exclude the unicode
  17. ## # box drawing block. Those characters will be loaded (if present) from
  18. ## # the following font(s) in this list.
  19. ## "Hack:..u+24ff:u+2580..",
  20. ## "sauce code pro nerd font",
  21. ## # Mixing ttf/otf with bitmap fonts is ok.
  22. ## # You can set an offset to keep fonts smaller/larger than the global size.
  23. ## "Terminus:-3"
  24. ##
  25. ## ]
  26. ##
  27. ## default:
  28. #
  29. font = Monospace
  30. ## A list of fonts used for non-color symbols (only the Regular style is loaded)
  31. #
  32. font-symbol = [
  33. "FontAwesome",
  34. "PowerlineSymbols"
  35. ]
  36. ## A list of fonts used for color symbols (only the Regular style is loaded)
  37. font-color = "Noto Color Emoji"
  38. ## Point size
  39. font-size = 11
  40. ## Bold font style
  41. #style-bold = Semibold
  42. ## Italic font style
  43. #style-italic = Italic
  44. #
  45. ## Bolditalic font style
  46. #style-bolditalic = Bold:Italic
  47. ## Load all fonts on startup
  48. #preload-all-fonts = true
  49. ## Set static font DPI or calculate it based on physical display size and resolution.
  50. ## If set to `auto` DPI will change automatically when the window is moved between displays with
  51. ## different DPIs. The `output` option can override this setting for specific displays.
  52. #
  53. #dpi = auto
  54. ## Force LCD subpixel order: none, rgb, bgr, vrgb, vbgr
  55. #fixed-lcd-order=vrgb
  56. ## Output rule
  57. ##
  58. ## Moving the window to a display matching a wildcard pattern or display index will
  59. ## set lcd geometry and dpi.
  60. ## Lcd geometry options are: none, rgb, bgr, vrgb, vbgr
  61. ## DPI can be set to `auto` to calculate from physical display dimensions. Or omitted to use global
  62. ## setting.
  63. ##
  64. ## example:
  65. #output = "BENQ*:rgbv:102"
  66. #output = "S24D*:rgb"
  67. ## Glyph to be aligned to the cell center and vertical offset
  68. #glyph-align = (:2
  69. ## Exclude codepoint ranges from lcd filtering (use grayscale)
  70. #exclude-lcd = 0..94
  71. ## Use box-drawing characters contained in font instead of builtin ones
  72. #font-box-chars = true
  73. ## Increase cell dimensions
  74. ## - Argument 1: horizontal [px]
  75. ## - Argument 2: vertical [px]
  76. #glyph-padding = 0:0
  77. #========================================[ MISCELLANEOUS ]==========================================
  78. ## Override system locale
  79. #locale = C
  80. ## Use cell size as window resize increments (X11 only)
  81. #incremental-resize = true
  82. ## Set application id on wayland or WM_CLASS on X11
  83. ## Accepts two arguments as WM_CLASS contains two strings. On wayland only the first one is used.
  84. #app-id = Wayst:Wayst
  85. ## Set mouse pointer hiding behaviour. Options are:
  86. ## - true - Hide on key press (client program may override)
  87. ## - false - Do not hide (client program may override)
  88. ## - force_true - Always hide on key press
  89. ## - force_false - Never hide
  90. ## - if_not_reporting - Hide on key press unless any mouse event reporting mode is active
  91. #
  92. #hide-pointer = true
  93. ## Start in directory
  94. #directory = /home/user
  95. #======================================[ TERMINAL EMULATION ]=======================================
  96. ## Set TERM
  97. #term = "xterm-256color"
  98. ## Report VTE compatibility, might break some programs (empty to disable)
  99. #vte-version = 6201
  100. ## Number of usec to wait for incoming data before drawing and timeout in ms.
  101. ## Increase those values to avoid flicker and improve throughput, decrease for more responsiveness.
  102. ## (Similar to st's minlatency and maxlatency)
  103. #io-chunk-delay=5:30
  104. ## Number of lines in scroll history
  105. #scrollback = 1000
  106. ## Show bold text in bright colors
  107. #bold-is-bright = true
  108. ## Application window title
  109. #title = Terminal
  110. ## Window title format
  111. ##
  112. ## You can format the window title using predefined variables:
  113. ## sAppTitle - Application window title (string)
  114. ## sVtTitle - Window title set by client program (string)
  115. ## bCommandIsRunning - Shell integration is active and a command is currently running (bool)
  116. ## i32CommandTimeSec - Time in seconds (int32_t)
  117. ## sRunningCommand - invocation text of currently running command (unavailable when using VTE protocol) (string)
  118. ## i32Rows - Terminal cell row count (int32_t)
  119. ## i32Cols - Terminal call column count (int32_t)
  120. ## i32Width - Window width in pixels (int32_t)
  121. ## i32Height - Window height in pixels (int32_t)
  122. ##
  123. ## To interpolate a variable use `{variableName}`. Variables can be used to define simple conditionals
  124. ## example: '{?i32Width > 80:the window is wider than 80px}'
  125. ##
  126. ## Supported logical expressions are: <, >, <=, >=, ==, !=, !, &&, ||.
  127. ## The number `0` and empty string evaluate to `false`, other values to `true`
  128. ## Ordering comperison between strings behaves like `strcmp`.
  129. ## Comperison between strings and numbers uses string's length.
  130. ## `\` is an escape character.
  131. ##
  132. ## Some examples:
  133. ## title-format = "{sAppTitle} - [{sVtTitle}]" # Terminal - [zsh:~]
  134. ## title-format = "{sVtTitle} [{i32Cols}x{i32Rows}]" # zsh:~ [80x24]
  135. ## title-format = "{sVtTitle}{?i32Cols != 80 || i32Rows != 24: [{i32Cols}x{i32Rows}]}" # zsh:~ [132x54]
  136. ##
  137. ## default:
  138. #title-format = "{?sVtTitle:{sVtTitle} - }{?bCommandIsRunning && !bIsAltBufferEnabled && "i32CommandTimeSec > 1: ({sRunningCommand}) }{sAppTitle}"
  139. ## Initial number of cell rows
  140. #rows = 24
  141. ## Initial number of cell columns
  142. #columns = 80
  143. ## Keep the terminal window open after program exit
  144. #hold = true
  145. ## Do not allow programs to change the window title
  146. #no-dynamic-title = true
  147. ## Allow programs to interact with the window system through xterm protocol extensions.
  148. ## Note that this system was designed specifically for X11 (some functionality does not work on wayland).
  149. ## - Argument 1: manipulate the window
  150. ## - Argument 2: query information
  151. #
  152. #windowops = true:true
  153. ## Set initial cursor style and if it should blink
  154. ## Style options: block, beam, underline
  155. #cursor-style = block:true
  156. ## Pipe output of the last command to an external program (needs shell integration).
  157. ## Other options are `screen` (only visible line) and `buffer` (includes scrollback)
  158. ## Similar to `https://st.suckless.org/patches/externalpipe/`
  159. ## Your script needs execute permissions and will receive the following arguments:
  160. ## --rows=<rowCount>
  161. ## --columns=<columnCount>
  162. ## --pid=<terminalPid>
  163. ## --title=<currentWindowTitle>
  164. ## --x-window-id=<TerminalWindowXID> (sent only if using X11)
  165. ## --command=<nameOfCommand> (only if sending command output and name is available)
  166. ## --command-exit-code=<exitOfCommand> (only if sending command output)
  167. # extern-pipe = /path/to/your/script.sh:command
  168. ## Lines scrolled per wheel click
  169. #scroll-lines = 3
  170. ## Always use CSD's on wayland
  171. #force-csd = true
  172. #======================================[ COLORS AND THEMING ]=======================================
  173. # Colors can be formatted as:
  174. # - CSS hex color notation (the `#` can be omitted)
  175. # - CSS-like rgb() and rgba() in 0-255, 0.0-1.0, %, deg, rador grad
  176. # - CSS-like hsl() and hsla() in 0.0-1.0, %, deg, rador grad
  177. # - XParseColor()'s RGB specification
  178. # - XParseColor()'s RGB intensity specification
  179. ## Load one of the default colorschemes
  180. ## options are: wayst, linux, xterm, rxvt, yaru, tango, orchis, solarized
  181. #colorscheme = tango
  182. ## Overwrite parts of the colorscheme
  183. #
  184. ## Background (transparent) and foreground colors (opaque)
  185. #bg-color = rgba(0,0,0,0.90)
  186. #fg-color = "#d8d8d8"
  187. #
  188. ## Primary colorpalette (opaque colors)
  189. #
  190. #color-0 = "#606060"
  191. #color-1 = "#df9a98"
  192. #color-2 = "#719672"
  193. #color-3 = "#e0bb71"
  194. #color-4 = "#96bbdc"
  195. #color-5 = "#dfbdbc"
  196. #color-6 = "#97bcbc"
  197. #color-7 = "#d8d8d8"
  198. #color-8 = "#757575"
  199. #color-9 = "#e07798"
  200. #color-10 = "#97bb98"
  201. #color-11 = "#ffdd98"
  202. #color-12 = "#badcfb"
  203. #color-13 = "#ffbebc"
  204. #color-14 = "#96ddde"
  205. #color-15 = "#e9e9e9"
  206. ## Highlighted text background color (transparent)
  207. #highlight-bg-color = "#ffffff"
  208. ## Highlighted text foreground color (opaque)
  209. #highlight-fg-color = "#000000"
  210. ### Tint color for aout of focus windws (transparent)
  211. #unfocused-tint = "#00000011"
  212. ## Set visual bell color (transparent) or `none` to disable
  213. #visual-bell = none
  214. ## Enable background blur hints for KDE Plasma
  215. #bg-blur = true
  216. ## Use minimal window decorations.
  217. ## Uses Motif Window Manager hints on X11 (very few WMs support this). Does not work on wayland.
  218. #decorations = minimal
  219. ## Set _GTK_THEME_VARIANT hinting X11 window decorators to use a light or dark theme (very few WMs support this)
  220. ## Options are:
  221. ## - none
  222. ## - dark
  223. ## - light
  224. ## - auto (autoselect theme based on `bg-color` brightness)
  225. #decoration-theme = auto
  226. ## Animate cursor
  227. ## - Argument 1: Smooth transitions for horizontal movement
  228. ## - Argument 2: Smooth blinking
  229. ## - Argument 3: Fraction of the cursor blink interval fading animation should last
  230. #cursor-anim = false:true:0.25
  231. ## Cursor blinking parameters
  232. ## - Argument 1: enable
  233. ## - Argument 2: time to switch between cursor shown/hidden [ms]
  234. ## - Argument 3: suspend cursor blinking afer kbd input [ms]
  235. ## - Argument 4: stop cursor from blinking alfer a time of inactivity [s]
  236. #blink=true:750:500:15
  237. ## Scrollbar dimensions
  238. ## - Argument 1: width [px]
  239. ## - Argument 2: minimum length [px]
  240. ## - Argument 3: hide delay [ms]
  241. ## - Argument 4: hide animation time [ms]
  242. #
  243. #scrollbar = 10:20:1500:150
  244. ## Pad screen content
  245. ## - Argument 1: Center screen content instead of aligning to top left
  246. ## - Argument 2: Blank space around content [px]
  247. #padding = true:0
  248. ## Draw links underlined even if not hovered
  249. #always-underline-links = false
  250. #=========================================[ KEYBINDINGS ]===========================================
  251. # Key names are keysym names (Case sensitive!).
  252. # see /usr/include/X11/keysymdef.h
  253. #
  254. # Modifier aliases:
  255. # Control: C, Ctrl, Control,
  256. # Alt: A, M, Alt, Meta,
  257. # Shift: S, Shift
  258. #
  259. # Examples:
  260. # Control+Shift+Alt+Super_L
  261. # M+x
  262. ## Copy to clipbord
  263. #bind-key-copy=C+S+c
  264. ## Paste from clipbord
  265. #bind-key-paste=C+S+v
  266. ## Increase font size
  267. #bind-key-enlarge=C+S+equal
  268. ## Decrease font size
  269. #bind-key-shrink=C+S+minus
  270. ## Activate unicode entry mode
  271. #bind-key-unicode=C+S+u
  272. ## Scroll up by page
  273. #bind-key-pg-up=C+S+Page_Up
  274. ## Scroll down by page
  275. #bind-key-pg-down=C+S+Page_Down
  276. ## Scroll up by line
  277. #bind-key-ln-up=C+S+Up
  278. ## Scroll down by line
  279. #bind-key-ln-down=C+S+Down
  280. ## Scroll up to previous mark or command output (requires shell integration)
  281. #bind-key-mark-up=C+S+Left
  282. ## Scroll down to next mark or command output (requires shell integration)
  283. #bind-key-mark-down=C+S+Right
  284. ## Copy last command output to clipboard (requires shell integration)
  285. #bind-key-copy-output=C+S+x
  286. ## Pipe screen content to external program
  287. #bind-key-extern-pipe=C+S+backslash
  288. ## Enter vim-like keyboard select mode
  289. #bind-key-kbd-select=C+S+k
  290. ## Open shell's working directory (set with shell integration) as URI
  291. ## By default uses xdg-open (should open your default file manager)
  292. #bind-key-open-pwd=C+S+F10
  293. ## Save screen content as HTML document
  294. #bind-key-html-dump=C+S+F12
  295. ## Open a new terminal instance in current directory
  296. #bind-key-duplicate=C+S+d
  297. ## Close terminal
  298. #bind-key-quit=C+S+q
  299. ## Print debuging information to stderr
  300. #bind-key-debug=C+S+slash
  301. #=======================================[ DEBUGING OPTIONS ]========================================
  302. ## Output pty communication to stderr
  303. #debug-pty = true
  304. ## Slow down the interpreter to usec per byte, force screen redraw after each byte.
  305. #debug-vt = 5000
  306. ## Run renderer in debug mode:
  307. ## - Partial swap regions swapped marked with red boxes (actual partial swap disabled)
  308. ## - When text proxy textures are reused old content is tinted white
  309. ## - Adds a triangle in the top left alternating visibility each frame
  310. #debug-gfx = true
  311. ## Show font information on starts
  312. #debug-font = true