summaryrefslogtreecommitdiff
path: root/i3
diff options
context:
space:
mode:
authorCullum Smith <cullum@sacredheartsc.com>2024-08-02 22:13:57 -0400
committerCullum Smith <cullum@sacredheartsc.com>2024-08-02 22:13:57 -0400
commit3bad8f5d64170ab0ed582a37838e120bec87fb90 (patch)
treeaebe3af0b9f2020533f2e8b7e9d1607923ee400c /i3
parent9df360b86c31398348e66ef9c3dc77b2d84ff3bd (diff)
downloaddotfiles-3bad8f5d64170ab0ed582a37838e120bec87fb90.tar.gz
add x11 and i3 stuff
Diffstat (limited to 'i3')
-rw-r--r--i3/.config/i3/config138
-rw-r--r--i3/.config/i3status/config56
2 files changed, 194 insertions, 0 deletions
diff --git a/i3/.config/i3/config b/i3/.config/i3/config
new file mode 100644
index 0000000..4ab317f
--- /dev/null
+++ b/i3/.config/i3/config
@@ -0,0 +1,138 @@
+# use windows key as modifier
+set $mod Mod4
+
+# font
+set_from_resource $font i3wm.font -xos4-terminus-medium-r-normal-*-12-*-*-*-*-*-iso10646-*
+set_from_resource $xft_font i3wm.xft_font Terminus:pixelsize=12:encoding=iso10646
+font $font
+
+# use windows key + drag to move/resize windows
+floating_modifier $mod
+
+# kill focused window
+bindsym $mod+w kill
+
+# change focus
+bindsym $mod+h focus left
+bindsym $mod+j focus down
+bindsym $mod+k focus up
+bindsym $mod+l focus right
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Left focus left
+bindsym $mod+Down focus down
+bindsym $mod+Up focus up
+bindsym $mod+Right 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
+
+# alternatively, you can use the cursor keys:
+bindsym $mod+Shift+Left move left
+bindsym $mod+Shift+Down move down
+bindsym $mod+Shift+Up move up
+bindsym $mod+Shift+Right move right
+
+# split in horizontal/vertical orientation
+bindsym $mod+b split h
+bindsym $mod+v split v
+
+# enter fullscreen mode for the focused container
+bindsym $mod+f fullscreen toggle
+
+# toggle showing window on all workspaces
+bindsym $mod+s sticky toggle
+
+# cycle through layouts for container (stacked, tabbed, split)
+bindsym $mod+x layout toggle
+
+# 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
+
+# focus the child container
+bindsym $mod+c focus child
+
+# switch to workspace
+bindsym $mod+1 workspace 1
+bindsym $mod+2 workspace 2
+bindsym $mod+3 workspace 3
+bindsym $mod+4 workspace 4
+bindsym $mod+5 workspace 5
+bindsym $mod+6 workspace 6
+bindsym $mod+7 workspace 7
+bindsym $mod+8 workspace 8
+bindsym $mod+9 workspace 9
+bindsym $mod+0 workspace 10
+
+# move focused container to workspace
+bindsym $mod+Shift+1 move container to workspace 1
+bindsym $mod+Shift+2 move container to workspace 2
+bindsym $mod+Shift+3 move container to workspace 3
+bindsym $mod+Shift+4 move container to workspace 4
+bindsym $mod+Shift+5 move container to workspace 5
+bindsym $mod+Shift+6 move container to workspace 6
+bindsym $mod+Shift+7 move container to workspace 7
+bindsym $mod+Shift+8 move container to workspace 8
+bindsym $mod+Shift+9 move container to workspace 9
+bindsym $mod+Shift+0 move container to workspace 10
+
+# move window to the scratchpad
+bindsym $mod+Shift+minus move scratchpad
+
+# show the scratchpad
+bindsym $mod+minus scratchpad show
+
+# reload the configuration file
+bindsym $mod+Shift+c reload
+
+# restart i3 inplace
+bindsym $mod+Shift+r restart
+
+# exit i3
+bindsym $mod+Shift+e exec --no-startup-id "i3-nagbar -f '$font' -t warning -m 'Exit i3?' -b 'yes' '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 j resize grow height 10 px or 10 ppt
+ bindsym k resize shrink height 10 px or 10 ppt
+ bindsym l resize grow width 10 px or 10 ppt
+
+ # same bindings, but for the arrow keys
+ bindsym Left resize shrink 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 Right resize grow width 10 px or 10 ppt
+
+ # back to normal: Enter or Escape
+ bindsym Return mode "default"
+ bindsym Escape mode "default"
+}
+bindsym $mod+r mode "resize"
+
+# i3status in bar, with system tray
+bar {
+ font $font
+ status_command i3status
+}
+
+# windows to automatically float
+for_window[class="XClock"] floating enable
+
+# Application keybindings
+bindsym $mod+Return exec --no-startup-id xterm
+bindsym Control+Mod1+l exec --no-startup-id pkill -USR1 xidle
+bindsym $mod+d exec --no-startup-id i3-dmenu-desktop --dmenu='dmenu -b -i -fn $xft_font'
+bindsym --release $mod+Shift+q exec --no-startup-id xkill
+bindsym XF86AudioLowerVolume exec --no-startup-id mixer vol.volume=-5% && pkill -USR1 i3status
+bindsym XF86AudioRaiseVolume exec --no-startup-id mixer vol.volume=+5% && pkill -USR1 i3status
+bindsym XF86AudioMute exec --no-startup-id mixer vol.mute=toggle && pkill -USR1 i3status
diff --git a/i3/.config/i3status/config b/i3/.config/i3status/config
new file mode 100644
index 0000000..86504f1
--- /dev/null
+++ b/i3/.config/i3status/config
@@ -0,0 +1,56 @@
+general {
+ colors = true
+ interval = 5
+ output_format = "i3bar"
+}
+
+ethernet _first_ {
+ format_up = "eth %ip"
+ format_down = ""
+}
+
+wireless _first_ {
+ format_up = "%essid %ip"
+ format_down = ""
+}
+
+tztime local {
+ format = "%A %Y-%m-%d %H:%M"
+}
+
+volume master {
+ format = "♪ %volume"
+ format_muted = "♪ MUTE"
+}
+
+battery all {
+ format = "%status %percentage"
+ format_down = ""
+ low_threshold = 15
+ integer_battery_capacity = true
+}
+
+load {
+ format = "%1min"
+}
+
+memory {
+ format = "%available"
+ threshold_degraded = "25%"
+ threshold_critical = "10%"
+}
+
+disk "/" {
+ format = "/ %avail"
+ low_threshold = 10
+ threshold_type = percentage_free
+}
+
+order += "ethernet _first_"
+order += "wireless _first_"
+order += "disk /"
+order += "load"
+order += "memory"
+order += "volume master"
+order += "battery all"
+order += "tztime local"