diff --git a/fuzzel/.config/fuzzel/fuzzel.ini b/fuzzel/.config/fuzzel/fuzzel.ini deleted file mode 100644 index 45de129..0000000 --- a/fuzzel/.config/fuzzel/fuzzel.ini +++ /dev/null @@ -1,21 +0,0 @@ -font=Iosevka Nerd Font:size=10 -dpi-aware=yes -width=30 - -[colors] -background=1e1e2eff -text=cdd6f4ff -match=f5c2e7ff -selection=45475aff -selection-text=cdd6f4ff -border=f5c2e7ff - -[border] -width=2 -radius=0 - -[key-bindings] -next=none -next-with-wrap=Control+n -prev=none -prev-with-wrap=Control+p diff --git a/kitty/.config/kitty/current-theme.conf b/kitty/.config/kitty/current-theme.conf deleted file mode 100644 index 2533db7..0000000 --- a/kitty/.config/kitty/current-theme.conf +++ /dev/null @@ -1,80 +0,0 @@ -# vim:ft=kitty - -## name: Catppuccin-Mocha -## author: Pocco81 (https://github.com/Pocco81) -## license: MIT -## upstream: https://github.com/catppuccin/kitty/blob/main/mocha.conf -## blurb: Soothing pastel theme for the high-spirited! - - - -# The basic colors -foreground #CDD6F4 -background #1E1E2E -selection_foreground #1E1E2E -selection_background #F5E0DC - -# Cursor colors -cursor #F5E0DC -cursor_text_color #1E1E2E - -# URL underline color when hovering with mouse -url_color #F5E0DC - -# Kitty window border colors -active_border_color #B4BEFE -inactive_border_color #6C7086 -bell_border_color #F9E2AF - -# OS Window titlebar colors -wayland_titlebar_color system -macos_titlebar_color system - -# Tab bar colors -active_tab_foreground #11111B -active_tab_background #CBA6F7 -inactive_tab_foreground #CDD6F4 -inactive_tab_background #181825 -tab_bar_background #11111B - -# Colors for marks (marked text in the terminal) -mark1_foreground #1E1E2E -mark1_background #B4BEFE -mark2_foreground #1E1E2E -mark2_background #CBA6F7 -mark3_foreground #1E1E2E -mark3_background #74C7EC - -# The 16 terminal colors - -# black -color0 #45475A -color8 #585B70 - -# red -color1 #F38BA8 -color9 #F38BA8 - -# green -color2 #A6E3A1 -color10 #A6E3A1 - -# yellow -color3 #F9E2AF -color11 #F9E2AF - -# blue -color4 #89B4FA -color12 #89B4FA - -# magenta -color5 #F5C2E7 -color13 #F5C2E7 - -# cyan -color6 #94E2D5 -color14 #94E2D5 - -# white -color7 #BAC2DE -color15 #A6ADC8 diff --git a/kitty/.config/kitty/kitty.conf b/kitty/.config/kitty/kitty.conf deleted file mode 100644 index 8b267a4..0000000 --- a/kitty/.config/kitty/kitty.conf +++ /dev/null @@ -1,12 +0,0 @@ -font_family Iosevka Nerd Font -font_size 15.0 -window_padding_width 5 - -enable_audio_bell no -visual_bell_duration 0.0 - - -# BEGIN_KITTY_THEME -# Catppuccin-Mocha -include current-theme.conf -# END_KITTY_THEME diff --git a/kwm/.config/kwm/bluetooth.sh b/kwm/.config/kwm/bluetooth.sh deleted file mode 100755 index 90b49ed..0000000 --- a/kwm/.config/kwm/bluetooth.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -case "$1" in - --connect) - notify-send 'bluetooth' 'Connecting to Headphones' - bluetoothctl connect "88:C9:E8:D7:60:85" - ;; - --disconnect) - notify-send 'bluetooth' 'Disconnecting Headphones' - bluetoothctl disconnect "88:C9:E8:D7:60:85" - ;; - *) - exit 1 - ;; -esac diff --git a/kwm/.config/kwm/config.zon b/kwm/.config/kwm/config.zon deleted file mode 100644 index 1582526..0000000 --- a/kwm/.config/kwm/config.zon +++ /dev/null @@ -1,1400 +0,0 @@ -.{ - // environment variables - // used by processes spawned by kwm - .env = .{ - // .{ "key", "value" }, - }, - - // working direction of processes spawned by kwm - .working_directory = .home, - - .startup_cmds = .{ - .{ "sh", "/home/wball/.config/kwm/init.sh" }, - }, - - // .none - // or - // .theme = .{ .name = []const u8, .size = u32 } - .xcursor_theme = .none, - - // solid color background - // note: set this to .none if you use other wallpaper program like `swaybg`, orelse it will be covered by this and unable to see - // .background = .{ .color = 0x33000000 }, - .background = .none, - - .bar = .{ - .show_default = true, - // .top - // .bottom - .position = .bottom, - .font = "Iosevka Nerd Font:size=15", - .color = .{ - .normal = .{ - .fg = 0xcdd6f4ff, - .bg = 0x1e1e2eff, - }, - .select = .{ - .fg = 0x1e1e2eff, - .bg = 0xcdd6f4ff, - }, - }, - .status = .stdin, - // .status = .{ .text = "^#ff0000ffk^#00ff00ffw^#0000ffffm" }, // .stdin or .{ .fifo = "fifo file path" }, could use ^#RGBA to switch text color, and use ^#! to switch back to default color - // bar clicked callback - // each part supports left/right/middle/side/extra/forward/back/task - // set .none to disable - .click = .{ - .tags = .{ - // could use 0 there because it will be replace with the tag clicked - .left = .{ .action = .{ .set_output_tag = .{ .tag = .{ .tag = 0 } } } }, - .right = .{ .action = .{ .toggle_output_tag = .{ .mask = 0 } } }, - .middle = .{ .action = .{ .toggle_window_tag = .{ .mask = 0 } } }, - }, - .layout = .{ - .left = .{ .action = .switch_to_previous_layout }, - }, - .mode = .{ - .left = .{ .action = .{ .switch_mode = .{ .mode = "default" } } }, - }, - .title = .{ - .left = .{ .action = .{ .zoom = .{ .swap = false } } }, - }, - .status = .{ - .middle = .{ .action = .{ .spawn = .{ .argv = .{"foot"} } } }, - }, - }, - }, - - .sloppy_focus = false, - - // .none - // .on_focus_changed: warp cursor to the center of window focused - // .on_output_changed: warp cursor to the center of output focused - .cursor_warp = .none, - - // if to remember last floating geometry - .remember_floating_geometry = false, - - .auto_swallow = true, - - // .top: stack top - // .bottom: stack bottom - // .stack_top: for tile and deck layout - // .above_focused - // .below_focused - .default_attach_mode = .{ - .tile = .top, - .grid = .top, - .monocle = .top, - .deck = .stack_top, - .scroller = .below_focused, - .float = .top, - }, - - // .csd - // .ssd - .default_window_decoration = .ssd, - - // window border - .border = .{ - .width = 3, - .color = .{ - .focus = 0xf5c2e7ff, - .unfocus = 0x586e75ff, - }, - }, - - // tags show on bar - .tags = .{ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, - - // .tile - // .grid - // .monocle - // .deck - // .scroller - // .float - .default_layout = .tile, - .layout = .{ - .tile = .{ - .nmaster = 1, - .mfact = 0.55, - .inner_gap = 12, - .outer_gap = 9, - - // .left - // .right - // .top - // .bottom - .master_location = .left, - }, - .grid = .{ - .outer_gap = 9, - .inner_gap = 12, - - // .horizontal - // .vertical - .direction = .horizontal, - }, - .monocle = .{ - .gap = 9, - }, - .deck = .{ - .inner_gap = 12, - .outer_gap = 9, - - // .left - // .right - // .top - // .bottom - .master_location = .left, - }, - .scroller = .{ - .mfact = 0.5, - .inner_gap = 16, - .outer_gap = 9, - }, - }, - - // layout tags show on bar - .layout_tag = .{ - .tile = .{ - .left = "[]=", - .right = "=[]", - .top = "[^]", - .bottom = "[_]", - }, - .grid = .{ - .horizontal = "|+|", - .vertical = "|||", - }, - .monocle = "[=]", - .deck = .{ - .left = "[D]=", - .right = "=[D]", - .top = "[D^]", - .bottom = "[D_]", - }, - .scroller = "[==]", - .float = "><>", - }, - - // key/pointer bindings - .bindings = .{ - // repeat info for key repeat event, different with the repeat_info of input device - .repeat_info = .{ - .rate = 50, - .delay = 300, - }, - - // mode tags show on bar - // display full mode string by default - .mode_tag = .{ - .{ "default", "" }, // hide mode tag in default mode - .{ "passthrough", "P" }, // only show "P" on bar in passthrough mode - .{ "floating", "F" }, // only show "F" on bar in floating mode - }, - - // list of key bindings - // full scheme: - // mode: string(< 16 bytes) - // "default" and "lock" are defined by default - // "default" is the default mode, if you not set `mode`, the binding will be seemed as "default" mode - // when the session locked, kwm will switch to "lock" mode - // you could define any other mode - // keysym: keysym string - // modifiers: - // a struct with fields: shift, ctrl, mod1, mod3, mod4, mod5, and all of these fields are `false` by default - // set modifiers to .{} means key binding without any modifier - // event: key binding trigger event - // there are two options: - // .event = .{ - // .repeat = action - // } - // after the key pressed, the action will repeatly trigger until key released or any another key pressed - // - // .event = .{ - // .click = .{ - // .pressed = null or action, default is null - // .released = null or action, default is null - // } - // } - // the corrosponding action will only trigger once when key pressed or released - // the pressed action and released action could define at the same time - .key = .{ - .{ - .keysym = "r", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .reload_config, - }, - }, - }, - - // passthrough - .{ - .keysym = "Escape", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_mode = .{ .mode = "passthrough" }, - }, - }, - }, - }, - .{ - .mode = "passthrough", - .keysym = "Escape", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_mode = .{ .mode = "default" }, - }, - }, - }, - }, - - // floating - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_mode = .{ .mode = "floating", .auto_quit = .once_unbound_pressed }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "l", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .horizontal = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "h", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .horizontal = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "j", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .vertical = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "k", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .vertical = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "l", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .horizontal = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "h", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .horizontal = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "j", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .vertical = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "k", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .vertical = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "l", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .right }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "h", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .left }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "j", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .bottom }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "k", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .top }, - }, - }, - }, - }, - - // default - .{ - .keysym = "q", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .quit = .{ .exit_session = true }, - }, - }, - }, - }, - .{ - .keysym = "c", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .close, - }, - }, - }, - .{ - .keysym = "c", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"/home/wball/.config/kwm/toggle_caffeine.sh"} }, - }, - }, - }, - }, - .{ - .keysym = "d", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "dunstctl", "close" } }, - }, - }, - }, - }, - .{ - .keysym = "Print", - .modifiers = .{ .mod4 = false }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "/home/wball/.config/kwm/screenshot.sh", "clip" } }, - }, - }, - }, - }, - .{ - .keysym = "Print", - .modifiers = .{ .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "/home/wball/.config/kwm/screenshot.sh", "menu" } }, - }, - }, - }, - }, - .{ - .keysym = "b", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "/home/wball/.config/kwm/bluetooth.sh", "--connect" } }, - }, - }, - }, - }, - .{ - .keysym = "b", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "/home/wball/.config/kwm/bluetooth.sh", "--disconnect" } }, - }, - }, - }, - }, - .{ - .keysym = "z", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"books.sh"} }, - }, - }, - }, - }, - .{ - .keysym = "y", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"papers.sh"} }, - }, - }, - }, - }, - .{ - .keysym = "e", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "emacsclient", "--create-frame", "--alternate-editor='emacs" } }, - }, - }, - }, - }, - .{ - .keysym = "p", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"/home/wball/.config/kwm/power_mode.sh"} }, - }, - }, - }, - }, - .{ - .keysym = "n", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "/home/wball/.config/kwm/pianobar.sh", "n" } }, - }, - }, - }, - }, - .{ - .keysym = "s", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"/home/wball/.config/pianobar/change_station.sh"} }, - }, - }, - }, - }, - .{ - .keysym = "p", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "/home/wball/.config/kwm/pianobar.sh", "p" } }, - }, - }, - }, - }, - .{ - .keysym = "c", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"/home/wball/.config/pianobar/display_info.sh"} }, - }, - }, - }, - }, - .{ - .keysym = "XF86AudioRaiseVolume", - .modifiers = .{ - .mod4 = false, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "audio", "sink", "--plus" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86AudioLowerVolume", - .modifiers = .{ - .mod4 = false, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "audio", "sink", "--minus" } }, - // .spawn = .{ .argv = .{ "/home/wball/.config/kwm/volume.sh", "down", "0.02" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86AudioRaiseVolume", - .modifiers = .{ - .shift = true, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "audio", "sink", "--plus10" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86AudioLowerVolume", - .modifiers = .{ - .shift = true, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "audio", "sink", "--minus10" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86AudioMute", - .modifiers = .{ - .ctrl = false, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "audio", "sink", "--mute" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86MonBrightnessUp", - .modifiers = .{ - .ctrl = false, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "bright", "--plus10" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86MonBrightnessDown", - .modifiers = .{ - .ctrl = false, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "bright", "--minus10" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86MonBrightnessUp", - .modifiers = .{ - .shift = true, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "bright", "--plus" } }, - }, - }, - }, - }, - .{ - .keysym = "XF86MonBrightnessDown", - .modifiers = .{ - .shift = true, - }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "bright", "--minus" } }, - }, - }, - }, - }, - .{ - .keysym = "Return", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"foot"} }, - }, - }, - }, - }, - .{ - .keysym = "h", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .focus_master_return, - }, - }, - }, - .{ - .keysym = "l", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .focus_master_return, - }, - }, - }, - .{ - .keysym = "b", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .toggle_bar, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .forward, .skip = .floating }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .reverse, .skip = .floating }, - }, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .swap = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .swap = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "period", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_output_iter = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "comma", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_output_iter = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "period", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .send_to_output = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "comma", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .send_to_output = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "m", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .toggle_fullscreen = .{ .in_window = true }, - }, - }, - }, - }, - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .toggle_fullscreen = .{ .in_window = false }, - }, - }, - }, - }, - .{ - .keysym = "space", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .switch_to_previous_layout, - }, - }, - }, - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .toggle_floating, - }, - }, - }, - .{ - .keysym = "s", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .toggle_sticky, - }, - }, - }, - .{ - .keysym = "a", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .toggle_swallow, - }, - }, - }, - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .float }, - }, - }, - }, - }, - .{ - .keysym = "t", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .tile }, - }, - }, - }, - }, - .{ - .keysym = "g", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .grid }, - }, - }, - }, - }, - .{ - .keysym = "d", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .deck }, - }, - }, - }, - }, - .{ - .keysym = "m", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .monocle }, - }, - }, - }, - }, - .{ - .keysym = "s", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .scroller }, - }, - }, - }, - }, - .{ - .keysym = "Tab", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .switch_to_previous_tag, - }, - }, - }, - .{ - .keysym = "apostrophe", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .set_output_tag = .{ .tag = .{ .occupied = .forward } }, - }, - }, - }, - }, - // .{ - // .keysym = "semicolon", - // .modifiers = .{ .mod4 = true }, - // .event = .{ - // .click = .{ - // .pressed = .{ - // .set_output_tag = .{ .tag = .{ .occupied = .reverse } }, - // }, - // }, - // }, - // }, - .{ - .keysym = "apostrophe", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .set_window_tag = .{ .tag = .{ .unoccupied = .forward } }, - }, - }, - }, - }, - // .{ - // .keysym = "semicolon", - // .modifiers = .{ .mod4 = true, .shift = true }, - // .event = .{ - // .click = .{ - // .pressed = .{ - // .set_window_tag = .{ .tag = .{ .unoccupied = .reverse } }, - // }, - // }, - // }, - // }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b1 } } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b10 } } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b100 } } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b1000 } } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b10000 } } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b100000 } } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b1000000 } } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b10000000 } } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b100000000 } } } } } }, - .{ .keysym = "0", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b111111111 } } } } } }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b1 } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b10 } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b100 } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b1000 } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b10000 } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b100000 } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b1000000 } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b10000000 } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b100000000 } } } } }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b1 } } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b10 } } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b100 } } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b1000 } } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b10000 } } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b100000 } } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b1000000 } } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b10000000 } } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b100000000 } } } } } }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b1 } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b10 } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b100 } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b1000 } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b10000 } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b100000 } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b1000000 } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b10000000 } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b100000000 } } } } }, - - .{ - .keysym = "l", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_mfact = .{ .step = 0.01 }, - }, - }, - }, - }, - .{ - .keysym = "h", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_mfact = .{ .step = -0.01 }, - }, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .bottom }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .top }, - }, - }, - }, - }, - .{ - .keysym = "l", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .right }, - }, - }, - }, - }, - .{ - .keysym = "h", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .left }, - }, - }, - }, - }, - .{ - .keysym = "equal", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_nmaster = .{ .change = .increase }, - }, - }, - }, - }, - .{ - .keysym = "minus", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_nmaster = .{ .change = .decrease }, - }, - }, - }, - }, - .{ - .keysym = "equal", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_gap = .{ .step = 1 }, - }, - }, - }, - }, - .{ - .keysym = "minus", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_gap = .{ .step = -1 }, - }, - }, - }, - }, - .{ - .keysym = "a", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .toggle_auto_swallow, - }, - }, - }, - .{ - .keysym = "g", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .toggle_grid_direction, - }, - }, - }, - .{ - .keysym = "BracketRight", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn_shell = .{ .cmd = "librewolf" }, - }, - }, - }, - }, - .{ - .keysym = "semicolon", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn_shell = .{ .cmd = "bemenu-run" }, - }, - }, - }, - }, - .{ - .keysym = "Return", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{"footclient"} }, - }, - }, - }, - }, - }, - - // list of pointer bindings - // full scheme: - // mode: same as key binding - // button: pointer button - // .left - // .right - // .middle - // modifiers: same as key binding - // event: pointer binding trigger event - // .event = .{ - // .pressed = null or action, default is null - // .released = null or action, default is null - // } - // the corrosponding action will only trigger once when pointer button pressed or released - // the pressed action and released action could define at the same time - .pointer = .{ - .{ - .mode = "default", - .button = .left, - .modifiers = .{ .mod4 = true }, - .event = .{ .pressed = .pointer_move }, - }, - .{ - .mode = "default", - .button = .right, - .modifiers = .{ .mod4 = true }, - .event = .{ .pressed = .pointer_resize }, - }, - }, - // other unmentioned actions: - // group: run multiple actions in sequence - // .event = .{ - // .click = .{ - // .pressed = .{ - // .group = .{ - // .actions = .{ - // action1, - // action2, - // ... - // }, - // }, - // }, - // }, - // } - }, - - // rule part - // - // a rule pattern has fields below: - // str: pattern string, required - // regex: bool, if enable regex - // match_null: bool, if match null - // - // only the first rule matched will be applied - - // window rules - // full scheme: - // app_id: rule pattern - // title: rule pattern - // - // tag: window tag - // output: output name pattern, same as rule pattern - // floating: bool, if floating - // dimension: .{ .width = i32, .height = i32 }, initial dimension - // decoration: .csd or .ssd, window decoration - // is_terminal: bool, if set true, means the window could be swallowed - // disable_swallow: bool, if set true, the window could not swallow any other windows - // scroller_mfact: f32, initial mfact of the window for scroller layout - // attach_mode: like `default_attach_mode`, change attach_mode for window matched - .window_rules = .{ - .{ .app_id = .{ .str = "", .match_null = true }, .floating = true }, - .{ .app_id = .{ .str = "zenity" }, .floating = true }, - .{ .app_id = .{ .str = "DesktopEditors" }, .floating = true }, - .{ .app_id = .{ .str = "xdg-desktop-portal-gtk" }, .floating = true }, - .{ .app_id = .{ .str = "chromium" }, .tag = 0b10, .scroller_mfact = 0.9 }, - .{ .app_id = .{ .str = "foot" }, .is_terminal = true, .scroller_mfact = 0.8 }, - }, - - // output rules - // full scheme: - // name: rule pattern - // - // presentation_mode: presentation mode, .vsync or .async - // layout: same as `layout` before but you only need to specify the values you want to change - // default_layout: same as `default_layout` before - .output_rules = .{ - // - }, - - // input device rules - // full scheme: - // name: rule pattern - // - // repeat_info: .{ .rate = i32, .delay = i32 } - // scroll_factor: f64 - .input_device_rules = .{ - .{ .repeat_info = .{ .rate = 50, .delay = 300 } }, - }, - - // libinput device rules - // full scheme: - // name: rule pattern - // - // send_events_modes: - // .enabled - // .disabled - // .disabled_on_external_mouse - // tap: .enabled or .disabled - // drag: .enabled or .disabled - // drag_lock: .enabled or .disabled - // tap_button_map: .lrm or .lmr - // three_finger_drag: - // .disabled - // .enabled_3fg - // .enabled_4fg - // calibration_matrix: [6]f32 - // accel_profile: - // .none - // .flat - // .adaptive - // .custom - // accel_speed: f32 - // natural_scroll: .enabled or .disabled - // left_handed: .enabled or .disabled - // click_method: - // .none - // .button_areas - // .clickfinger - // clickfinger_button_map: .lrm or .lmr - // middle_button_emulation: .enabled or .disabled - // scroll_method: - // .no_scroll - // .two_finger - // .edge - // .on_button_down - // scroll_button: - // .left - // .right - // .middle - // scroll_button_lock: .enabled or .disabled - // disable_while_typing: .enabled or .disabled - // disable_while_trackpointing: .enabled or .disabled - // rotation_angle: u32 - .libinput_device_rules = .{ .{ .name = .{ .str = ".*[tT]ouchpad", .regex = true }, .tap = .enabled, .drag = .enabled, .natural_scroll = .enabled }, .{ .tap = .enabled, .drag = .enabled } }, - - // xkb_keyboard rules - // full scheme: - // name: rule pattern - // - // numlock: .enabled or .disabled - // capslock: .enabled or .disabled - // layout: - // layout index: .{ .index = u32 } - // or - // layout name: .{ .name = "layout name" } - // keymap: - // .{ .file = .{ .path = "keymap file path", .format = .text_v1 or .text_v2 } } - // or - // .{ - // .options = .{ - // .rules = ?[]const u8, - // .model = ?[]const u8, - // .layout = ?[]const u8, - // .variant = ?[]const u8, - // .options = ?[]const u8, - // } - // } - .xkb_keyboard_rules = .{ - .{ - .keymap = .{ - .options = .{ - .layout = "us", - .variant = "colemak_dh", - }, - }, - }, - }, -} diff --git a/kwm/.config/kwm/config.zon.def b/kwm/.config/kwm/config.zon.def deleted file mode 100644 index a050a16..0000000 --- a/kwm/.config/kwm/config.zon.def +++ /dev/null @@ -1,1112 +0,0 @@ -.{ - // environment variables - // used by processes spawned by kwm - .env = .{ - // .{ "key", "value" }, - }, - - // working direction of processes spawned by kwm - .working_directory = .home, - - .startup_cmds = .{ - // .{ "swaybg", "-i", "/path/to/wallpaper" }, - }, - - // .none - // or - // .theme = .{ .name = []const u8, .size = u32 } - .xcursor_theme = .none, - - // solid color background - // note: set this to .none if you use other wallpaper program like `swaybg`, orelse it will be covered by this and unable to see - .background = .{ .color = 0x33000000 }, - - .bar = .{ - .show_default = true, - // .top - // .bottom - .position = .top, - .font = "monospace:size=10", - .color = .{ - .normal = .{ - .fg = 0x828bb8ff, - .bg = 0x1b1d2bd0, - }, - .select = .{ - .fg = 0x444a73ff, - .bg = 0xc8d3f5d0, - }, - }, - .status = .{ .text = "^#ff0000ffk^#00ff00ffw^#0000ffffm" }, // .stdin or .{ .fifo = "fifo file path" }, could use ^#RGBA to switch text color, and use ^#! to switch back to default color - // bar clicked callback - // each part supports left/right/middle/side/extra/forward/back/task - // set .none to disable - .click = .{ - .tags = .{ - // could use 0 there because it will be replace with the tag clicked - .left = .{ .action = .{ .set_output_tag = .{ .tag = .{ .tag = 0 } } } }, - .right = .{ .action = .{ .toggle_output_tag = .{ .mask = 0 } } }, - .middle = .{ .action = .{ .toggle_window_tag = .{ .mask = 0 } } }, - }, - .layout = .{ - .left = .{ .action = .switch_to_previous_layout }, - }, - .mode = .{ - .left = .{ .action = .{ .switch_mode = .{ .mode = "default" } } }, - }, - .title = .{ - .left = .{ .action = .{ .zoom = .{ .swap = false } } }, - }, - .status = .{ - .middle = .{ .action = .{ .spawn = .{ .argv = .{ "foot" } } } }, - }, - }, - }, - - .sloppy_focus = false, - - // .none - // .on_focus_changed: warp cursor to the center of window focused - // .on_output_changed: warp cursor to the center of output focused - .cursor_warp = .none, - - // if to remember last floating geometry - .remember_floating_geometry = false, - - .auto_swallow = true, - - // .top: stack top - // .bottom: stack bottom - // .stack_top: for tile and deck layout - // .above_focused - // .below_focused - .default_attach_mode = .{ - .tile = .top, - .grid = .top, - .monocle = .top, - .deck = .stack_top, - .scroller = .below_focused, - .float = .top, - }, - - // .csd - // .ssd - .default_window_decoration = .ssd, - - // window border - .border = .{ - .width = 5, - .color = .{ - .focus = 0xffc777ff, - .unfocus = 0x828bb8ff, - }, - }, - - // tags show on bar - .tags = .{ "1", "2", "3", "4", "5", "6", "7", "8", "9" }, - - // .tile - // .grid - // .monocle - // .deck - // .scroller - // .float - .default_layout = .tile, - .layout = .{ - .tile = .{ - .nmaster = 1, - .mfact = 0.55, - .inner_gap = 12, - .outer_gap = 9, - - // .left - // .right - // .top - // .bottom - .master_location = .left, - }, - .grid = .{ - .outer_gap = 9, - .inner_gap = 12, - - // .horizontal - // .vertical - .direction = .horizontal, - }, - .monocle = .{ - .gap = 9, - }, - .deck = .{ - .inner_gap = 12, - .outer_gap = 9, - - // .left - // .right - // .top - // .bottom - .master_location = .left, - }, - .scroller = .{ - .mfact = 0.5, - .inner_gap = 16, - .outer_gap = 9, - }, - }, - - // layout tags show on bar - .layout_tag = .{ - .tile = .{ - .left = "[]=", - .right = "=[]", - .top = "[^]", - .bottom = "[_]", - }, - .grid = .{ - .horizontal = "|+|", - .vertical = "|||", - }, - .monocle = "[=]", - .deck = .{ - .left = "[D]=", - .right = "=[D]", - .top = "[D^]", - .bottom = "[D_]", - }, - .scroller = "[==]", - .float = "><>", - }, - - // key/pointer bindings - .bindings = .{ - // repeat info for key repeat event, different with the repeat_info of input device - .repeat_info = .{ - .rate = 50, - .delay = 300, - }, - - // mode tags show on bar - // display full mode string by default - .mode_tag = .{ - .{ "default", "" }, // hide mode tag in default mode - .{ "passthrough", "P" }, // only show "P" on bar in passthrough mode - .{ "floating", "F" }, // only show "F" on bar in floating mode - }, - - // list of key bindings - // full scheme: - // mode: string(< 16 bytes) - // "default" and "lock" are defined by default - // "default" is the default mode, if you not set `mode`, the binding will be seemed as "default" mode - // when the session locked, kwm will switch to "lock" mode - // you could define any other mode - // keysym: keysym string - // modifiers: - // a struct with fields: shift, ctrl, mod1, mod3, mod4, mod5, and all of these fields are `false` by default - // set modifiers to .{} means key binding without any modifier - // event: key binding trigger event - // there are two options: - // .event = .{ - // .repeat = action - // } - // after the key pressed, the action will repeatly trigger until key released or any another key pressed - // - // .event = .{ - // .click = .{ - // .pressed = null or action, default is null - // .released = null or action, default is null - // } - // } - // the corrosponding action will only trigger once when key pressed or released - // the pressed action and released action could define at the same time - .key = .{ - .{ - .keysym = "r", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .reload_config, - }, - }, - }, - - // passthrough - .{ - .keysym = "Escape", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_mode = .{ .mode = "passthrough" }, - }, - }, - }, - }, - .{ - .mode = "passthrough", - .keysym = "Escape", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_mode = .{ .mode = "default" }, - }, - }, - }, - }, - - // floating - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_mode = .{ .mode = "floating", .auto_quit = .once_unbound_pressed }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "l", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .horizontal = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "h", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .horizontal = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "j", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .vertical = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "k", - .modifiers = .{ .mod4 = true }, - .event = .{ - .repeat = .{ - .move = .{ .step = .{ .vertical = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "l", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .horizontal = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "h", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .horizontal = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "j", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .vertical = 10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "k", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .repeat = .{ - .resize = .{ .step = .{ .vertical = -10 } }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "l", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .right }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "h", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .left }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "j", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .bottom }, - }, - }, - }, - }, - .{ - .mode = "floating", - .keysym = "k", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .snap = .{ .edge = .top }, - }, - }, - }, - }, - - // default - .{ - .keysym = "q", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .quit = .{ .exit_session = true }, - }, - }, - }, - }, - .{ - .keysym = "c", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .close, - }, - }, - }, - .{ - .keysym = "Return", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .zoom = .{ .swap = true }, - }, - }, - }, - }, - .{ - .keysym = "h", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .focus_master_return, - }, - }, - }, - .{ - .keysym = "l", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .focus_master_return, - }, - }, - }, - .{ - .keysym = "b", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .toggle_bar, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .forward, .skip = .floating }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_iter = .{ .direction = .reverse, .skip = .floating }, - }, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .swap = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .swap = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "period", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_output_iter = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "comma", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .focus_output_iter = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "period", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .send_to_output = .{ .direction = .forward }, - }, - }, - }, - }, - .{ - .keysym = "comma", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .send_to_output = .{ .direction = .reverse }, - }, - }, - }, - }, - .{ - .keysym = "m", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .toggle_fullscreen = .{ .in_window = true }, - }, - }, - }, - }, - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .toggle_fullscreen = .{ .in_window = false }, - }, - }, - }, - }, - .{ - .keysym = "space", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .switch_to_previous_layout, - }, - }, - }, - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .toggle_floating, - }, - }, - }, - .{ - .keysym = "s", - .modifiers = .{ .mod4 = true, .ctrl = true }, - .event = .{ - .click = .{ - .pressed = .toggle_sticky, - }, - }, - }, - .{ - .keysym = "a", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .toggle_swallow, - }, - }, - }, - .{ - .keysym = "f", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .float }, - }, - }, - }, - }, - .{ - .keysym = "t", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .tile }, - }, - }, - }, - }, - .{ - .keysym = "g", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .grid }, - }, - }, - }, - }, - .{ - .keysym = "d", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .deck }, - }, - }, - }, - }, - .{ - .keysym = "m", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .monocle }, - }, - }, - }, - }, - .{ - .keysym = "s", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .switch_layout = .{ .layout = .scroller }, - }, - }, - }, - }, - .{ - .keysym = "Tab", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .switch_to_previous_tag, - }, - }, - }, - .{ - .keysym = "apostrophe", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .set_output_tag = .{ .tag = .{ .occupied = .forward } }, - }, - }, - }, - }, - .{ - .keysym = "semicolon", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .set_output_tag = .{ .tag = .{ .occupied = .reverse } }, - }, - }, - }, - }, - .{ - .keysym = "apostrophe", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .set_window_tag = .{ .tag = .{ .unoccupied = .forward } }, - }, - }, - }, - }, - .{ - .keysym = "semicolon", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .set_window_tag = .{ .tag = .{ .unoccupied = .reverse } }, - }, - }, - }, - }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b1 } } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b10 } } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b100 } } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b1000 } } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b10000 } } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b100000 } } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b1000000 } } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b10000000 } } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b100000000 } } } } } }, - .{ .keysym = "0", .modifiers = .{ .mod4 = true }, .event = .{ .click = .{ .pressed = .{ .set_output_tag = .{ .tag = .{ .tag = 0b111111111 } } } } } }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b1 } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b10 } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b100 } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b1000 } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b10000 } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b100000 } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b1000000 } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b10000000 } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true, .ctrl = true }, .event = .{ .click = .{ .pressed = .{ .toggle_output_tag = .{ .mask = 0b100000000 } } } } }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b1 } } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b10 } } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b100 } } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b1000 } } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b10000 } } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b100000 } } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b1000000 } } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b10000000 } } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .set_window_tag = .{ .tag = .{ .tag = 0b100000000 } } } } } }, - - .{ .keysym = "1", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b1 } } } } }, - .{ .keysym = "2", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b10 } } } } }, - .{ .keysym = "3", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b100 } } } } }, - .{ .keysym = "4", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b1000 } } } } }, - .{ .keysym = "5", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b10000 } } } } }, - .{ .keysym = "6", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b100000 } } } } }, - .{ .keysym = "7", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b1000000 } } } } }, - .{ .keysym = "8", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b10000000 } } } } }, - .{ .keysym = "9", .modifiers = .{ .mod4 = true, .ctrl = true, .shift = true }, .event = .{ .click = .{ .pressed = .{ .toggle_window_tag = .{ .mask = 0b100000000 } } } } }, - - .{ - .keysym = "l", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_mfact = .{ .step = 0.01 }, - }, - }, - }, - }, - .{ - .keysym = "h", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_mfact = .{ .step = -0.01 }, - }, - }, - }, - }, - .{ - .keysym = "j", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .bottom }, - }, - }, - }, - }, - .{ - .keysym = "k", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .top }, - }, - }, - }, - }, - .{ - .keysym = "l", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .right }, - }, - }, - }, - }, - .{ - .keysym = "h", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_master_location = .{ .location = .left }, - }, - }, - }, - }, - .{ - .keysym = "equal", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_nmaster = .{ .change = .increase }, - }, - }, - }, - }, - .{ - .keysym = "minus", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_nmaster = .{ .change = .decrease }, - }, - }, - }, - }, - .{ - .keysym = "equal", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_gap = .{ .step = 1 }, - }, - }, - }, - }, - .{ - .keysym = "minus", - .modifiers = .{ .mod4 = true, .mod1 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .modify_gap = .{ .step = -1 }, - }, - }, - }, - }, - .{ - .keysym = "a", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .toggle_auto_swallow, - }, - }, - }, - .{ - .keysym = "g", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .toggle_grid_direction, - }, - }, - }, - - .{ - .keysym = "p", - .modifiers = .{ .mod4 = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn_shell = .{ .cmd = "wmenu-run" }, - }, - }, - }, - }, - .{ - .keysym = "Return", - .modifiers = .{ .mod4 = true, .shift = true }, - .event = .{ - .click = .{ - .pressed = .{ - .spawn = .{ .argv = .{ "foot" } }, - }, - }, - }, - }, - }, - - // list of pointer bindings - // full scheme: - // mode: same as key binding - // button: pointer button - // .left - // .right - // .middle - // modifiers: same as key binding - // event: pointer binding trigger event - // .event = .{ - // .pressed = null or action, default is null - // .released = null or action, default is null - // } - // the corrosponding action will only trigger once when pointer button pressed or released - // the pressed action and released action could define at the same time - .pointer = .{ - .{ - .mode = "default", - .button = .left, - .modifiers = .{ .mod4 = true }, - .event = .{ .pressed = .pointer_move }, - }, - .{ - .mode = "default", - .button = .right, - .modifiers = .{ .mod4 = true }, - .event = .{ .pressed = .pointer_resize }, - }, - }, - // other unmentioned actions: - // group: run multiple actions in sequence - // .event = .{ - // .click = .{ - // .pressed = .{ - // .group = .{ - // .actions = .{ - // action1, - // action2, - // ... - // }, - // }, - // }, - // }, - // } - }, - - // rule part - // - // a rule pattern has fields below: - // str: pattern string, required - // regex: bool, if enable regex - // match_null: bool, if match null - // - // only the first rule matched will be applied - - // window rules - // full scheme: - // app_id: rule pattern - // title: rule pattern - // - // tag: window tag - // output: output name pattern, same as rule pattern - // floating: bool, if floating - // dimension: .{ .width = i32, .height = i32 }, initial dimension - // decoration: .csd or .ssd, window decoration - // is_terminal: bool, if set true, means the window could be swallowed - // disable_swallow: bool, if set true, the window could not swallow any other windows - // scroller_mfact: f32, initial mfact of the window for scroller layout - // attach_mode: like `default_attach_mode`, change attach_mode for window matched - .window_rules = .{ - .{ .app_id = .{ .str = "", .match_null = true }, .floating = true }, - .{ .app_id = .{ .str = "zenity" }, .floating = true }, - .{ .app_id = .{ .str = "DesktopEditors" }, .floating = true }, - .{ .app_id = .{ .str = "xdg-desktop-portal-gtk" }, .floating = true }, - .{ .app_id = .{ .str = "chromium" }, .tag = 0b10, .scroller_mfact = 0.9 }, - .{ .app_id = .{ .str = "foot" }, .is_terminal = true, .scroller_mfact = 0.8 }, - }, - - // output rules - // full scheme: - // name: rule pattern - // - // presentation_mode: presentation mode, .vsync or .async - // layout: same as `layout` before but you only need to specify the values you want to change - // default_layout: same as `default_layout` before - .output_rules = .{ - // - }, - - // input device rules - // full scheme: - // name: rule pattern - // - // repeat_info: .{ .rate = i32, .delay = i32 } - // scroll_factor: f64 - .input_device_rules = .{ - .{ .repeat_info = .{ .rate = 50, .delay = 300 } }, - }, - - // libinput device rules - // full scheme: - // name: rule pattern - // - // send_events_modes: - // .enabled - // .disabled - // .disabled_on_external_mouse - // tap: .enabled or .disabled - // drag: .enabled or .disabled - // drag_lock: .enabled or .disabled - // tap_button_map: .lrm or .lmr - // three_finger_drag: - // .disabled - // .enabled_3fg - // .enabled_4fg - // calibration_matrix: [6]f32 - // accel_profile: - // .none - // .flat - // .adaptive - // .custom - // accel_speed: f32 - // natural_scroll: .enabled or .disabled - // left_handed: .enabled or .disabled - // click_method: - // .none - // .button_areas - // .clickfinger - // clickfinger_button_map: .lrm or .lmr - // middle_button_emulation: .enabled or .disabled - // scroll_method: - // .no_scroll - // .two_finger - // .edge - // .on_button_down - // scroll_button: - // .left - // .right - // .middle - // scroll_button_lock: .enabled or .disabled - // disable_while_typing: .enabled or .disabled - // disable_while_trackpointing: .enabled or .disabled - // rotation_angle: u32 - .libinput_device_rules = .{ - .{ .name = .{ .str = ".*[tT]ouchpad", .regex = true }, .tap = .enabled, .drag = .enabled, .natural_scroll = .enabled }, - .{ .tap = .enabled, .drag = .enabled } - }, - - // xkb_keyboard rules - // full scheme: - // name: rule pattern - // - // numlock: .enabled or .disabled - // capslock: .enabled or .disabled - // layout: - // layout index: .{ .index = u32 } - // or - // layout name: .{ .name = "layout name" } - // keymap: - // .{ .file = .{ .path = "keymap file path", .format = .text_v1 or .text_v2 } } - // or - // .{ - // .options = .{ - // .rules = ?[]const u8, - // .model = ?[]const u8, - // .layout = ?[]const u8, - // .variant = ?[]const u8, - // .options = ?[]const u8, - // } - // } - .xkb_keyboard_rules = .{ - // - }, -} diff --git a/kwm/.config/kwm/init.sh b/kwm/.config/kwm/init.sh deleted file mode 100755 index 77099a8..0000000 --- a/kwm/.config/kwm/init.sh +++ /dev/null @@ -1,20 +0,0 @@ -#!/bin/sh - -wobd - -pgrep swaybg || swaybg -i ~/.config/kwm/wallpaper.jpg & -pgrep dunst || dunst & - -foot --server & # TODO: figure out systemd service -emacs --daemon & - -# swayidle -pgrep swayidle || swayidle -w \ - timeout 300 '$HOME/.config/kwm/timeout.sh' \ - before-sleep 'swaylock -f -c 000000' & - -# gnome-keyring (needed for nextcloud to remember login) -dbus-update-activation-environment --all -gnome-keyring-daemon --start --components=secrets - -nextcloud & diff --git a/kwm/.config/kwm/pianobar.sh b/kwm/.config/kwm/pianobar.sh deleted file mode 100755 index b2bb577..0000000 --- a/kwm/.config/kwm/pianobar.sh +++ /dev/null @@ -1,2 +0,0 @@ -#!/bin/sh -echo "$1" > ~/.config/pianobar/ctl diff --git a/kwm/.config/kwm/power_mode.sh b/kwm/.config/kwm/power_mode.sh deleted file mode 100755 index 0a10d1f..0000000 --- a/kwm/.config/kwm/power_mode.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -echo -e "performance\nbalanced\npower-saver" | bemenu --center --list 3 -p "Power Mode" --border 2 --bdr "#f6c2e7" -W 0.5 | xargs tlpctl diff --git a/kwm/.config/kwm/screenshot.sh b/kwm/.config/kwm/screenshot.sh deleted file mode 100755 index 71dbad4..0000000 --- a/kwm/.config/kwm/screenshot.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -if [ $1 = "clip" ]; then - if grim -g "$(slurp)" - | wl-copy; then - notify-send "screenshot" "Saved to clipboard" - else - notify-send "screenshot" "Canceled" - fi -else - filename="$HOME/Downloads/$(echo '' | bemenu --ifne -p "Enter filename:")" - filename_ext="${filename%.png}.png" - if grim -g "$(slurp)" "$filename_ext"; then - notify-send "screenshot" "Saved as $filename_ext" - else - notify-send "screenshot" "Canceled" - fi -fi diff --git a/kwm/.config/kwm/timeout.sh b/kwm/.config/kwm/timeout.sh deleted file mode 100755 index 647af41..0000000 --- a/kwm/.config/kwm/timeout.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -caffeine_file=$HOME/.cache/idle - -if [[ ! -f $caffeine_file ]] then - echo 0 > $caffeine_file -fi - -caffeine=$(<$HOME/.cache/idle) - -if [[ $caffeine -eq 0 ]] then - swaylock -f -c 000000 -else - notify-send 'Caffeine' 'Not sleeping' -fi diff --git a/kwm/.config/kwm/toggle_caffeine.sh b/kwm/.config/kwm/toggle_caffeine.sh deleted file mode 100755 index e7fcb13..0000000 --- a/kwm/.config/kwm/toggle_caffeine.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -caffeine_file=$HOME/.cache/idle - -if [[ ! -f $caffeine_file ]] then - echo 0 > $caffeine_file -fi - -caffeine=$(<$HOME/.cache/idle) - -if [[ $caffeine -eq 0 ]] then - echo 1 > $caffeine_file - notify-send 'Caffeine' 'Caffeine Enabled' -else - echo 0 > $caffeine_file - notify-send 'Caffeine' 'Caffeine Disabled' -fi diff --git a/kwm/.config/kwm/wallpaper.jpg b/kwm/.config/kwm/wallpaper.jpg deleted file mode 100644 index 9ca0c04..0000000 Binary files a/kwm/.config/kwm/wallpaper.jpg and /dev/null differ diff --git a/niri/.config/niri/bluetooth.sh b/niri/.config/niri/bluetooth.sh deleted file mode 100755 index 5db68e1..0000000 --- a/niri/.config/niri/bluetooth.sh +++ /dev/null @@ -1,11 +0,0 @@ -#!/bin/sh - -address="88:C9:E8:D7:60:85" - -if [ $1 = "connect" ]; then - notify-send "Bluetooth" "Connecting to Headphones" - bluetoothctl connect $address -else - notify-send "Bluetooth" "Disconnecting Headphones" - bluetoothctl disconnect $address -fi diff --git a/niri/.config/niri/config.kdl b/niri/.config/niri/config.kdl deleted file mode 100644 index 22f5cb2..0000000 --- a/niri/.config/niri/config.kdl +++ /dev/null @@ -1,236 +0,0 @@ -input { - keyboard { - xkb { - layout "us,us" - variant "colemak_dh," - } - - repeat-delay 300 - repeat-rate 50 - numlock - } - - touchpad { - tap - natural-scroll - } - - focus-follows-mouse max-scroll-amount="50%" -} - -hotkey-overlay { - skip-at-startup -} - -cursor { - hide-when-typing - hide-after-inactive-ms 3000 -} - -overview { - backdrop-color "#1e1e2e" -} - -output "eDP-1" { - mode "2240x1400@60.001" - scale 1.5 -} - -layout { - gaps 12 - - center-focused-column "never" - - preset-column-widths { - proportion 0.33333 - proportion 0.5 - proportion 0.66667 - } - - default-column-width { proportion 0.5; } - - focus-ring { - width 2 - active-gradient from="#f9e2af" to="#fab387" angle=45 - } -} - -environment { - DISPLAY ":0" -} - -spawn-at-startup "waybar" -spawn-at-startup "sh" "-c" "~/.config/niri/swayidle.sh" -spawn-at-startup "xwayland-satellite" -spawn-at-startup "sh" "-c" "swaybg -i $HOME/.config/niri/wallpaper.jpg" -spawn-at-startup "foot" "--server" -spawn-at-startup "emacs" "--daemon" -spawn-at-startup "sh" "-c" "~/.config/niri/setup_wob.sh" - -prefer-no-csd -screenshot-path "~/Pictures/Screenshots/Screenshot from %Y-%m-%d %H-%M-%S.png" - -window-rule { - match app-id=r#"^org\.wezfurlong\.wezterm$"# - default-column-width {} -} - -window-rule { - match app-id=r#"firefox$"# title="^Picture-in-Picture$" - open-floating true -} - - -window-rule { - geometry-corner-radius 8 - clip-to-geometry true -} - -binds { - Mod+Shift+Slash { show-hotkey-overlay; } - - Mod+Return hotkey-overlay-title="Open a Terminal: foot" { spawn "footclient"; } - Mod+Shift+Return { spawn "foot"; } - // Mod+Semicolon hotkey-overlay-title="Run an Application: fuzzel" { spawn "fuzzel"; } - Mod+Semicolon hotkey-overlay-title="Run an Application: bemenu" { spawn "bemenu-run"; } - Mod+Ctrl+O hotkey-overlay-title="Lock the Screen: swaylock" { spawn "swaylock"; } - - Mod+B { spawn "sh" "-c" "~/.config/niri/bluetooth.sh connect"; } - Mod+Shift+B { spawn "sh" "-c" "~/.config/niri/bluetooth.sh disconnect"; } - - Mod+E { spawn "emacsclient" "--create-frame" "-a" "emacs"; } - - XF86AudioRaiseVolume allow-when-locked=true { spawn "sh" "-c" "~/.config/niri/volume.sh up"; } - XF86AudioLowerVolume allow-when-locked=true { spawn "sh" "-c" "~/.config/niri/volume.sh down"; } - XF86AudioMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SINK@" "toggle"; } - XF86AudioMicMute allow-when-locked=true { spawn "wpctl" "set-mute" "@DEFAULT_AUDIO_SOURCE@" "toggle"; } - - XF86MonBrightnessUp { spawn "sh" "-c" "brightnessctl set +5% | sed -En 's/.*\\(([0-9]+)%\\).*/\\1/p' > ~/.cache/wob.sock"; } - XF86MonBrightnessDown { spawn "sh" "-c" "brightnessctl set 5%- | sed -En 's/.*\\(([0-9]+)%\\).*/\\1/p' > ~/.cache/wob.sock"; } - - Mod+D { spawn "makoctl" "dismiss"; } - Mod+Shift+D { spawn "makoctl" "dismiss" "--all"; } - - Mod+Z { spawn "books.sh"; } - Mod+Y { spawn "papers.sh"; } - - Mod+P { spawn "sh" "-c" "echo 'p' > ~/.config/pianobar/ctl"; } - Mod+N { spawn "sh" "-c" "echo 'n' > ~/.config/pianobar/ctl"; } - Mod+C { spawn "sh" "-c" "~/.config/pianobar/display_info.sh"; } - Mod+S { spawn "sh" "-c" "~/.config/pianobar/change_station.sh"; } - - Mod+O repeat=false { toggle-overview; } - - Mod+Shift+C { close-window; } - Mod+Ctrl+C { spawn "sh" "-c" "~/.config/niri/toggle_caffeine.sh"; } - - Mod+H { focus-column-left; } - Mod+J { focus-window-or-workspace-down; } - Mod+K { focus-window-or-workspace-up; } - Mod+L { focus-column-right; } - - Mod+Ctrl+H { move-column-left; } - Mod+Ctrl+J { move-window-down-or-to-workspace-down; } - Mod+Ctrl+K { move-window-up-or-to-workspace-up; } - Mod+Ctrl+L { move-column-right; } - - Mod+Shift+Comma { focus-column-first; } - Mod+Shift+Period { focus-column-last; } - Mod+Shift+Ctrl+Comma { move-column-to-first; } - Mod+Shift+Ctrl+Period { move-column-to-last; } - - Mod+Shift+H { focus-monitor-left; } - Mod+Shift+J { focus-monitor-down; } - Mod+Shift+K { focus-monitor-up; } - Mod+Shift+L { focus-monitor-right; } - - Mod+Shift+Ctrl+H { move-column-to-monitor-left; } - Mod+Shift+Ctrl+J { move-column-to-monitor-down; } - Mod+Shift+Ctrl+K { move-column-to-monitor-up; } - Mod+Shift+Ctrl+L { move-column-to-monitor-right; } - - Mod+U { focus-workspace-down; } - Mod+I { focus-workspace-up; } - Mod+Ctrl+U { move-column-to-workspace-down; } - Mod+Ctrl+I { move-column-to-workspace-up; } - - Mod+Shift+U { move-workspace-down; } - Mod+Shift+I { move-workspace-up; } - - Mod+WheelScrollDown cooldown-ms=150 { focus-workspace-down; } - Mod+WheelScrollUp cooldown-ms=150 { focus-workspace-up; } - Mod+Ctrl+WheelScrollDown cooldown-ms=150 { move-column-to-workspace-down; } - Mod+Ctrl+WheelScrollUp cooldown-ms=150 { move-column-to-workspace-up; } - - Mod+WheelScrollRight { focus-column-right; } - Mod+WheelScrollLeft { focus-column-left; } - Mod+Ctrl+WheelScrollRight { move-column-right; } - Mod+Ctrl+WheelScrollLeft { move-column-left; } - - Mod+Shift+WheelScrollDown { focus-column-right; } - Mod+Shift+WheelScrollUp { focus-column-left; } - Mod+Ctrl+Shift+WheelScrollDown { move-column-right; } - Mod+Ctrl+Shift+WheelScrollUp { move-column-left; } - - Mod+TouchpadScrollDown { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02+"; } - Mod+TouchpadScrollUp { spawn "wpctl" "set-volume" "@DEFAULT_AUDIO_SINK@" "0.02-"; } - - Mod+1 { focus-workspace 1; } - Mod+2 { focus-workspace 2; } - Mod+3 { focus-workspace 3; } - Mod+4 { focus-workspace 4; } - Mod+5 { focus-workspace 5; } - Mod+6 { focus-workspace 6; } - Mod+7 { focus-workspace 7; } - Mod+8 { focus-workspace 8; } - Mod+9 { focus-workspace 9; } - Mod+Ctrl+1 { move-column-to-workspace 1; } - Mod+Ctrl+2 { move-column-to-workspace 2; } - Mod+Ctrl+3 { move-column-to-workspace 3; } - Mod+Ctrl+4 { move-column-to-workspace 4; } - Mod+Ctrl+5 { move-column-to-workspace 5; } - Mod+Ctrl+6 { move-column-to-workspace 6; } - Mod+Ctrl+7 { move-column-to-workspace 7; } - Mod+Ctrl+8 { move-column-to-workspace 8; } - Mod+Ctrl+9 { move-column-to-workspace 9; } - - Mod+Tab { focus-workspace-previous; } - - Mod+BracketLeft { consume-or-expel-window-left; } - Mod+BracketRight { consume-or-expel-window-right; } - - Mod+Comma { consume-window-into-column; } - Mod+Period { expel-window-from-column; } - - Mod+R { switch-preset-column-width; } - Mod+Shift+R { switch-preset-window-height; } - Mod+Ctrl+R { reset-window-height; } - Mod+F { maximize-column; } - Mod+Shift+F { fullscreen-window; } - Mod+Ctrl+F { expand-column-to-available-width; } - - Mod+Minus { set-column-width "-10%"; } - Mod+Equal { set-column-width "+10%"; } - - Mod+Shift+Minus { set-window-height "-10%"; } - Mod+Shift+Equal { set-window-height "+10%"; } - - Mod+V { toggle-window-floating; } - Mod+Shift+V { switch-focus-between-floating-and-tiling; } - - Mod+W { toggle-column-tabbed-display; } - - Mod+Space { switch-layout "next"; } - Mod+Shift+Space { switch-layout "prev"; } - - Print { screenshot; } - Ctrl+Print { screenshot-screen; } - Alt+Print { screenshot-window; } - - Mod+Escape allow-inhibiting=false { toggle-keyboard-shortcuts-inhibit; } - - Mod+Shift+Q { quit; } - Ctrl+Alt+Delete { quit; } - - Mod+Shift+P { power-off-monitors; } -} diff --git a/niri/.config/niri/setup_wob.sh b/niri/.config/niri/setup_wob.sh deleted file mode 100755 index b19fb50..0000000 --- a/niri/.config/niri/setup_wob.sh +++ /dev/null @@ -1,3 +0,0 @@ -#!/bin/sh - -rm -f ~/.cache/wob.sock && mkfifo ~/.cache/wob.sock && tail -f ~/.cache/wob.sock | wob & diff --git a/niri/.config/niri/swayidle.sh b/niri/.config/niri/swayidle.sh deleted file mode 100755 index bcf6264..0000000 --- a/niri/.config/niri/swayidle.sh +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -killall swayidle - -swayidle -w \ - timeout 300 '~/.config/niri/timeout.sh' \ - before-sleep 'swaylock -f -c 000000' diff --git a/niri/.config/niri/timeout.sh b/niri/.config/niri/timeout.sh deleted file mode 100755 index 647af41..0000000 --- a/niri/.config/niri/timeout.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh - -caffeine_file=$HOME/.cache/idle - -if [[ ! -f $caffeine_file ]] then - echo 0 > $caffeine_file -fi - -caffeine=$(<$HOME/.cache/idle) - -if [[ $caffeine -eq 0 ]] then - swaylock -f -c 000000 -else - notify-send 'Caffeine' 'Not sleeping' -fi diff --git a/niri/.config/niri/toggle_caffeine.sh b/niri/.config/niri/toggle_caffeine.sh deleted file mode 100755 index e7fcb13..0000000 --- a/niri/.config/niri/toggle_caffeine.sh +++ /dev/null @@ -1,17 +0,0 @@ -#!/bin/sh - -caffeine_file=$HOME/.cache/idle - -if [[ ! -f $caffeine_file ]] then - echo 0 > $caffeine_file -fi - -caffeine=$(<$HOME/.cache/idle) - -if [[ $caffeine -eq 0 ]] then - echo 1 > $caffeine_file - notify-send 'Caffeine' 'Caffeine Enabled' -else - echo 0 > $caffeine_file - notify-send 'Caffeine' 'Caffeine Disabled' -fi diff --git a/niri/.config/niri/volume.sh b/niri/.config/niri/volume.sh deleted file mode 100755 index 80216b0..0000000 --- a/niri/.config/niri/volume.sh +++ /dev/null @@ -1,9 +0,0 @@ -#!/bin/sh - -if [ $1 = "up" ]; then - wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02+ -else - wpctl set-volume @DEFAULT_AUDIO_SINK@ 0.02- -fi - -wpctl get-volume @DEFAULT_AUDIO_SINK@ | sed 's/Volume: 0.//' > ~/.cache/wob.sock diff --git a/niri/.config/niri/wallpaper.jpg b/niri/.config/niri/wallpaper.jpg deleted file mode 100644 index 9ca0c04..0000000 Binary files a/niri/.config/niri/wallpaper.jpg and /dev/null differ diff --git a/river/.config/river/init b/river/.config/river/init deleted file mode 100755 index 80d2901..0000000 --- a/river/.config/river/init +++ /dev/null @@ -1,7 +0,0 @@ -#!/bin/sh - -wlr-randr --output eDP-1 --scale 1.25 & - -$HOME/repos/damblocks/damblocks | kwm & -killall -q mpc -damblocks-mpdd diff --git a/scripts/.local/bin/books.sh b/scripts/.local/bin/books.sh index efb73a0..6809cf3 100755 --- a/scripts/.local/bin/books.sh +++ b/scripts/.local/bin/books.sh @@ -1,12 +1,8 @@ #!/bin/sh prefix=$HOME/Nextcloud/Books/ -# dmenu="pipemenu --title Books" -# dmenu="fuzzel -d -p books -w 80" dmenu="bemenu -p books --center --list 20 down --width-factor 0.5 --border 2 --bdr #fabd2f" -# pdf=zathura -pdf=sioyek -# pdf="flatpak run org.gnome.Papers" +pdf=zathura choice=$(find $prefix -type f | sed "s|$prefix||;s/_/ /g" | $dmenu) diff --git a/scripts/.local/bin/papers.sh b/scripts/.local/bin/papers.sh index 698e0dd..1054b6a 100755 --- a/scripts/.local/bin/papers.sh +++ b/scripts/.local/bin/papers.sh @@ -2,9 +2,7 @@ prefix=$HOME/Nextcloud/Papers/ dmenu="bemenu -p papers --center --list 20 down --width-factor 0.5 --border 2 --bdr #fabd2f" -# pdf=zathura -pdf=sioyek -# pdf="flatpak run org.gnome.Papers" +pdf=zathura choice=$(find $prefix -type f | sed "s|$prefix||;s/_/ /g" | $dmenu) diff --git a/wezterm/.config/wezterm/wezterm.lua b/wezterm/.config/wezterm/wezterm.lua deleted file mode 100644 index 38bd802..0000000 --- a/wezterm/.config/wezterm/wezterm.lua +++ /dev/null @@ -1,15 +0,0 @@ -local wezterm = require 'wezterm' - -local config = wezterm.config_builder() - -config.color_scheme = 'Catppuccin Mocha' -config.font = wezterm.font('Iosevka Nerd Font Mono') -config.font_size = 15.0 - -config.default_cursor_style = 'SteadyBar' - -config.hide_tab_bar_if_only_one_tab = true -config.use_fancy_tab_bar = false -config.tab_bar_at_bottom = true - -return config diff --git a/zathura/.config/zathura/zathurarc b/zathura/.config/zathura/zathurarc index de561f8..fbf1901 100644 --- a/zathura/.config/zathura/zathurarc +++ b/zathura/.config/zathura/zathurarc @@ -1,4 +1,3 @@ -# include catppuccin-mocha include gruvbox-dark map ,r recolor