summaryrefslogtreecommitdiff
path: root/i3/config
diff options
context:
space:
mode:
Diffstat (limited to 'i3/config')
-rw-r--r--i3/config167
1 files changed, 167 insertions, 0 deletions
diff --git a/i3/config b/i3/config
new file mode 100644
index 0000000..ccdfae1
--- /dev/null
+++ b/i3/config
@@ -0,0 +1,167 @@
+
+# Mod key: Super
+set $mod Mod4
+
+# ── Fonts ─────────────────────────────────────────────────────────────────────
+font pango:FiraCode Nerd Font 14
+
+# ── Autostart ─────────────────────────────────────────────────────────────────
+exec --no-startup-id dex --autostart --environment i3
+exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork
+exec --no-startup-id picom
+exec_always --no-startup-id feh --bg-fill /home/aag/walls/void.png
+exec --no-startup-id dunst
+exec --no-startup-id pipewire
+exec --no-startup-id pipewire-pulse
+exec --no-startup-id wireplumber
+exec --no-startup-id setxkbmap us -variant dvorak
+exec --no-startup-id /home/aag/.config/polybar/scripts/polkit-agent.sh
+# ── Gruvbox palette ───────────────────────────────────────────────────────────
+# bg bg1 bg2 bg3 bg4 fg fg1 red green yellow orange purple aqua gray
+set $bg #282828
+set $bg1 #3c3836
+set $bg2 #504945
+set $bg3 #665c54
+set $bg4 #7c6f64
+set $fg #ebdbb2
+set $fg1 #d5c4a1
+set $red #cc241d
+set $green #98971a
+set $yellow #d79921
+set $orange #d65d0e
+set $purple #b16286
+set $aqua #689d6a
+set $gray #928374
+
+# ── Window colors ─────────────────────────────────────────────────────────────
+# border background text indicator child_border
+client.focused $yellow $bg1 $fg $orange $yellow
+client.focused_inactive $bg2 $bg1 $fg1 $bg3 $bg2
+client.unfocused $bg $bg $bg4 $bg2 $bg
+client.urgent $red $red $fg $red $red
+client.placeholder $bg $bg $fg $bg $bg
+
+# ── Borders & gaps ────────────────────────────────────────────────────────────
+default_border pixel 2
+default_floating_border pixel 2
+hide_edge_borders smart
+gaps inner 8
+gaps outer 4
+
+# ── Mouse behavior ────────────────────────────────────────────────────────────
+floating_modifier $mod
+tiling_drag modifier titlebar
+focus_follows_mouse yes
+
+# ── Applications ──────────────────────────────────────────────────────────────
+bindsym $mod+Return exec kitty
+bindsym $mod+x exec env EXWM_SKIP=1 emacs
+bindsym $mod+r exec --no-startup-id dmenu_run \
+ -fn "FiraCode Nerd Font-14" \
+ -nb "#282828" \
+ -nf "#ebdbb2" \
+ -sb "#d79921" \
+ -sf "#282828" \
+ -b -i -l 8
+# ── Window management ─────────────────────────────────────────────────────────
+bindsym $mod+Shift+q kill
+
+# Focus (Dvorak home row: d h t n)
+bindsym $mod+d focus left
+bindsym $mod+h focus down
+bindsym $mod+t focus up
+bindsym $mod+n focus right
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right focus right
+
+# Move
+bindsym $mod+Shift+d move left
+bindsym $mod+Shift+h move down
+bindsym $mod+Shift+t move up
+bindsym $mod+Shift+n move right
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# Layout
+bindsym $mod+g split h
+bindsym $mod+v split v
+bindsym $mod+f fullscreen toggle
+bindsym $mod+s layout stacking
+bindsym $mod+w layout tabbed
+bindsym $mod+e layout toggle split
+
+# Floating
+bindsym $mod+Shift+space floating toggle
+bindsym $mod+space focus mode_toggle
+
+# Container hierarchy
+bindsym $mod+a focus parent
+
+# ── Workspaces ────────────────────────────────────────────────────────────────
+set $ws1 "1"
+set $ws2 "2"
+set $ws3 "3"
+set $ws4 "4"
+set $ws5 "5"
+set $ws6 "6"
+set $ws7 "7"
+set $ws8 "8"
+set $ws9 "9"
+set $ws10 "10"
+
+bindsym $mod+1 workspace number $ws1
+bindsym $mod+2 workspace number $ws2
+bindsym $mod+3 workspace number $ws3
+bindsym $mod+4 workspace number $ws4
+bindsym $mod+5 workspace number $ws5
+bindsym $mod+6 workspace number $ws6
+bindsym $mod+7 workspace number $ws7
+bindsym $mod+8 workspace number $ws8
+bindsym $mod+9 workspace number $ws9
+bindsym $mod+0 workspace number $ws10
+
+bindsym $mod+Shift+1 move container to workspace number $ws1
+bindsym $mod+Shift+2 move container to workspace number $ws2
+bindsym $mod+Shift+3 move container to workspace number $ws3
+bindsym $mod+Shift+4 move container to workspace number $ws4
+bindsym $mod+Shift+5 move container to workspace number $ws5
+bindsym $mod+Shift+6 move container to workspace number $ws6
+bindsym $mod+Shift+7 move container to workspace number $ws7
+bindsym $mod+Shift+8 move container to workspace number $ws8
+bindsym $mod+Shift+9 move container to workspace number $ws9
+bindsym $mod+Shift+0 move container to workspace number $ws10
+
+# ── Volume (PulseAudio) ───────────────────────────────────────────────────────
+set $refresh_i3status killall -SIGUSR1 i3status
+bindsym XF86AudioRaiseVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ +10% && $refresh_i3status
+bindsym XF86AudioLowerVolume exec --no-startup-id pactl set-sink-volume @DEFAULT_SINK@ -10% && $refresh_i3status
+bindsym XF86AudioMute exec --no-startup-id pactl set-sink-mute @DEFAULT_SINK@ toggle && $refresh_i3status
+bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute @DEFAULT_SOURCE@ toggle && $refresh_i3status
+
+# ── i3 session ────────────────────────────────────────────────────────────────
+bindsym $mod+Shift+c reload
+bindsym $mod+Shift+r restart
+bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'Exit i3 and end your X session?' -B 'Yes, exit' 'i3-msg exit'"
+
+# ── Resize mode ───────────────────────────────────────────────────────────────
+mode "resize" {
+ bindsym d resize shrink width 10 px or 10 ppt
+ bindsym n resize grow width 10 px or 10 ppt
+ bindsym h resize grow height 10 px or 10 ppt
+ bindsym t resize shrink height 10 px or 10 ppt
+ bindsym Left resize shrink width 10 px or 10 ppt
+ bindsym Right resize grow width 10 px or 10 ppt
+ bindsym Down resize grow height 10 px or 10 ppt
+ bindsym Up resize shrink height 10 px or 10 ppt
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+ bindsym $mod+Shift+r mode "default"
+}
+bindsym $mod+Shift+s mode "resize"
+
+# ── Bar ───────────────────────────────────────────────────────────────────────
+exec_always --no-startup-id ~/.config/quickshell/gruvbar/launch.sh