mirror of
https://github.com/DreamMaoMao/maomaowm.git
synced 2026-05-02 06:46:29 -04:00
refactor(config parsing): change from if/elif chain to precalculated hash table with switch case and added caching of keysyms
this refactor marginally speeds up config parsing by targetting the 2 biggest bottlenecks, namely iterating over keysyms every time and using extremely long if/elif chains. benchmarking each command with 1000 runs: /home/duck/mango/build/mango -p (the code in this PR) Average: 4.88 ms (std dev: 1.08 ms) mango -p Average: 5.31 ms (std dev: 1.01 ms) about 1.09x faster this PR does somewhat make it harder to add new functions/options in that they need to be added to both parse_config.h in the switch case and in the appropriate .gperf file. that being said the improvements would get more noticeable as mango adds more options to its configuration. as for readability, I believe a switch case is more readable.
This commit is contained in:
parent
e83a9dff82
commit
5585128172
4 changed files with 2361 additions and 1353 deletions
19
meson.build
19
meson.build
|
|
@ -39,7 +39,7 @@ libinput_dep = dependency('libinput',version: '>=1.27.1')
|
|||
libwayland_client_dep = dependency('wayland-client')
|
||||
pcre2_dep = dependency('libpcre2-8')
|
||||
libscenefx_dep = dependency('scenefx-0.4',version: '>=0.4.1')
|
||||
|
||||
gperf = find_program('gperf', required : true)
|
||||
|
||||
# 获取版本信息
|
||||
git = find_program('git', required : false)
|
||||
|
|
@ -94,11 +94,28 @@ if get_option('asan')
|
|||
link_args += '-fsanitize=address'
|
||||
endif
|
||||
|
||||
# Generate hash files
|
||||
func_names_hash = custom_target(
|
||||
'func_names_hash',
|
||||
input: 'src/config/func_names.gperf',
|
||||
output: 'func_names_hash.h',
|
||||
command: [gperf, '@INPUT@', '--output-file', '@OUTPUT@']
|
||||
)
|
||||
|
||||
option_names_hash = custom_target(
|
||||
'option_names_hash',
|
||||
input: 'src/config/option_names.gperf',
|
||||
output: 'option_names_hash.h',
|
||||
command: [gperf, '@INPUT@', '--output-file', '@OUTPUT@']
|
||||
)
|
||||
|
||||
executable('mango',
|
||||
'src/mango.c',
|
||||
'src/common/util.c',
|
||||
'src/ext-protocol/wlr_ext_workspace_v1.c',
|
||||
wayland_sources,
|
||||
func_names_hash,
|
||||
option_names_hash,
|
||||
dependencies : [
|
||||
libm,
|
||||
xcb,
|
||||
|
|
|
|||
148
src/config/func_names.gperf
Normal file
148
src/config/func_names.gperf
Normal file
|
|
@ -0,0 +1,148 @@
|
|||
%language=ANSI-C
|
||||
%enum
|
||||
%readonly-tables
|
||||
%compare-strncmp
|
||||
%define hash-function-name func_name_hash
|
||||
%define lookup-function-name lookup_func_name
|
||||
%struct-type
|
||||
%{
|
||||
#include <string.h>
|
||||
|
||||
enum {
|
||||
FUNC_FOCUSSTACK,
|
||||
FUNC_FOCUSDIR,
|
||||
FUNC_INCNMASTER,
|
||||
FUNC_SETMFACT,
|
||||
FUNC_ZOOM,
|
||||
FUNC_EXCHANGE_CLIENT,
|
||||
FUNC_EXCHANGE_STACK_CLIENT,
|
||||
FUNC_TOGGLEGLOBAL,
|
||||
FUNC_TOGGLEOVERVIEW,
|
||||
FUNC_SET_PROPORTION,
|
||||
FUNC_SWITCH_PROPORTION_PRESET,
|
||||
FUNC_VIEWTOLEFT,
|
||||
FUNC_VIEWTORIGHT,
|
||||
FUNC_TAGSILENT,
|
||||
FUNC_TAGTOLEFT,
|
||||
FUNC_TAGTORIGHT,
|
||||
FUNC_KILLCLIENT,
|
||||
FUNC_CENTERWIN,
|
||||
FUNC_FOCUSLAST,
|
||||
FUNC_TOGGLE_TRACKPAD_ENABLE,
|
||||
FUNC_SETOPTION,
|
||||
FUNC_SETKEYMODE,
|
||||
FUNC_SWITCH_KEYBOARD_LAYOUT,
|
||||
FUNC_SETLAYOUT,
|
||||
FUNC_SWITCH_LAYOUT,
|
||||
FUNC_TOGGLEFLOATING,
|
||||
FUNC_TOGGLEFULLSCREEN,
|
||||
FUNC_TOGGLEFAKEFULLSCREEN,
|
||||
FUNC_TOGGLEOVERLAY,
|
||||
FUNC_MINIMIZED,
|
||||
FUNC_RESTORE_MINIMIZED,
|
||||
FUNC_TOGGLE_SCRATCHPAD,
|
||||
FUNC_TOGGLE_RENDER_BORDER,
|
||||
FUNC_FOCUSMON,
|
||||
FUNC_TAGMON,
|
||||
FUNC_INCGAPS,
|
||||
FUNC_TOGGLEGAPS,
|
||||
FUNC_CHVT,
|
||||
FUNC_SPAWN,
|
||||
FUNC_SPAWN_SHELL,
|
||||
FUNC_SPAWN_ON_EMPTY,
|
||||
FUNC_QUIT,
|
||||
FUNC_CREATE_VIRTUAL_OUTPUT,
|
||||
FUNC_DESTROY_ALL_VIRTUAL_OUTPUT,
|
||||
FUNC_MOVERESIZE,
|
||||
FUNC_TOGGLEMAXIMIZESCREEN,
|
||||
FUNC_VIEWTOLEFT_HAVE_CLIENT,
|
||||
FUNC_VIEWTORIGHT_HAVE_CLIENT,
|
||||
FUNC_RELOAD_CONFIG,
|
||||
FUNC_TAG,
|
||||
FUNC_VIEW,
|
||||
FUNC_VIEWCROSSMON,
|
||||
FUNC_TAGCROSSMON,
|
||||
FUNC_TOGGLETAG,
|
||||
FUNC_TOGGLEVIEW,
|
||||
FUNC_COMBOVIEW,
|
||||
FUNC_SMARTMOVEWIN,
|
||||
FUNC_SMARTRESIZEWIN,
|
||||
FUNC_RESIZEWIN,
|
||||
FUNC_MOVEWIN,
|
||||
FUNC_TOGGLE_NAMED_SCRATCHPAD,
|
||||
FUNC_DISABLE_MONITOR,
|
||||
FUNC_ENABLE_MONITOR,
|
||||
FUNC_TOGGLE_MONITOR,
|
||||
FUNC_SCROLLER_STACK,
|
||||
FUNC_TOGGLE_ALL_FLOATING,
|
||||
};
|
||||
%}
|
||||
struct func_entry { const char *name; int id; };
|
||||
%%
|
||||
focusstack, FUNC_FOCUSSTACK
|
||||
focusdir, FUNC_FOCUSDIR
|
||||
incnmaster, FUNC_INCNMASTER
|
||||
setmfact, FUNC_SETMFACT
|
||||
zoom, FUNC_ZOOM
|
||||
exchange_client, FUNC_EXCHANGE_CLIENT
|
||||
exchange_stack_client, FUNC_EXCHANGE_STACK_CLIENT
|
||||
toggleglobal, FUNC_TOGGLEGLOBAL
|
||||
toggleoverview, FUNC_TOGGLEOVERVIEW
|
||||
set_proportion, FUNC_SET_PROPORTION
|
||||
switch_proportion_preset, FUNC_SWITCH_PROPORTION_PRESET
|
||||
viewtoleft, FUNC_VIEWTOLEFT
|
||||
viewtoright, FUNC_VIEWTORIGHT
|
||||
tagsilent, FUNC_TAGSILENT
|
||||
tagtoleft, FUNC_TAGTOLEFT
|
||||
tagtoright, FUNC_TAGTORIGHT
|
||||
killclient, FUNC_KILLCLIENT
|
||||
centerwin, FUNC_CENTERWIN
|
||||
focuslast, FUNC_FOCUSLAST
|
||||
toggle_trackpad_enable, FUNC_TOGGLE_TRACKPAD_ENABLE
|
||||
setoption, FUNC_SETOPTION
|
||||
setkeymode, FUNC_SETKEYMODE
|
||||
switch_keyboard_layout, FUNC_SWITCH_KEYBOARD_LAYOUT
|
||||
setlayout, FUNC_SETLAYOUT
|
||||
switch_layout, FUNC_SWITCH_LAYOUT
|
||||
togglefloating, FUNC_TOGGLEFLOATING
|
||||
togglefullscreen, FUNC_TOGGLEFULLSCREEN
|
||||
togglefakefullscreen, FUNC_TOGGLEFAKEFULLSCREEN
|
||||
toggleoverlay, FUNC_TOGGLEOVERLAY
|
||||
minimized, FUNC_MINIMIZED
|
||||
restore_minimized, FUNC_RESTORE_MINIMIZED
|
||||
toggle_scratchpad, FUNC_TOGGLE_SCRATCHPAD
|
||||
toggle_render_border, FUNC_TOGGLE_RENDER_BORDER
|
||||
focusmon, FUNC_FOCUSMON
|
||||
tagmon, FUNC_TAGMON
|
||||
incgaps, FUNC_INCGAPS
|
||||
togglegaps, FUNC_TOGGLEGAPS
|
||||
chvt, FUNC_CHVT
|
||||
spawn, FUNC_SPAWN
|
||||
spawn_shell, FUNC_SPAWN_SHELL
|
||||
spawn_on_empty, FUNC_SPAWN_ON_EMPTY
|
||||
quit, FUNC_QUIT
|
||||
create_virtual_output, FUNC_CREATE_VIRTUAL_OUTPUT
|
||||
destroy_all_virtual_output, FUNC_DESTROY_ALL_VIRTUAL_OUTPUT
|
||||
moveresize, FUNC_MOVERESIZE
|
||||
togglemaximizescreen, FUNC_TOGGLEMAXIMIZESCREEN
|
||||
viewtoleft_have_client, FUNC_VIEWTOLEFT_HAVE_CLIENT
|
||||
viewtoright_have_client, FUNC_VIEWTORIGHT_HAVE_CLIENT
|
||||
reload_config, FUNC_RELOAD_CONFIG
|
||||
tag, FUNC_TAG
|
||||
view, FUNC_VIEW
|
||||
viewcrossmon, FUNC_VIEWCROSSMON
|
||||
tagcrossmon, FUNC_TAGCROSSMON
|
||||
toggletag, FUNC_TOGGLETAG
|
||||
toggleview, FUNC_TOGGLEVIEW
|
||||
comboview, FUNC_COMBOVIEW
|
||||
smartmovewin, FUNC_SMARTMOVEWIN
|
||||
smartresizewin, FUNC_SMARTRESIZEWIN
|
||||
resizewin, FUNC_RESIZEWIN
|
||||
movewin, FUNC_MOVEWIN
|
||||
toggle_named_scratchpad, FUNC_TOGGLE_NAMED_SCRATCHPAD
|
||||
disable_monitor, FUNC_DISABLE_MONITOR
|
||||
enable_monitor, FUNC_ENABLE_MONITOR
|
||||
toggle_monitor, FUNC_TOGGLE_MONITOR
|
||||
scroller_stack, FUNC_SCROLLER_STACK
|
||||
toggle_all_floating, FUNC_TOGGLE_ALL_FLOATING
|
||||
%%
|
||||
308
src/config/option_names.gperf
Normal file
308
src/config/option_names.gperf
Normal file
|
|
@ -0,0 +1,308 @@
|
|||
%language=ANSI-C
|
||||
%enum
|
||||
%readonly-tables
|
||||
%compare-strncmp
|
||||
%struct-type
|
||||
%define hash-function-name option_name_hash
|
||||
%define lookup-function-name lookup_option_name
|
||||
%{
|
||||
#include <string.h>
|
||||
|
||||
enum {
|
||||
OPT_KEYMODE,
|
||||
OPT_ANIMATIONS,
|
||||
OPT_LAYER_ANIMATIONS,
|
||||
OPT_ANIMATION_TYPE_OPEN,
|
||||
OPT_ANIMATION_TYPE_CLOSE,
|
||||
OPT_LAYER_ANIMATION_TYPE_OPEN,
|
||||
OPT_LAYER_ANIMATION_TYPE_CLOSE,
|
||||
OPT_ANIMATION_FADE_IN,
|
||||
OPT_ANIMATION_FADE_OUT,
|
||||
OPT_TAG_ANIMATION_DIRECTION,
|
||||
OPT_ZOOM_INITIAL_RATIO,
|
||||
OPT_ZOOM_END_RATIO,
|
||||
OPT_FADEIN_BEGIN_OPACITY,
|
||||
OPT_FADEOUT_BEGIN_OPACITY,
|
||||
OPT_ANIMATION_DURATION_MOVE,
|
||||
OPT_ANIMATION_DURATION_OPEN,
|
||||
OPT_ANIMATION_DURATION_TAG,
|
||||
OPT_ANIMATION_DURATION_CLOSE,
|
||||
OPT_ANIMATION_DURATION_FOCUS,
|
||||
OPT_ANIMATION_CURVE_MOVE,
|
||||
OPT_ANIMATION_CURVE_OPEN,
|
||||
OPT_ANIMATION_CURVE_TAG,
|
||||
OPT_ANIMATION_CURVE_CLOSE,
|
||||
OPT_ANIMATION_CURVE_FOCUS,
|
||||
OPT_ANIMATION_CURVE_OPAFADEIN,
|
||||
OPT_ANIMATION_CURVE_OPAFADEOUT,
|
||||
OPT_SCROLLER_STRUCTS,
|
||||
OPT_SCROLLER_DEFAULT_PROPORTION,
|
||||
OPT_SCROLLER_DEFAULT_PROPORTION_SINGLE,
|
||||
OPT_SCROLLER_IGNORE_PROPORTION_SINGLE,
|
||||
OPT_SCROLLER_FOCUS_CENTER,
|
||||
OPT_SCROLLER_PREFER_CENTER,
|
||||
OPT_SCROLLER_PREFER_OVERSPREAD,
|
||||
OPT_EDGE_SCROLLER_POINTER_FOCUS,
|
||||
OPT_FOCUS_CROSS_MONITOR,
|
||||
OPT_EXCHANGE_CROSS_MONITOR,
|
||||
OPT_SCRATCHPAD_CROSS_MONITOR,
|
||||
OPT_FOCUS_CROSS_TAG,
|
||||
OPT_VIEW_CURRENT_TO_BACK,
|
||||
OPT_BLUR,
|
||||
OPT_BLUR_LAYER,
|
||||
OPT_BLUR_OPTIMIZED,
|
||||
OPT_BORDER_RADIUS,
|
||||
OPT_BLUR_PARAMS_NUM_PASSES,
|
||||
OPT_BLUR_PARAMS_RADIUS,
|
||||
OPT_BLUR_PARAMS_NOISE,
|
||||
OPT_BLUR_PARAMS_BRIGHTNESS,
|
||||
OPT_BLUR_PARAMS_CONTRAST,
|
||||
OPT_BLUR_PARAMS_SATURATION,
|
||||
OPT_SHADOWS,
|
||||
OPT_SHADOW_ONLY_FLOATING,
|
||||
OPT_LAYER_SHADOWS,
|
||||
OPT_SHADOWS_SIZE,
|
||||
OPT_SHADOWS_BLUR,
|
||||
OPT_SHADOWS_POSITION_X,
|
||||
OPT_SHADOWS_POSITION_Y,
|
||||
OPT_SINGLE_SCRATCHPAD,
|
||||
OPT_XWAYLAND_PERSISTENCE,
|
||||
OPT_SYNCOBJ_ENABLE,
|
||||
OPT_DRAG_TILE_REFRESH_INTERVAL,
|
||||
OPT_DRAG_FLOATING_REFRESH_INTERVAL,
|
||||
OPT_ALLOW_TEARING,
|
||||
OPT_ALLOW_SHORTCUTS_INHIBIT,
|
||||
OPT_ALLOW_LOCK_TRANSPARENT,
|
||||
OPT_NO_BORDER_WHEN_SINGLE,
|
||||
OPT_NO_RADIUS_WHEN_SINGLE,
|
||||
OPT_SNAP_DISTANCE,
|
||||
OPT_ENABLE_FLOATING_SNAP,
|
||||
OPT_DRAG_TILE_TO_TILE,
|
||||
OPT_SWIPE_MIN_THRESHOLD,
|
||||
OPT_FOCUSED_OPACITY,
|
||||
OPT_UNFOCUSED_OPACITY,
|
||||
OPT_XKB_RULES_RULES,
|
||||
OPT_XKB_RULES_MODEL,
|
||||
OPT_XKB_RULES_LAYOUT,
|
||||
OPT_XKB_RULES_VARIANT,
|
||||
OPT_XKB_RULES_OPTIONS,
|
||||
OPT_SCROLLER_PROPORTION_PRESET,
|
||||
OPT_CIRCLE_LAYOUT,
|
||||
OPT_NEW_IS_MASTER,
|
||||
OPT_DEFAULT_MFACT,
|
||||
OPT_DEFAULT_NMASTER,
|
||||
OPT_CENTER_MASTER_OVERSPREAD,
|
||||
OPT_CENTER_WHEN_SINGLE_STACK,
|
||||
OPT_HOTAREA_SIZE,
|
||||
OPT_HOTAREA_CORNER,
|
||||
OPT_ENABLE_HOTAREA,
|
||||
OPT_OV_TAB_MODE,
|
||||
OPT_OVERVIEWGAPPI,
|
||||
OPT_OVERVIEWGAPPO,
|
||||
OPT_CURSOR_HIDE_TIMEOUT,
|
||||
OPT_AXIS_BIND_APPLY_TIMEOUT,
|
||||
OPT_FOCUS_ON_ACTIVATE,
|
||||
OPT_NUMLOCKON,
|
||||
OPT_IDLEINHIBIT_IGNORE_VISIBLE,
|
||||
OPT_SLOPPYFOCUS,
|
||||
OPT_WARPCURSOR,
|
||||
OPT_DRAG_CORNER,
|
||||
OPT_DRAG_WARP_CURSOR,
|
||||
OPT_SMARTGAPS,
|
||||
OPT_REPEAT_RATE,
|
||||
OPT_REPEAT_DELAY,
|
||||
OPT_DISABLE_TRACKPAD,
|
||||
OPT_TAP_TO_CLICK,
|
||||
OPT_TAP_AND_DRAG,
|
||||
OPT_DRAG_LOCK,
|
||||
OPT_MOUSE_NATURAL_SCROLLING,
|
||||
OPT_TRACKPAD_NATURAL_SCROLLING,
|
||||
OPT_CURSOR_SIZE,
|
||||
OPT_CURSOR_THEME,
|
||||
OPT_DISABLE_WHILE_TYPING,
|
||||
OPT_LEFT_HANDED,
|
||||
OPT_MIDDLE_BUTTON_EMULATION,
|
||||
OPT_ACCEL_PROFILE,
|
||||
OPT_ACCEL_SPEED,
|
||||
OPT_SCROLL_METHOD,
|
||||
OPT_SCROLL_BUTTON,
|
||||
OPT_CLICK_METHOD,
|
||||
OPT_SEND_EVENTS_MODE,
|
||||
OPT_BUTTON_MAP,
|
||||
OPT_AXIS_SCROLL_FACTOR,
|
||||
OPT_GAPPIH,
|
||||
OPT_GAPPIV,
|
||||
OPT_GAPPOH,
|
||||
OPT_GAPPOV,
|
||||
OPT_SCRATCHPAD_WIDTH_RATIO,
|
||||
OPT_SCRATCHPAD_HEIGHT_RATIO,
|
||||
OPT_BORDERPX,
|
||||
OPT_ROOTCOLOR,
|
||||
OPT_SHADOWSCOLOR,
|
||||
OPT_BORDERCOLOR,
|
||||
OPT_FOCUSCOLOR,
|
||||
OPT_MAXIMIZESCREENCOLOR,
|
||||
OPT_URGENTCOLOR,
|
||||
OPT_SCRATCHPADCOLOR,
|
||||
OPT_GLOBALCOLOR,
|
||||
OPT_OVERLAYCOLOR,
|
||||
OPT_MONITORRULE,
|
||||
OPT_TAGRULE,
|
||||
OPT_LAYERRULE,
|
||||
OPT_WINDOWRULE,
|
||||
OPT_ENV,
|
||||
OPT_EXEC,
|
||||
OPT_EXEC_ONCE,
|
||||
OPT_SOURCE_OPTIONAL,
|
||||
OPT_SOURCE,
|
||||
};
|
||||
%}
|
||||
struct option_entry { const char *name; int id; };
|
||||
%%
|
||||
keymode, OPT_KEYMODE
|
||||
animations, OPT_ANIMATIONS
|
||||
layer_animations, OPT_LAYER_ANIMATIONS
|
||||
animation_type_open, OPT_ANIMATION_TYPE_OPEN
|
||||
animation_type_close, OPT_ANIMATION_TYPE_CLOSE
|
||||
layer_animation_type_open, OPT_LAYER_ANIMATION_TYPE_OPEN
|
||||
layer_animation_type_close, OPT_LAYER_ANIMATION_TYPE_CLOSE
|
||||
animation_fade_in, OPT_ANIMATION_FADE_IN
|
||||
animation_fade_out, OPT_ANIMATION_FADE_OUT
|
||||
tag_animation_direction, OPT_TAG_ANIMATION_DIRECTION
|
||||
zoom_initial_ratio, OPT_ZOOM_INITIAL_RATIO
|
||||
zoom_end_ratio, OPT_ZOOM_END_RATIO
|
||||
fadein_begin_opacity, OPT_FADEIN_BEGIN_OPACITY
|
||||
fadeout_begin_opacity, OPT_FADEOUT_BEGIN_OPACITY
|
||||
animation_duration_move, OPT_ANIMATION_DURATION_MOVE
|
||||
animation_duration_open, OPT_ANIMATION_DURATION_OPEN
|
||||
animation_duration_tag, OPT_ANIMATION_DURATION_TAG
|
||||
animation_duration_close, OPT_ANIMATION_DURATION_CLOSE
|
||||
animation_duration_focus, OPT_ANIMATION_DURATION_FOCUS
|
||||
animation_curve_move, OPT_ANIMATION_CURVE_MOVE
|
||||
animation_curve_open, OPT_ANIMATION_CURVE_OPEN
|
||||
animation_curve_tag, OPT_ANIMATION_CURVE_TAG
|
||||
animation_curve_close, OPT_ANIMATION_CURVE_CLOSE
|
||||
animation_curve_focus, OPT_ANIMATION_CURVE_FOCUS
|
||||
animation_curve_opafadein, OPT_ANIMATION_CURVE_OPAFADEIN
|
||||
animation_curve_opafadeout, OPT_ANIMATION_CURVE_OPAFADEOUT
|
||||
scroller_structs, OPT_SCROLLER_STRUCTS
|
||||
scroller_default_proportion, OPT_SCROLLER_DEFAULT_PROPORTION
|
||||
scroller_default_proportion_single, OPT_SCROLLER_DEFAULT_PROPORTION_SINGLE
|
||||
scroller_ignore_proportion_single, OPT_SCROLLER_IGNORE_PROPORTION_SINGLE
|
||||
scroller_focus_center, OPT_SCROLLER_FOCUS_CENTER
|
||||
scroller_prefer_center, OPT_SCROLLER_PREFER_CENTER
|
||||
scroller_prefer_overspread, OPT_SCROLLER_PREFER_OVERSPREAD
|
||||
edge_scroller_pointer_focus, OPT_EDGE_SCROLLER_POINTER_FOCUS
|
||||
focus_cross_monitor, OPT_FOCUS_CROSS_MONITOR
|
||||
exchange_cross_monitor, OPT_EXCHANGE_CROSS_MONITOR
|
||||
scratchpad_cross_monitor, OPT_SCRATCHPAD_CROSS_MONITOR
|
||||
focus_cross_tag, OPT_FOCUS_CROSS_TAG
|
||||
view_current_to_back, OPT_VIEW_CURRENT_TO_BACK
|
||||
blur, OPT_BLUR
|
||||
blur_layer, OPT_BLUR_LAYER
|
||||
blur_optimized, OPT_BLUR_OPTIMIZED
|
||||
border_radius, OPT_BORDER_RADIUS
|
||||
blur_params_num_passes, OPT_BLUR_PARAMS_NUM_PASSES
|
||||
blur_params_radius, OPT_BLUR_PARAMS_RADIUS
|
||||
blur_params_noise, OPT_BLUR_PARAMS_NOISE
|
||||
blur_params_brightness, OPT_BLUR_PARAMS_BRIGHTNESS
|
||||
blur_params_contrast, OPT_BLUR_PARAMS_CONTRAST
|
||||
blur_params_saturation, OPT_BLUR_PARAMS_SATURATION
|
||||
shadows, OPT_SHADOWS
|
||||
shadow_only_floating, OPT_SHADOW_ONLY_FLOATING
|
||||
layer_shadows, OPT_LAYER_SHADOWS
|
||||
shadows_size, OPT_SHADOWS_SIZE
|
||||
shadows_blur, OPT_SHADOWS_BLUR
|
||||
shadows_position_x, OPT_SHADOWS_POSITION_X
|
||||
shadows_position_y, OPT_SHADOWS_POSITION_Y
|
||||
single_scratchpad, OPT_SINGLE_SCRATCHPAD
|
||||
xwayland_persistence, OPT_XWAYLAND_PERSISTENCE
|
||||
syncobj_enable, OPT_SYNCOBJ_ENABLE
|
||||
drag_tile_refresh_interval, OPT_DRAG_TILE_REFRESH_INTERVAL
|
||||
drag_floating_refresh_interval, OPT_DRAG_FLOATING_REFRESH_INTERVAL
|
||||
allow_tearing, OPT_ALLOW_TEARING
|
||||
allow_shortcuts_inhibit, OPT_ALLOW_SHORTCUTS_INHIBIT
|
||||
allow_lock_transparent, OPT_ALLOW_LOCK_TRANSPARENT
|
||||
no_border_when_single, OPT_NO_BORDER_WHEN_SINGLE
|
||||
no_radius_when_single, OPT_NO_RADIUS_WHEN_SINGLE
|
||||
snap_distance, OPT_SNAP_DISTANCE
|
||||
enable_floating_snap, OPT_ENABLE_FLOATING_SNAP
|
||||
drag_tile_to_tile, OPT_DRAG_TILE_TO_TILE
|
||||
swipe_min_threshold, OPT_SWIPE_MIN_THRESHOLD
|
||||
focused_opacity, OPT_FOCUSED_OPACITY
|
||||
unfocused_opacity, OPT_UNFOCUSED_OPACITY
|
||||
xkb_rules_rules, OPT_XKB_RULES_RULES
|
||||
xkb_rules_model, OPT_XKB_RULES_MODEL
|
||||
xkb_rules_layout, OPT_XKB_RULES_LAYOUT
|
||||
xkb_rules_variant, OPT_XKB_RULES_VARIANT
|
||||
xkb_rules_options, OPT_XKB_RULES_OPTIONS
|
||||
scroller_proportion_preset, OPT_SCROLLER_PROPORTION_PRESET
|
||||
circle_layout, OPT_CIRCLE_LAYOUT
|
||||
new_is_master, OPT_NEW_IS_MASTER
|
||||
default_mfact, OPT_DEFAULT_MFACT
|
||||
default_nmaster, OPT_DEFAULT_NMASTER
|
||||
center_master_overspread, OPT_CENTER_MASTER_OVERSPREAD
|
||||
center_when_single_stack, OPT_CENTER_WHEN_SINGLE_STACK
|
||||
hotarea_size, OPT_HOTAREA_SIZE
|
||||
hotarea_corner, OPT_HOTAREA_CORNER
|
||||
enable_hotarea, OPT_ENABLE_HOTAREA
|
||||
ov_tab_mode, OPT_OV_TAB_MODE
|
||||
overviewgappi, OPT_OVERVIEWGAPPI
|
||||
overviewgappo, OPT_OVERVIEWGAPPO
|
||||
cursor_hide_timeout, OPT_CURSOR_HIDE_TIMEOUT
|
||||
axis_bind_apply_timeout, OPT_AXIS_BIND_APPLY_TIMEOUT
|
||||
focus_on_activate, OPT_FOCUS_ON_ACTIVATE
|
||||
numlockon, OPT_NUMLOCKON
|
||||
idleinhibit_ignore_visible, OPT_IDLEINHIBIT_IGNORE_VISIBLE
|
||||
sloppyfocus, OPT_SLOPPYFOCUS
|
||||
warpcursor, OPT_WARPCURSOR
|
||||
drag_corner, OPT_DRAG_CORNER
|
||||
drag_warp_cursor, OPT_DRAG_WARP_CURSOR
|
||||
smartgaps, OPT_SMARTGAPS
|
||||
repeat_rate, OPT_REPEAT_RATE
|
||||
repeat_delay, OPT_REPEAT_DELAY
|
||||
disable_trackpad, OPT_DISABLE_TRACKPAD
|
||||
tap_to_click, OPT_TAP_TO_CLICK
|
||||
tap_and_drag, OPT_TAP_AND_DRAG
|
||||
drag_lock, OPT_DRAG_LOCK
|
||||
mouse_natural_scrolling, OPT_MOUSE_NATURAL_SCROLLING
|
||||
trackpad_natural_scrolling, OPT_TRACKPAD_NATURAL_SCROLLING
|
||||
cursor_size, OPT_CURSOR_SIZE
|
||||
cursor_theme, OPT_CURSOR_THEME
|
||||
disable_while_typing, OPT_DISABLE_WHILE_TYPING
|
||||
left_handed, OPT_LEFT_HANDED
|
||||
middle_button_emulation, OPT_MIDDLE_BUTTON_EMULATION
|
||||
accel_profile, OPT_ACCEL_PROFILE
|
||||
accel_speed, OPT_ACCEL_SPEED
|
||||
scroll_method, OPT_SCROLL_METHOD
|
||||
scroll_button, OPT_SCROLL_BUTTON
|
||||
click_method, OPT_CLICK_METHOD
|
||||
send_events_mode, OPT_SEND_EVENTS_MODE
|
||||
button_map, OPT_BUTTON_MAP
|
||||
axis_scroll_factor, OPT_AXIS_SCROLL_FACTOR
|
||||
gappih, OPT_GAPPIH
|
||||
gappiv, OPT_GAPPIV
|
||||
gappoh, OPT_GAPPOH
|
||||
gappov, OPT_GAPPOV
|
||||
scratchpad_width_ratio, OPT_SCRATCHPAD_WIDTH_RATIO
|
||||
scratchpad_height_ratio, OPT_SCRATCHPAD_HEIGHT_RATIO
|
||||
borderpx, OPT_BORDERPX
|
||||
rootcolor, OPT_ROOTCOLOR
|
||||
shadowscolor, OPT_SHADOWSCOLOR
|
||||
bordercolor, OPT_BORDERCOLOR
|
||||
focuscolor, OPT_FOCUSCOLOR
|
||||
maximizescreencolor, OPT_MAXIMIZESCREENCOLOR
|
||||
urgentcolor, OPT_URGENTCOLOR
|
||||
scratchpadcolor, OPT_SCRATCHPADCOLOR
|
||||
globalcolor, OPT_GLOBALCOLOR
|
||||
overlaycolor, OPT_OVERLAYCOLOR
|
||||
monitorrule, OPT_MONITORRULE
|
||||
tagrule, OPT_TAGRULE
|
||||
layerrule, OPT_LAYERRULE
|
||||
windowrule, OPT_WINDOWRULE
|
||||
env, OPT_ENV
|
||||
exec, OPT_EXEC
|
||||
exec-once, OPT_EXEC_ONCE
|
||||
source-optional, OPT_SOURCE_OPTIONAL
|
||||
source, OPT_SOURCE
|
||||
%%
|
||||
File diff suppressed because it is too large
Load diff
Loading…
Add table
Add a link
Reference in a new issue