My dotfiles for my Linux rice managed with stow and make
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

config 16KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479
  1. # $mod = Alt
  2. set $mod Mod1
  3. floating_modifier $mod
  4. # set variables
  5. set $browser 'qutebrowser'
  6. set $term 'urxvt'
  7. set $cliprog --no-startup-id zsh /home/micah/.config/i3/scripts/cliprog
  8. set $runner --no-startup-id urxvt -e /home/micah/.config/i3/scripts/runner
  9. set $i3exit "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'"
  10. ###############
  11. # LOOK & FEEL #
  12. ###############
  13. # Set fonts
  14. font pango:System San Francisco Display, FontAwesome 13
  15. # set up gaps
  16. for_window [class="^.*"] border pixel 10
  17. gaps inner 15
  18. # colors
  19. #set $bg-color #676E7D
  20. #set $inactive-bg-color #2f343f
  21. #set $text-color #f3f4f5
  22. #set $inactive-text-color #676E7D
  23. #set $urgent-bg-color #E53935
  24. set_from_resource $dmenu-bg-color i3wm.color0 #f0f0f0
  25. set_from_resource $dmenu-text-color i3wm.color5 #f0f0f0
  26. set_from_resource $bg-color i3wm.color1 #f0f0f0
  27. set_from_resource $inactive-bg-color i3wm.color7 #f0f0f0
  28. set_from_resource $text-color i3wm.color5 #f0f0f0
  29. set_from_resource $inactive-text-color i3wm.color4 #f0f0f0
  30. set_from_resource $urgent-bg-color i3wm.color2 #f0f0f0
  31. # window colors border background text indicator
  32. client.focused $bg-color $bg-color $text-color $bg-color
  33. client.unfocused $inactive-bg-color $inactive-bg-color $inactive-text-color $inactive-bg-color
  34. client.focused_inactive $inactive-bg-color $inactive-bg-color $inactive-text-color $inactive-bg-color
  35. client.urgent $urgent-bg-color $urgent-bg-color $text-color $urgent-bg-color
  36. # hide edge borders
  37. hide_edge_borders both
  38. ##############
  39. # WORKSPACES #
  40. ##############
  41. # wokspace names
  42. set $workspace1 "1"
  43. set $workspace2 "2"
  44. set $workspace3 "3"
  45. set $workspace4 "4"
  46. set $workspace5 "5"
  47. set $workspace6 "6"
  48. set $workspace7 "7"
  49. set $workspace8 "8"
  50. set $workspace9 "9"
  51. set $workspace10 "10"
  52. ####################
  53. # DROPDOWN WINDOWS #
  54. ####################
  55. # scratchpad terminal
  56. for_window [instance="dropdown"] floating enable
  57. for_window [instance="dropdown"] resize set 900 650
  58. for_window [instance="dropdown"] move position center
  59. for_window [instance="dropdown"] move scratchpad
  60. # ranger scratchpad
  61. for_window [instance="files"] floating enable
  62. for_window [instance="files"] resize set 900 650
  63. for_window [instance="files"] move position center
  64. for_window [instance="files"] move scratchpad
  65. # start neomutt in floating window
  66. for_window [instance="email"] floating enable
  67. for_window [instance="email"] resize set 900 650
  68. for_window [instance="email"] move position center
  69. for_window [instance="email"] move scratchpad
  70. # bc scratchpad
  71. for_window [instance="math"] floating enable
  72. for_window [instance="math"] resize set 900 650
  73. for_window [instance="math"] move position center
  74. for_window [instance="math"] move scratchpad
  75. # start khal in floating window
  76. for_window [instance="cal"] floating enable
  77. for_window [instance="cal"] resize set 900 650
  78. for_window [instance="cal"] move position center
  79. for_window [instance="cal"] move scratchpad
  80. # start ddgr in floating window
  81. for_window [instance="ddgr"] floating enable
  82. for_window [instance="ddgr"] resize set 900 650
  83. for_window [instance="ddgr"] move position center
  84. for_window [instance="ddgr"] move scratchpad
  85. # start ddgr in floating window
  86. for_window [instance="weather"] floating enable
  87. for_window [instance="weather"] resize set 1200 800
  88. for_window [instance="weather"] move position center
  89. for_window [instance="weather"] move scratchpad
  90. # start glances in floating window
  91. for_window [instance="glances"] floating enable
  92. for_window [instance="glances"] resize set 1500 800
  93. for_window [instance="glances"] move position center
  94. for_window [instance="glances"] move scratchpad
  95. # rtorrent terminal
  96. for_window [instance="rtorrent"] floating enable
  97. for_window [instance="rtorrent"] resize set 1500 800
  98. for_window [instance="rtorrent"] move position center
  99. for_window [instance="rtorrent"] move scratchpad
  100. ########################
  101. # AUTORUN APPLICATIONS #
  102. ########################
  103. # start compositor
  104. exec --no-startup-id compton -f
  105. # disable trackpad
  106. exec --no-startup-id xinput set-prop "SynPS/2 Synaptics TouchPad" "Device Enabled" 0
  107. # set wallpaper and colors
  108. exec_always --no-startup-id feh --bg-scale ~/.config/wall
  109. exec_always --no-startup-id wal -R -o /home/micah/.config/Scripts/wal-set
  110. # application placements
  111. assign [class="Google-chrome"] $workspace1
  112. assign [class="Firefox"] $workspace1
  113. assign [class="qutebrowser"] $workspace1
  114. assign [class="Google Play Music Desktop Player"] $workspace3
  115. for_window [class="Cinnamon-settings.py"] floating enable
  116. # status bar
  117. exec_always --no-startup-id ~/.config/polybar/launch.sh
  118. # start dual monitor
  119. exec --no-startup-id ~/.config/Scripts/screen.sh d
  120. # browser
  121. exec --no-startup-id $browser
  122. # terminal
  123. exec --no-startup-id i3-msg 'workspace $workspace2; exec $term; workspace $workspace1'
  124. ######################
  125. # LETTER KEYBINDINGS #
  126. ######################
  127. #bindsym $mod+q
  128. bindsym $mod+Shift+q kill
  129. #bindsym $mod+Control+q
  130. #bindsym $mod+Shift+Control+q
  131. bindsym $mod+w exec --no-startup-id $browser
  132. bindsym $mod+Shift+w exec --no-startup-id $cliprog weather "wttr && read -k1 -s"
  133. #bindsym $mod+Control+w
  134. #bindsym $mod+Shift+Control+w
  135. #bindsym $mod+e
  136. #bindsym $mod+Shift+e
  137. #bindsym $mod+Control+e
  138. #bindsym $mod+Shift+Control+e
  139. bindsym $mod+r exec --no-startup-id $cliprog files "ranger"
  140. #bindsym $mod+Shift+r
  141. #bindsym $mod+Control+r
  142. #bindsym $mod+Shift+Control+r
  143. #bindsym $mod+t
  144. bindsym $mod+Shift+t exec --no-startup-id $cliprog glances "glances"
  145. #bindsym $mod+Control+t
  146. #bindsym $mod+Shift+Control+t
  147. #bindsym $mod+y
  148. bindsym $mod+Shift+y exec --no-startup-id $term -name mpsyt -e /home/micah/.config/i3/scripts/runner "mpsyt"
  149. #bindsym $mod+Control+y
  150. #bindsym $mod+Shift+Control+y
  151. bindsym $mod+u exec --no-startup-id $cliprog dropdown "tmuxinator scratchpad"
  152. bindsym $mod+Shift+u exec --no-startup-id $cliprog rtorrent "tmuxinator rtorrent"
  153. #bindsym $mod+Control+u
  154. #bindsym $mod+Shift+Control+u
  155. #bindsym $mod+i
  156. #bindsym $mod+Shift+i
  157. #bindsym $mod+Control+i
  158. #bindsym $mod+Shift+Control+i
  159. #bindsym $mod+o
  160. #bindsym $mod+Shift+o
  161. #bindsym $mod+Control+o
  162. #bindsym $mod+Shift+Control+o
  163. bindsym $mod+p gaps inner current plus 5
  164. bindsym $mod+Shift+p gaps inner current minus 5
  165. #bindsym $mod+Control+p
  166. #bindsym $mod+Shift+Control+p
  167. bindsym $mod+a focus parent
  168. #bindsym $mod+Shift+a
  169. #bindsym $mod+Control+a
  170. #bindsym $mod+Shift+Control+a
  171. bindsym $mod+s split toggle
  172. bindsym $mod+Shift+s exec --no-startup-id python2 ~/.config/i3/scripts/workspaceswap.py
  173. #bindsym $mod+Control+s
  174. #bindsym $mod+Shift+Control+s
  175. bindsym $mod+d focus child
  176. bindsym $mod+Shift+d exec --no-startup-id $cliprog ddgr "ddgr -n 8"
  177. #bindsym $mod+Control+d
  178. #bindsym $mod+Shift+Control+d
  179. bindsym $mod+f exec --no-startup-id python2 ~/.config/i3/scripts/focus.py
  180. bindsym $mod+Shift+f fullscreen toggle
  181. #bindsym $mod+Control+f
  182. #bindsym $mod+Shift+Control+f
  183. #bindsym $mod+g
  184. bindsym $mod+Shift+g exec --no-startup-id zsh /home/micah/.config/i3/scripts/music
  185. #bindsym $mod+Control+g
  186. bindsym $mod+Shift+Control+g exec --no-startup-id killall gpymusic & killall mpsyt & killall cava & echo '' > /home/micah/.nowplaying
  187. bindsym $mod+h focus left
  188. bindsym $mod+Shift+h move left
  189. bindsym $mod+Control+h resize shrink width 10 px or 10 ppt
  190. bindsym $mod+Shift+Control+h move workspace to output left
  191. bindsym $mod+j focus down
  192. bindsym $mod+Shift+j move down
  193. bindsym $mod+Control+j resize grow height 10 px or 10 ppt
  194. bindsym $mod+Shift+Control+j exec --no-startup-id amixer -D pulse sset Master 5%-
  195. bindsym $mod+k focus up
  196. bindsym $mod+Shift+k move up
  197. bindsym $mod+Control+k resize shrink height 10 px or 10 ppt
  198. bindsym $mod+Shift+Control+k exec --no-startup-id amixer -D pulse sset Master 5%+
  199. bindsym $mod+l focus right
  200. bindsym $mod+Shift+l move right
  201. bindsym $mod+Control+l resize grow width 10 px or 10 ppt
  202. bindsym $mod+Shift+Control+l move workspace to output right
  203. #bindsym $mod+z
  204. #bindsym $mod+Shift+z
  205. #bindsym $mod+Control+z
  206. #bindsym $mod+Shift+Control+z
  207. #bindsym $mod+x
  208. #bindsym $mod+Shift+x
  209. #bindsym $mod+Control+x
  210. #bindsym $mod+Shift+Control+x
  211. bindsym $mod+c exec --no-startup-id $runner "weechat"
  212. bindsym $mod+Shift+c exec --no-startup-id $cliprog cal "ikhal"
  213. #bindsym $mod+Control+c
  214. #bindsym $mod+Shift+Control+c
  215. #bindsym $mod+v
  216. bindsym $mod+Shift+v exec --no-startup-id $runner "rtv"
  217. #bindsym $mod+Control+v
  218. #bindsym $mod+Shift+Control+v
  219. #bindsym $mod+b
  220. bindsym $mod+Shift+b exec --no-startup-id $cliprog math "bc"
  221. #bindsym $mod+Control+b
  222. #bindsym $mod+Shift+Control+b
  223. #bindsym $mod+n
  224. bindsym $mod+Shift+n exec --no-startup-id $runner "newsboat"
  225. #bindsym $mod+Control+n
  226. #bindsym $mod+Shift+Control+n
  227. bindsym $mod+m exec --no-startup-id $cliprog email "neomutt"
  228. bindsym $mod+Shift+m exec --no-startup-id $term -name gpymusic -e /home/micah/.config/i3/scripts/runner "gpymusic"
  229. #bindsym $mod+Control+m
  230. bindsym $mod+Shift+Control+m exec --no-startup-id amixer -D pulse sset Master toggle
  231. ######################
  232. # NUMBER KEYBINDINGS #
  233. ######################
  234. bindsym $mod+1 workspace $workspace1
  235. bindsym $mod+Shift+1 move container to workspace $workspace1
  236. #bindsym $mod+Shift+Control+1
  237. bindsym $mod+2 workspace $workspace2
  238. bindsym $mod+Shift+2 move container to workspace $workspace2
  239. #bindsym $mod+Shift+Control+2
  240. bindsym $mod+3 workspace $workspace3
  241. bindsym $mod+Shift+3 move container to workspace $workspace3
  242. #bindsym $mod+Shift+Control+3
  243. bindsym $mod+4 workspace $workspace4
  244. bindsym $mod+Shift+4 move container to workspace $workspace4
  245. #bindsym $mod+Shift+Control+4
  246. bindsym $mod+5 workspace $workspace5
  247. bindsym $mod+Shift+5 move container to workspace $workspace5
  248. #bindsym $mod+Shift+Control+5
  249. bindsym $mod+6 workspace $workspace6
  250. bindsym $mod+Shift+6 move container to workspace $workspace6
  251. #bindsym $mod+Shift+Control+6
  252. bindsym $mod+7 workspace $workspace7
  253. bindsym $mod+Shift+7 move container to workspace $workspace7
  254. #bindsym $mod+Shift+Control+7
  255. bindsym $mod+8 workspace $workspace8
  256. bindsym $mod+Shift+8 move container to workspace $workspace8
  257. #bindsym $mod+Shift+Control+8
  258. bindsym $mod+9 workspace $workspace9
  259. bindsym $mod+Shift+9 move container to workspace $workspace9
  260. #bindsym $mod+Shift+Control+9
  261. bindsym $mod+0 workspace $workspace10
  262. bindsym $mod+Shift+0 move container to workspace $workspace10
  263. #bindsym $mod+Shift+Control+0
  264. #######################
  265. # SPECIAL KEYBINDINGS #
  266. #######################
  267. #bindsym $mod+grave
  268. #bindsym $mod+Shift+grave
  269. #bindsym $mod+Shift+Control+grave
  270. #bindsym $mod+minus
  271. #bindsym $mod+Shift+minus
  272. #bindsym $mod+Shift+Control+minus
  273. #bindsym $mod+equal
  274. #bindsym $mod+Shift+equal
  275. #bindsym $mod+Shift+Control+equal
  276. bindsym $mod+Tab workspace back_and_forth
  277. #bindsym $mod+Shift+Tab
  278. #bindsym $mod+Shift+Control+Tab
  279. #bindsym $mod+bracketleft
  280. #bindsym $mod+Shift+bracketleft
  281. bindsym $mod+Shift+Control+bracketleft exec --no-startup-id light -U 10
  282. #bindsym $mod+bracketright
  283. #bindsym $mod+Shift+bracketright
  284. bindsym $mod+Shift+Control+bracketright exec --no-startup-id light -A 10
  285. #bindsym $mod+backslash
  286. #bindsym $mod+Shift+backslash
  287. #bindsym $mod+Shift+Control+backslash
  288. #bindsym $mod+semicolon
  289. bindsym $mod+Shift+semicolon exec --no-startup-id $term -name cava -e /home/micah/.config/i3/scripts/runner "cava"
  290. #bindsym $mod+Shift+Control+semicolon
  291. #bindsym $mod+apostrophe
  292. #bindsym $mod+Shift+apostrophe
  293. #bindsym $mod+Shift+Control+apostrophe
  294. bindsym $mod+Return exec --no-startup-id $term
  295. bindsym $mod+Shift+Return exec --no-startup-id j4-dmenu-desktop --dmenu="dmenu -i -nb '$dmenu-bg-color' -nf '$dmenu-text-color' -sb '$dmenu-text-color' -sf '$dmenu-bg-color' -fn 'System San Francisco Display-13'"
  296. #bindsym $mod+Shift+Control+Return
  297. #bindsym $mod+comma
  298. #bindsym $mod+Shift+comma
  299. #bindsym $mod+Shift+Control+comma
  300. #bindsym $mod+period
  301. #bindsym $mod+Shift+period
  302. #bindsym $mod+Shift+Control+period
  303. #bindsym $mod+slash
  304. #bindsym $mod+Shift+slash
  305. #bindsym $mod+Shift+Control+slash
  306. bindsym $mod+space focus mode_toggle
  307. bindsym $mod+Shift+space floating toggle
  308. bindsym $mod+Shift+Control+space exec --no-startup-id echo "cycle pause" > ~/.config/mpv/control
  309. ########################
  310. # FUNCTION KEYBINDINGS #
  311. ########################
  312. bindsym $mod+F1 exec --no-startup-id ~/.config/Scripts/screen.sh l
  313. #bindsym $mod+Shift+F1
  314. bindsym $mod+F2 exec --no-startup-id ~/.config/Scripts/screen.sh r
  315. #bindsym $mod+Shift+F2
  316. bindsym $mod+F3 exec --no-startup-id ~/.config/Scripts/screen.sh d
  317. #bindsym $mod+Shift+F3
  318. bindsym $mod+F4 exec --no-startup-id ~/.config/Scripts/screen.sh s
  319. #bindsym $mod+Shift+F4
  320. bindsym $mod+F5 exec --no-startup-id ~/.config/i3/scripts/powersaver
  321. #bindsym $mod+Shift+F5
  322. #bindsym $mod+F6
  323. #bindsym $mod+Shift+F6
  324. #bindsym $mod+F7
  325. #bindsym $mod+Shift+F7
  326. #bindsym $mod+F8
  327. #bindsym $mod+Shift+F8
  328. #bindsym $mod+F9
  329. #bindsym $mod+Shift+F9
  330. #bindsym $mod+F10
  331. #bindsym $mod+Shift+F10
  332. #bindsym $mod+F11
  333. #bindsym $mod+Shift+F11
  334. bindsym $mod+F12 exec --no-startup-id ~/.config/i3/scripts/toggletrackpad
  335. #bindsym $mod+Shift+F12
  336. bindsym Print exec --no-startup-id scrot '%Y-%m-%d_%H:%M:%S_screenshot.png'
  337. bindsym Shift+Print exec --no-startup-id scrot -u '%Y-%m-%d_%H:%M:%S_screenshot.png'
  338. bindsym $mod+Scroll_Lock exec --no-startup-id ~/.config/i3/scripts/lock/lock.sh
  339. #bindsym $mod+Shift+Scroll_Lock
  340. bindsym $mod+Pause exec --no-startup-id ~/.config/polybar/launch.sh
  341. #bindsym $mod+Shift+Pause
  342. bindsym $mod+Insert exec --no-startup-id bash /home/micah/.config/Scripts/screencast
  343. #bindsym $mod+Shift+Insert
  344. bindsym $mod+Delete exec --no-startup-id killall ffmpeg & killall screenkey
  345. #bindsym $mod+Shift+Delete
  346. #bindsym $mod+Prior
  347. #bindsym $mod+Shift+Prior
  348. bindsym $mod+Next reload
  349. bindsym $mod+Shift+Next restart
  350. bindsym $mod+Shift+Control+Next exec $i3exit
  351. #####################
  352. # MEDIA KEYBINDINGS #
  353. #####################
  354. bindsym XF86AudioLowerVolume exec --no-startup-id amixer -D pulse sset Master 5%-
  355. bindsym XF86AudioRaiseVolume exec --no-startup-id amixer -D pulse sset Master 5%+
  356. bindsym XF86AudioMute exec --no-startup-id amixer -D pulse sset Master toggle
  357. bindsym XF86AudioMicMute exec --no-startup-id pactl set-source-mute $(pacmd list-sources|awk '/\* index:/{ print $3 }') toggle
  358. bindsym XF86AudioPause exec --no-startup-id echo "cycle pause" > ~/.config/mpv/control
  359. bindsym XF86AudioNext exec --no-startup-id echo "playlist-next" > ~/.config/mpv/control
  360. bindsym XF86AudioPrev exec --no-startup-id echo "playlist-prev" > ~/.config/mpv/control
  361. bindsym XF86MonBrightnessUp exec --no-startup-id light -A 10
  362. bindsym XF86MonBrightnessDown exec --no-startup-id light -U 10
  363. bindsym XF86ScreenSaver exec --no-startup-id ~/.config/i3/scripts/lock/lock.sh
  364. bindsym XF86Launch1 exec --no-startup-id networkmanager_dmenu -i -nb '$dmenu-bg-color' -nf '$dmenu-text-color' -sb '$dmenu-text-color' -sf '$dmenu-bg-color' -fn 'System San Francisco Display-13'
  365. bindsym $mod+XF86Launch1 exec --no-startup-id ~/.config/polybar/launch.sh