.description="make the blur layer ignore the opacity of the window",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="blur:new_optimizations",
.description="whether to enable further optimizations to the blur. Recommended to leave on, as it will massively improve performance.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="blur:xray",
.description="if enabled, floating windows will ignore tiled windows in their blur. Only available if blur_new_optimizations is true. Will reduce overhead on floating "
"blur significantly.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="blur:noise",
.description="how much noise to apply. [0.0 - 1.0]",
.description="Determines how keybinds act when multiple layouts are used. If false, keybinds will always act as if the first specified layout is active. If true, "
"keybinds specified by symbols are activated when you type the respective symbol with the current layout.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:repeat_rate",
.description="The repeat rate for held-down keys, in repeats per second.",
.description="Sets the cursor acceleration profile. Can be one of adaptive, flat. Can also be custom, see below. Leave empty to use libinput's default mode for your "
.description="Force no cursor acceleration. This bypasses most of your pointer settings to get as raw of a signal as possible. Enabling this is not recommended due to "
"potential cursor desynchronization.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:left_handed",
.description="Switches RMB and LMB",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:scroll_points",
.description="Sets the scroll acceleration profile, when accel_profile is set to custom. Has to be in the form <step> <points>. Leave empty to have a flat scroll curve.",
.description="If the scroll button lock is enabled, the button does not need to be held down. Pressing and releasing the button toggles the button lock, which logically "
"holds the button down or releases it. While the button is logically held down, motion events are converted to scroll events.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:scroll_factor",
.description="Multiplier added to scroll movement for external mice. Note that there is a separate setting for touchpad scroll_factor.",
.description="Controls the window focus behavior when a window is closed. When set to 0, focus will shift to the next window candidate. When set to 1, focus will shift "
.description="if disabled, mouse focus won't switch to the hovered window unless the mouse crosses a window boundary when follow_mouse=1.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="input:float_switch_override_focus",
.description="If enabled (1 or 2), focus will change to the window under the cursor when changing from tiled-to-floating and vice versa. If 2, focus will also follow "
.description="Emulates discrete scrolling from high resolution scrolling events. 0 disables it, 1 enables handling of non-standard events only, and 2 force enables all "
"Sending LMB and RMB simultaneously will be interpreted as a middle click. This disables any touchpad area that would normally send a middle click based on location.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:touchpad:tap_button_map",
.description="Sets the tap button mapping for touchpad button emulation. Can be one of lrm (default) or lmr (Left, Middle, Right Buttons). [lrm/lmr]",
"Button presses with 1, 2, or 3 fingers will be mapped to LMB, RMB, and MMB respectively. This disables interpretation of clicks based on location on the touchpad.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:touchpad:tap-to-click",
.description="Tapping on the touchpad with 1, 2, or 3 fingers will send LMB, RMB, and MMB respectively.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="input:touchpad:drag_lock",
.description="When enabled, lifting the finger off for a short time while dragging will not drop the dragged item.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="input:touchpad:tap-and-drag",
.description="Sets the tap and drag mode for the touchpad",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
/*
*input:touchdevice:
*/
SConfigOptionDescription{
.value="input:touchdevice:transform",
.description="Transform the input from touchdevices. The possible transformations are the same as those of the monitors",
.description="whether dragging a window into a unlocked group will merge them. Options: 0 (disabled), 1 (enabled), 2 (only when dragging into the groupbar)",
.type=CONFIG_OPTION_CHOICE,
.data=SConfigOptionDescription::SChoiceData{0,"disabled,enabled,only when dragging into the groupbar"},
.description="Set the global default font to render the text including debug fps/notification, config error messages and etc., selected from system fonts.",
.description="If DPMS is set to off, wake up the monitors if the mouse move",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="misc:key_press_enables_dpms",
.description="If DPMS is set to off, wake up the monitors if a key is pressed.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="misc:always_follow_on_dnd",
.description="Will make mouse focus follow the mouse when drag and dropping. Recommended to leave it enabled, especially for people using focus follows mouse at 0.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="misc:layers_hog_keyboard_focus",
.description="If true, will make keyboard-interactive layers keep their focus on mouse move (e.g. wofi, bemenu)",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="misc:animate_manual_resizes",
.description="If true, will animate manual window resizes/moves",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="misc:animate_mouse_windowdragging",
.description="If true, will animate windows being dragged by mouse, note that this can cause weird behavior on some curves",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="misc:disable_autoreload",
.description="If true, the config will not reload automatically on save, and instead needs to be reloaded with hyprctl reload. Might save on battery.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="misc:enable_swallow",
.description="Enable window swallowing",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="misc:swallow_regex",
.description=
"The class regex to be used for windows that should be swallowed (usually, a terminal). To know more about the list of regex which can be used use this cheatsheet.",
.description="The title regex to be used for windows that should not be swallowed by the windows specified in swallow_regex (e.g. wev). The regex is matched against the "
"parent (e.g. Kitty) window’s title on the assumption that it changes to whatever process it’s running.",
.description="close the special workspace if the last window is removed",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="misc:new_window_takes_over_fullscreen",
.description="if there is a fullscreen or maximized window, decide whether a new tiled window opened should replace it, stay behind or disable the fullscreen/maximized "
.description="If enabled, an attempt to switch to the currently focused workspace will instead switch to the previous workspace. Akin to i3’s auto_back_and_forth.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="binds:allow_workspace_cycles",
.description="If enabled, workspaces don’t forget their previous workspace, so cycles can be created by switching to the first workspace in a sequence, then endlessly "
"going to the previous workspace.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="binds:workspace_center_on",
.description="Whether switching workspaces should center the cursor on the workspace (0) or on the last active window for that workspace (1)",
.description="sets the preferred focus finding method when using focuswindow/movewindow/etc with a direction. 0 - history (recent have priority), 1 - length (longer "
.description="uses the nearest neighbor filtering for xwayland apps, making them pixelated rather than blurry",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="xwayland:force_zero_scaling",
.description="forces a scale of 1 on xwayland windows on scaled displays.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
/*
*opengl:
*/
SConfigOptionDescription{
.value="opengl:nvidia_anti_flicker",
.description="reduces flickering on nvidia at the cost of possible frame drops on lower-end GPUs. On non-nvidia, this is ignored.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="opengl:force_introspection",
.description="forces introspection at all times. Introspection is aimed at reducing GPU usage in certain cases, but might cause graphical glitches on nvidia. 0 - "
"nothing, 1 - force always on, 2 - force always on if nvidia",
.description="Whether to enable explicit sync support for the KMS layer. Requires explicit_sync to be enabled. 0 - no, 1 - yes, 2 - auto based on the gpu driver",
.description="Enables direct scanout. Direct scanout attempts to reduce lag when there is only one fullscreen application on a screen (e.g. game). It is also "
"recommended to set this to false if the fullscreen application shows graphical glitches.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
/*
*cursor:
*/
SConfigOptionDescription{
.value="cursor:use_nearest_neighbor",
.description="sync xcursor theme with gsettings, it applies cursor-theme and cursor-size on theme load to gsettings making most CSD gtk based clients use same xcursor "
"theme and size.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="cursor:no_hardware_cursors",
.description="disables hardware cursors",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="cursor:no_break_fs_vrr",
.description="disables scheduling new frames on cursor movement for fullscreen apps with VRR enabled to avoid framerate spikes (requires no_hardware_cursors = true)",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="cursor:min_refresh_rate",
.description="minimum refresh rate for cursor movement when no_break_fs_vrr is active. Set to minimum supported refresh rate or higher",
.description="enable pseudotiling. Pseudotiled windows retain their floating size when tiled.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="dwindle:force_split",
.description="0 -> split follows mouse, 1 -> always split to the left (new = left or top) 2 -> always split to the right (new = right or bottom)",
.type=CONFIG_OPTION_CHOICE,
.data=SConfigOptionDescription::SChoiceData{0,"follow mouse,left or top,right or bottom"},
},
SConfigOptionDescription{
.value="dwindle:preserve_split",
.description="if enabled, the split (side/top) will not change regardless of what happens to the container.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="dwindle:smart_split",
.description="if enabled, allows a more precise control over the window split direction based on the cursor's position. The window is conceptually divided into four "
"triangles, and cursor's triangle determines the split direction. This feature also turns on preserve_split.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="dwindle:smart_resizing",
.description=
"if enabled, resizing direction will be determined by the mouse's position on the window (nearest to which corner). Else, it is based on the window's tiling position.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="dwindle:permanent_direction_override",
.description="if enabled, makes the preselect direction persist until either this mode is turned off, another direction is specified, or a non-direction is specified "
"(anything other than l,r,u/t,d/b)",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="dwindle:special_scale_factor",
.description="specifies the scale factor of windows on the special workspace [0 - 1]",
.description="whether to apply gaps when there is only one window on a workspace, aka. smart gaps. (default: disabled - 0) no border - 1, with border - 2 [0/1/2]",
"the size as a percentage of the master window, for example `mfact = 0.70` would mean 70% of the screen will be the master window, and 30% the slave [0.0 - 1.0]",
.description="whether to apply gaps when there is only one window on a workspace, aka. smart gaps. (default: disabled - 0) no border - 1, with border - 2 [0/1/2]",
.description="inherit fullscreen status when cycling/swapping to another window (e.g. monocle layout)",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="master:always_center_master",
.description="when using orientation=center, keep the master window centered, even when it is the only window in the workspace.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{false},
},
SConfigOptionDescription{
.value="master:smart_resizing",
.description=
"if enabled, resizing direction will be determined by the mouse's position on the window (nearest to which corner). Else, it is based on the window's tiling position.",
.type=CONFIG_OPTION_BOOL,
.data=SConfigOptionDescription::SBoolData{true},
},
SConfigOptionDescription{
.value="master:drop_at_cursor",
.description="when enabled, dragging and dropping windows will put them at the cursor position. Otherwise, when dropped at the stack side, they will go to the "
"top/bottom of the stack depending on new_on_top.",