# Default config for tofi
#
# Copy this file to ~/.config/tofi/config and get customising!
#
# A complete reference of available options can be found in `man 5 tofi`.

#
### Fonts
#
	# Font to use, either a path to a font file or a name.
	#
	# If a path is given, tofi will startup much quicker, but any
	# characters not in the chosen font will fail to render.
	#
	# Otherwise, fonts are interpreted in Pango format.
	font = "Sans"

	# Point size of text.
	font-size = 24

	# Comma separated list of OpenType font feature settings to apply,
	# if supported by the chosen font. The format is similar to the CSS
	# "font-feature-settings" property.
	#
	# Examples:
	#
	# font-features = "smcp, c2sc" (all small caps)
	# font-features = "liga 0" (disable ligatures)
	font-features = ""

	# Comma separated list of OpenType font variation settings to apply
	# to variable fonts. The format is similar to the CSS
	# "font-variation-settings" property.
	#
	# Examples:
	#
	# font-variations = "wght 900" (Extra bold)
	# font-variations = "wdth 25, slnt -10" (Narrow and slanted)
	font-variations = ""

	# Perform font hinting. Only applies when a path to a font has been
	# specified via `font`. Disabling font hinting speeds up text
	# rendering appreciably, but will likely look poor at small font pixel
	# sizes.
	hint-font = true

#
### Text theming
#
	# Default text color
	#
	# All text defaults to this color if not otherwise specified.
	text-color = #FFFFFF

	# All pieces of text have the same theming attributes available:
	#
	# *-color
	#     Foreground color
	#
	# *-background
	#     Background color
	#
	# *-background-padding
	#     Background padding in pixels (comma-delimited, CSS-style list).
	#     See "DIRECTIONAL VALUES" under `man 5 tofi` for more info.
	#
	# *-background-corner-radius
	#     Radius of background box corners in pixels

	# Prompt text theme
	# prompt-color = #FFFFFF
	prompt-background = #00000000
	prompt-background-padding = 0
	prompt-background-corner-radius = 0

	# Placeholder text theme
	placeholder-color = #FFFFFFA8
	placeholder-background = #00000000
	placeholder-background-padding = 0
	placeholder-background-corner-radius = 0

	# Input text theme
	# input-color = #FFFFFF
	input-background = #00000000
	input-background-padding = 0
	input-background-corner-radius = 0

	# Default result text theme
	# default-result-color = #FFFFFF
	default-result-background = #00000000
	default-result-background-padding = 0
	default-result-background-corner-radius = 0

	# Alternate (even-numbered) result text theme
	#
	# If unspecified, these all default to the corresponding
	# default-result-* attribute.
	#
	# alternate-result-color = #FFFFFF
	# alternate-result-background = #00000000
	# alternate-result-background-padding = 0
	# alternate-result-background-corner-radius = 0

	# Selection text
	selection-color = #F92672
	selection-background = #00000000
	selection-background-padding = 0
	selection-background-corner-radius = 0

	# Matching portion of selection text
	selection-match-color = #00000000

#
### Text layout
#
	# Prompt to display.
	prompt-text = "run: "

	# Extra horizontal padding between prompt and input.
	prompt-padding = 0

	# Placeholder input text.
	placeholder-text = ""

	# Maximum number of results to display.
	# If 0, tofi will draw as many results as it can fit in the window.
	num-results = 0

	# Spacing between results in pixels. Can be negative.
	result-spacing = 0

	# List results horizontally.
	horizontal = false

	# Minimum width of input in horizontal mode.
	min-input-width = 0

#
### Window theming
#
	# Width and height of the window. Can be pixels or a percentage.
	width = 1280
	height = 720

	# Window background color
	background-color = #1B1D1E

	# Width of the border outlines in pixels.
	outline-width = 4

	# Border outline color
	outline-color = #080800

	# Width of the border in pixels.
	border-width = 12

	# Border color
	border-color = #F92672

	# Radius of window corners in pixels.
	corner-radius = 0

	# Padding between borders and text. Can be pixels or a percentage.
	padding-top = 8
	padding-bottom = 8
	padding-left = 8
	padding-right = 8

	# Whether to clip text drawing to be within the specified padding. This
	# is mostly important for allowing text to be inset from the border,
	# while still allowing text backgrounds to reach right to the edge.
	clip-to-padding = true

	# Whether to scale the window by the output's scale factor.
	scale = true

#
### Window positioning
#
	# The name of the output to appear on. An empty string will use the
	# default output chosen by the compositor.
	output = ""

	# Location on screen to anchor the window to.
	#
	# Supported values: top-left, top, top-right, right, bottom-right,
	# bottom, bottom-left, left, center.
	anchor = center

	# Set the size of the exclusive zone.
	#
	# A value of -1 means ignore exclusive zones completely.
	# A value of 0 will move tofi out of the way of other windows' zones.
	# A value greater than 0 will set that much space as an exclusive zone.
	#
	# Values greater than 0 are only meaningful when tofi is anchored to a
	# single edge.
	exclusive-zone = -1

	# Window offset from edge of screen. Only has an effect when anchored
	# to the relevant edge. Can be pixels or a percentage.
	margin-top = 0
	margin-bottom = 0
	margin-left = 0
	margin-right = 0

#
### Behaviour
#
	# Hide the cursor.
	hide-cursor = false

	# Sort results by number of usages in run and drun modes.
	history = true

	# Specify an alternate file to read and store history information
	# from / to. This shouldn't normally be needed, and is intended to
	# facilitate the creation of custom modes.
	# history-file = /path/to/histfile

	# Use fuzzy matching for searches.
	fuzzy-match = false

	# If true, require a match to allow a selection to be made. If false,
	# making a selection with no matches will print input to stdout.
	# In drun mode, this is always true.
	require-match = true

	# If true, typed input will be hidden, and what is displayed (if
	# anything) is determined by the hidden-character option.
	hide-input = false

	# Replace displayed input characters with a character. If the empty
	# string is given, input will be completely hidden.
	# This option only has an effect when hide-input is set to true.
	hidden-character = "*"

	# If true, directly launch applications on selection when in drun mode.
	# Otherwise, just print the command line to stdout.
	drun-launch = false

	# The terminal to run terminal programs in when in drun mode.
	# This option has no effect if drun-launch is set to true.
	# Defaults to the value of the TERMINAL environment variable.
	# terminal = foot

	# Delay keyboard initialisation until after the first draw to screen.
	# This option is experimental, and will cause tofi to miss keypresses
	# for a short time after launch. The only reason to use this option is
	# performance on slow systems.
	late-keyboard-init = false

	# If true, allow multiple simultaneous processes.
	# If false, create a lock file on startup to prevent multiple instances
	# from running simultaneously.
	multi-instance = false

	# Assume input is plain ASCII, and disable some Unicode handling
	# functions. This is faster, but means e.g. a search for "e" will not
	# match "é".
	ascii-input = false

#
### Inclusion
#
	# Configs can be split between multiple files, and then included
	# within each other.
	# include = /path/to/config
