From e27d1389b4087bca15bed22aea1567b46b7bb6a9 Mon Sep 17 00:00:00 2001 From: shockrah Date: Sat, 4 Sep 2021 22:23:53 -0700 Subject: [PATCH] * better configs for i3/polybar --- .gitignore | 2 + dotfiles/i3/config | 302 +++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 304 insertions(+) create mode 100644 dotfiles/i3/config diff --git a/.gitignore b/.gitignore index 9007cd2..2f323b9 100644 --- a/.gitignore +++ b/.gitignore @@ -2,3 +2,5 @@ test/ locs.conf msg +# Cursor files I use for the memes +cursors/ diff --git a/dotfiles/i3/config b/dotfiles/i3/config new file mode 100644 index 0000000..3939ee9 --- /dev/null +++ b/dotfiles/i3/config @@ -0,0 +1,302 @@ +# Make windows key the mod key +set $mod Mod4 + +# Font for window titles. Will also be used by the bar unless a different font +# is used in the bar {} block below. +font "Fixedsys Excelsior 3.01:16" + +# Polybar setup +exec_always --no-startup-id polybar cute + +#exec --no-startup-id xss-lock --transfer-sleep-lock -- i3lock --nofork + +# Use Mouse+$mod to drag floating windows to their wanted position +floating_modifier $mod + +# start a terminal +bindsym $mod+Return exec st +# start dmenu +bindsym $mod+p exec --no-startup-id dmenu_run + +# kill focused window +bindsym $mod+Shift+q kill + + +# change focus +bindsym $mod+h focus left +bindsym $mod+j focus down +bindsym $mod+k focus up +bindsym $mod+l focus right + +# move focused window +bindsym $mod+Shift+h move left +bindsym $mod+Shift+j move down +bindsym $mod+Shift+k move up +bindsym $mod+Shift+l move right + + +# split in horizontal orientation +bindsym $mod+bracketleft split h + +# split in vertical orientation +bindsym $mod+bracketright split v + +# enter fullscreen mode for the focused container +bindsym $mod+f fullscreen toggle + +# change container layout (stacked, tabbed, toggle split) +# bindsym $mod+w layout tabbed +bindsym $mod+e layout toggle split + +# toggle tiling / floating +bindsym $mod+Shift+space floating toggle + +# change focus between tiling / floating windows +bindsym $mod+space focus mode_toggle + +# focus the parent container +bindsym $mod+a focus parent + +# Fuck yea +workspace 1 output DP-2 +workspace 2 output DP-2 +workspace 3 output DP-2 +workspace 4 output DP-2 +workspace 5 output DP-2 +workspace 6 output DP-2 +workspace 7 output DP-2 +workspace 8 output DP-2 +workspace 9 output DP-2 +workspace 10 output DP-2 + +workspace 11 output HDMI-1 +workspace 12 output HDMI-1 +workspace 13 output HDMI-1 +workspace 14 output HDMI-1 +workspace 15 output HDMI-1 +workspace 16 output HDMI-1 +workspace 17 output HDMI-1 +workspace 18 output HDMI-1 +workspace 19 output HDMI-1 +workspace 20 output HDMI-1 + +# switch to workspace +bindsym $mod+1 workspace number 1 +bindsym $mod+2 workspace number 2 +bindsym $mod+3 workspace number 3 +bindsym $mod+4 workspace number 4 +bindsym $mod+5 workspace number 5 +bindsym $mod+6 workspace number 6 +bindsym $mod+7 workspace number 7 +bindsym $mod+8 workspace number 8 +bindsym $mod+9 workspace number 9 +bindsym $mod+0 workspace number 10 + +bindsym $mod+Ctrl+1 workspace number 11 +bindsym $mod+Ctrl+2 workspace number 12 +bindsym $mod+Ctrl+3 workspace number 13 +bindsym $mod+Ctrl+4 workspace number 14 +bindsym $mod+Ctrl+5 workspace number 15 +bindsym $mod+Ctrl+6 workspace number 16 +bindsym $mod+Ctrl+7 workspace number 17 +bindsym $mod+Ctrl+8 workspace number 18 +bindsym $mod+Ctrl+9 workspace number 19 +bindsym $mod+Ctrl+0 workspace number 20 + +# move focused container to workspace +bindsym $mod+Shift+1 move container to workspace number 1 +bindsym $mod+Shift+2 move container to workspace number 2 +bindsym $mod+Shift+3 move container to workspace number 3 +bindsym $mod+Shift+4 move container to workspace number 4 +bindsym $mod+Shift+5 move container to workspace number 5 +bindsym $mod+Shift+6 move container to workspace number 6 +bindsym $mod+Shift+7 move container to workspace number 7 +bindsym $mod+Shift+8 move container to workspace number 8 +bindsym $mod+Shift+9 move container to workspace number 9 +bindsym $mod+Shift+0 move container to workspace number 10 + +bindsym $mod+Ctrl+Shift+1 move container to workspace number 11 +bindsym $mod+Ctrl+Shift+2 move container to workspace number 12 +bindsym $mod+Ctrl+Shift+3 move container to workspace number 13 +bindsym $mod+Ctrl+Shift+4 move container to workspace number 14 +bindsym $mod+Ctrl+Shift+5 move container to workspace number 15 +bindsym $mod+Ctrl+Shift+6 move container to workspace number 16 +bindsym $mod+Ctrl+Shift+7 move container to workspace number 17 +bindsym $mod+Ctrl+Shift+8 move container to workspace number 18 +bindsym $mod+Ctrl+Shift+9 move container to workspace number 19 +bindsym $mod+Ctrl+Shift+0 move container to workspace number 20 + + +# reload the configuration file +bindsym $mod+Shift+c reload + +# restart i3 inplace (preserves your layout/session, can be used to upgrade i3) +bindsym $mod+Shift+r restart + +# exit i3 (logs you out of your X session) +bindsym $mod+Shift+e exec "i3-nagbar -t warning -m 'You pressed the exit shortcut. Do you really want to exit i3? This will end your X session.' -B 'Yes, exit i3' 'i3-msg exit'" + +# resize window (you can also use the mouse for that) +mode "resize" { + bindsym h resize shrink width 10 px or 10 ppt + bindsym k resize grow height 10 px or 10 ppt + bindsym j resize shrink height 10 px or 10 ppt + bindsym l resize grow width 10 px or 10 ppt + + # back to normal: Enter or Escape or $mod+r + bindsym Return mode "default" + bindsym Escape mode "default" + bindsym $mod+r mode "default" +} + +bindsym $mod+r mode "resize" + +# Remove titlebars from windows +default_border pixel 1 +default_floating_border pixel 1 + + +# Hiding the bar since I'm using polybar anyway +bar { + mode hide + hidden_state hide + modifier none +} + +### i3-gaps stuff ### + +# Necessary for i3-gaps to work properly (pixel can be any value) +for_window [class="^.*"] border pixel 3 + +# Smart Gaps +smart_gaps on + +# Smart Borders +smart_borders on + +# Set inner/outer gaps +gaps inner 14 +gaps outer 0 + +# Gaps mode +set $mode_gaps Gaps: (o)uter, (i)nner, (h)orizontal, (v)ertical, (t)op, (r)ight, (b)ottom, (l)eft +set $mode_gaps_outer Outer Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_inner Inner Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_horiz Horizontal Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_verti Vertical Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_top Top Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_right Right Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_bottom Bottom Gaps: +|-|0 (local), Shift + +|-|0 (global) +set $mode_gaps_left Left Gaps: +|-|0 (local), Shift + +|-|0 (global) +bindsym $mod+Shift+g mode "$mode_gaps" + +mode "$mode_gaps" { + bindsym o mode "$mode_gaps_outer" + bindsym i mode "$mode_gaps_inner" + bindsym h mode "$mode_gaps_horiz" + bindsym v mode "$mode_gaps_verti" + bindsym t mode "$mode_gaps_top" + bindsym r mode "$mode_gaps_right" + bindsym b mode "$mode_gaps_bottom" + bindsym l mode "$mode_gaps_left" + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} + +mode "$mode_gaps_outer" { + bindsym plus gaps outer current plus 5 + bindsym minus gaps outer current minus 5 + bindsym 0 gaps outer current set 0 + + bindsym Shift+plus gaps outer all plus 5 + bindsym Shift+minus gaps outer all minus 5 + bindsym Shift+0 gaps outer all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_inner" { + bindsym plus gaps inner current plus 5 + bindsym minus gaps inner current minus 5 + bindsym 0 gaps inner current set 0 + + bindsym Shift+plus gaps inner all plus 5 + bindsym Shift+minus gaps inner all minus 5 + bindsym Shift+0 gaps inner all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_horiz" { + bindsym plus gaps horizontal current plus 5 + bindsym minus gaps horizontal current minus 5 + bindsym 0 gaps horizontal current set 0 + + bindsym Shift+plus gaps horizontal all plus 5 + bindsym Shift+minus gaps horizontal all minus 5 + bindsym Shift+0 gaps horizontal all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_verti" { + bindsym plus gaps vertical current plus 5 + bindsym minus gaps vertical current minus 5 + bindsym 0 gaps vertical current set 0 + + bindsym Shift+plus gaps vertical all plus 5 + bindsym Shift+minus gaps vertical all minus 5 + bindsym Shift+0 gaps vertical all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_top" { + bindsym plus gaps top current plus 5 + bindsym minus gaps top current minus 5 + bindsym 0 gaps top current set 0 + + bindsym Shift+plus gaps top all plus 5 + bindsym Shift+minus gaps top all minus 5 + bindsym Shift+0 gaps top all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_right" { + bindsym plus gaps right current plus 5 + bindsym minus gaps right current minus 5 + bindsym 0 gaps right current set 0 + + bindsym Shift+plus gaps right all plus 5 + bindsym Shift+minus gaps right all minus 5 + bindsym Shift+0 gaps right all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_bottom" { + bindsym plus gaps bottom current plus 5 + bindsym minus gaps bottom current minus 5 + bindsym 0 gaps bottom current set 0 + + bindsym Shift+plus gaps bottom all plus 5 + bindsym Shift+minus gaps bottom all minus 5 + bindsym Shift+0 gaps bottom all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +mode "$mode_gaps_left" { + bindsym plus gaps left current plus 5 + bindsym minus gaps left current minus 5 + bindsym 0 gaps left current set 0 + + bindsym Shift+plus gaps left all plus 5 + bindsym Shift+minus gaps left all minus 5 + bindsym Shift+0 gaps left all set 0 + + bindsym Return mode "$mode_gaps" + bindsym Escape mode "default" +} +