config 9.4 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323
  1. ##### i3-config / RESLOVED #######################
  2. ##### GENERAL #####################################
  3. set $mod Mod4
  4. font pango:FuraCode Nerd Font Mono 8
  5. # APP VARIABLES
  6. set $browser qutebrowser
  7. set $solobrowser surf
  8. set $term alacritty
  9. # DIR VARIABLES
  10. set $bin ~/bin
  11. # RESIZE VARIABLES
  12. set $center move absolute position center
  13. # FLOATING
  14. floating_modifier $mod
  15. set $thick 2
  16. # DEFAULT BORDER
  17. for_window [class="^.*"] border pixel $thick
  18. for_window [title="^.*"] border pixel $thick
  19. # APPLICATION BORDERS
  20. #for_window [class="Emacs"] border pixel $thick
  21. for_window [class="st"] border pixel $thick
  22. # FLOATING APPLICATIONS
  23. #for_window [class="Orca"] floating enable
  24. for_window [class="Foliate"] floating enable
  25. for_window [class="Foliate"] floating_maximum_size 400 x 800
  26. for_window [class="Surf"] floating enable
  27. for_window [class="Surf"] floating_maximum_size 800 x 550
  28. # GAP VARIABLES
  29. set $inner 15
  30. set $outer 15
  31. # SET GAPS
  32. gaps inner $inner
  33. gaps outer $outer
  34. # START POLYBAR
  35. #exec_always --no-startup-id ~/.config/polybar/launch.sh
  36. bar {
  37. position bottom
  38. position top
  39. status_command i3status -c ~/.config/i3status/i3status.conf
  40. colors {
  41. statusline #deedee
  42. separator #777777
  43. }
  44. }
  45. # CUSTOM BINDINGS
  46. #bindsym $mod+shift+m exec --no-startup-id surf https://15five-dev.atlassian.net/secure/Dashboard.jspa
  47. # SCRATCHPAD
  48. bindsym $mod+Return exec $term
  49. bindsym $mod+BackSpace exec $term --working-directory ~/src/ff/fifteen5/
  50. #bindsym $mod+Shift+BackSpace floating enable, move position 48 px 48 px, move scratchpad
  51. #bindsym $mod+Ctrl+BackSpace exec $term -e tmux new-session -A -s scratch
  52. # KILL
  53. bindsym $mod+Shift+q kill
  54. bindsym $mod+Ctrl+x exec rofi-exit
  55. bindsym $mod+Shift+x exec exit
  56. # RELOAD
  57. bindsym $mod+Shift+BackSpace reload
  58. # RESTART
  59. bindsym $mod+Shift+r restart
  60. bindsym $mod+w layout toggle split
  61. bindsym $mod+Ctrl+w layout stacked
  62. bindsym $mod+Shift+w layout tabbed
  63. title_align center
  64. ##### MOVEMENT ####################################
  65. # FOCUS
  66. bindsym $mod+h focus left
  67. bindsym $mod+j focus down
  68. bindsym $mod+k focus up
  69. bindsym $mod+l focus right
  70. bindsym $mod+Left focus left
  71. bindsym $mod+Down focus down
  72. bindsym $mod+Up focus up
  73. bindsym $mod+Right focus right
  74. # MOVE
  75. bindsym $mod+Ctrl+h move left
  76. bindsym $mod+Ctrl+j move down
  77. bindsym $mod+Ctrl+k move up
  78. bindsym $mod+Ctrl+l move right
  79. bindsym $mod+Ctrl+Left move left
  80. bindsym $mod+Ctrl+Down move down
  81. bindsym $mod+Ctrl+Up move up
  82. bindsym $mod+Ctrl+Right move right
  83. # RESIZE
  84. bindsym $mod+Shift+h resize shrink width 20px or 20 ppt
  85. bindsym $mod+Shift+j resize shrink height 20px or 20 ppt
  86. bindsym $mod+Shift+k resize grow height 20px or 20 ppt
  87. bindsym $mod+Shift+l resize grow width 20px or 20 ppt
  88. bindsym $mod+Shift+Left resize shrink width 10px or 10 ppt
  89. bindsym $mod+Shift+Down resize shrink height 10px or 10 ppt
  90. bindsym $mod+Shift+Up resize grow height 10px or 10 ppt
  91. bindsym $mod+Shift+Right resize grow width 10px or 10 ppt
  92. bindsym $mod+Shift+Ctrl+h resize shrink width 1px or 1 ppt
  93. bindsym $mod+Shift+Ctrl+j resize shrink height 1px or 1 ppt
  94. bindsym $mod+Shift+Ctrl+k resize grow height 1px or 1 ppt
  95. bindsym $mod+Shift+Ctrl+l resize grow width 1px or 1 ppt
  96. bindsym $mod+Shift+Ctrl+Left resize shrink width 1px or 1 ppt
  97. bindsym $mod+Shift+Ctrl+Down resize shrink height 1px or 1 ppt
  98. bindsym $mod+Shift+Ctrl+Up resize grow height 1px or 1 ppt
  99. bindsym $mod+Shift+Ctrl+Right resize grow width 1px or 1 ppt
  100. # VERTICAL SPLIT
  101. bindsym $mod+v split v
  102. # HORIZONTAL SPLIT
  103. bindsym $mod+b split h
  104. # FULLSCREEN
  105. bindsym $mod+f fullscreen toggle
  106. # TOGGLE FLOATING
  107. ##bindsym $mod+escape floating toggle; $center
  108. # MODE TOGGLE
  109. bindsym $mod+Shift+space focus mode_toggle
  110. # PAPER MODE
  111. bindsym $mod+Ctrl+space floating toggle; resize set 780px 880px;
  112. # Small PAPER MODE
  113. bindsym $mod+Ctrl+p floating toggle; resize set 480px 580px;
  114. # CENTER FLOATING
  115. bindsym $mod+c $center
  116. # DISPLAYS
  117. bindsym $mod+F1 exec ~/.screenlayout/titan-one.sh
  118. bindsym $mod+F2 exec ~/.screenlayout/titan-two.sh
  119. bindsym $mod+F3 exec ~/.screenlayout/titan-three.sh
  120. ##### WORKSPACES ##################################
  121. # WORKSPACES
  122. set $ws1 number 1
  123. set $ws2 number 2
  124. set $ws3 number 3
  125. set $ws4 number 4
  126. set $ws5 number 5
  127. set $ws6 number 6
  128. set $ws7 number 7
  129. set $ws8 number 8
  130. set $ws9 number 9
  131. #set $ws10 "10"
  132. # SWITCH TO WORKSPACE
  133. bindsym $mod+1 workspace $ws1
  134. bindsym $mod+2 workspace $ws2
  135. bindsym $mod+3 workspace $ws3
  136. bindsym $mod+4 workspace $ws4
  137. bindsym $mod+5 workspace $ws5
  138. bindsym $mod+6 workspace $ws6
  139. bindsym $mod+7 workspace $ws7
  140. bindsym $mod+8 workspace $ws8
  141. bindsym $mod+9 workspace $ws9
  142. bindsym $mod+Mod2+KP_1 workspace $ws1
  143. bindsym $mod+Mod2+KP_2 workspace $ws2
  144. bindsym $mod+Mod2+KP_3 workspace $ws3
  145. bindsym $mod+Mod2+KP_4 workspace $ws4
  146. bindsym $mod+Mod2+KP_5 workspace $ws5
  147. bindsym $mod+Mod2+KP_6 workspace $ws6
  148. bindsym $mod+Mod2+KP_7 workspace $ws7
  149. bindsym $mod+Mod2+KP_8 workspace $ws8
  150. bindsym $mod+Mod2+KP_9 workspace $ws9
  151. # MOVE WINDOW TO WORKSPACE
  152. bindsym $mod+Shift+1 move container to workspace $ws1
  153. bindsym $mod+Shift+2 move container to workspace $ws2
  154. bindsym $mod+Shift+3 move container to workspace $ws3
  155. bindsym $mod+Shift+4 move container to workspace $ws4
  156. bindsym $mod+Shift+5 move container to workspace $ws5
  157. bindsym $mod+Shift+6 move container to workspace $ws6
  158. bindsym $mod+Shift+7 move container to workspace $ws7
  159. bindsym $mod+Shift+8 move container to workspace $ws8
  160. bindsym $mod+Shift+9 move container to workspace $ws9
  161. bindsym $mod+Ctrl+Mod2+KP_1 move container to workspace $ws1
  162. bindsym $mod+Ctrl+Mod2+KP_2 move container to workspace $ws2
  163. bindsym $mod+Ctrl+Mod2+KP_3 move container to workspace $ws3
  164. bindsym $mod+Ctrl+Mod2+KP_4 move container to workspace $ws4
  165. bindsym $mod+Ctrl+Mod2+KP_5 move container to workspace $ws5
  166. bindsym $mod+Ctrl+Mod2+KP_6 move container to workspace $ws6
  167. bindsym $mod+Ctrl+Mod2+KP_7 move container to workspace $ws7
  168. bindsym $mod+Ctrl+Mod2+KP_8 move container to workspace $ws8
  169. bindsym $mod+Ctrl+Mod2+KP_9 move container to workspace $ws9
  170. ##=================================================##
  171. # Assign Workspaces:
  172. assign [class="Emacs"] $ws1
  173. assign [class=$browser] $ws2
  174. assign [class=$term] $ws3
  175. assign [class="calibre"] $ws5
  176. assign [class="Foliate"] $ws5
  177. ##### COLORS #######################################
  178. # XRESOURCES
  179. set $fg "#660000"
  180. set $bg "#666666"
  181. set $tx "#FFFFFF"
  182. set $ltx "#CCCCCC"
  183. # CLASS BORDER BACK TEXT INDICATOR
  184. client.focused $fg $fg $tx $fg
  185. client.focused_inactive $bg $bg $tx $fg
  186. client.unfocused $bg $bg $ltx $bg
  187. client.urgent $bg $bg $bg $bg
  188. client.placeholder $bg $bg $bg $bg
  189. ##### TOOLS ########################################
  190. # SCREENSHOT
  191. set $shots ~/var/screenshots
  192. bindsym $mod+Print exec maim --hidecursor $shots/$(date +%s).png
  193. bindsym $mod+Ctrl+Print exec maim -s $shots/$(date +%s).png
  194. bindsym $mod+Shift+Print exec feh $(last $shots)
  195. # CAST
  196. set $casts ~/videos/casts
  197. bindsym $mod+F12 exec cast
  198. bindsym $mod+Ctrl+F12 exec cast -s
  199. #bindsym $mod+Shift+F12 exec
  200. bindsym $mod+Ctrl+F11 exec anypaste -x -s -p streamable $(last $casts)
  201. bindsym $mod+Shift+F11 exec ffplay -loop 0 $(last $casts)
  202. # MEDIA CONTROLS
  203. bindsym $mod+ctrl+comma exec mixer vol 0
  204. bindsym $mod+Ctrl+period exec mixer vol 100
  205. bindsym $mod+comma exec mixer vol -10
  206. bindsym $mod+period exec mixer vol +10
  207. bindsym $mod+Shift+slash exec mixer mic 0
  208. bindsym $mod+Shift+comma exec mixer mic -5
  209. bindsym $mod+Shift+period exec mixer mic +5
  210. bindsym XF86AudioRaiseVolume exec mixer vol +5
  211. bindsym XF86AudioLowerVolume exec mixer vol -5
  212. bindsym XF86AudioMicMute exec mixer mic toggle
  213. # Sreen brightness controls
  214. bindsym $mod+F5 exec intel_backlight decr
  215. bindsym $mod+F6 exec intel_backlight incr
  216. bindsym XF86MonBrightnessUp exec ~/.config/i3/bright.sh -u # increase screen brightness
  217. bindsym XF86MonBrightnessDown exec ~/.config/i3/bright.sh -d # decrease screen brightness
  218. bindsym XF86Search exec ~/.config/i3/bright.sh 1 # decrease screen brightness
  219. # ROFI
  220. bindsym $mod+space exec rofi -show combi -display-window "W"
  221. # BACKGROUND
  222. exec hsetroot -cover ~/var/backgrounds/astrobin/`ls -Ar ~/var/backgrounds/astrobin | tail -n 1`
  223. ##### APP BINDS ###################################
  224. bindsym $mod+n exec $browser
  225. bindsym $mod+Shift+n exec ~/.config/rofi/searx-search.sh
  226. bindsym $mod+Ctrl+n exec ~/.config/rofi/web-search.sh
  227. bindsym $mod+Shift+b exec ~/.config/rofi/books-search.sh
  228. bindsym $mod+Shift+c exec ~/.config/rofi/github-repos.sh
  229. bindsym $mod+Shift+s exec ~/.config/rofi/slack.sh
  230. bindsym Print exec --no-startup-id gnome-screenshot
  231. bindsym $mod+Ctrl+i exec --no-startup-id $solobrowser https://play.unbl.ink/mobile
  232. bindsym $mod+Shift+u exec cvlc https://stream.unbl.ink/mopidy
  233. bindsym $mod+Shift+p exec cvlc https://playerservices.streamtheworld.com/api/livestream-redirect/WMEAFM.mp3
  234. bindsym $mod+Ctrl+u exec pkill vlc
  235. bindsym $mod+Ctrl+f exec $solobrowser https://15five.15five.com/
  236. bindsym $mod+e exec emacsclient -c
  237. bindsym $mod+o exec rofi-now
  238. bindsym $mod+Ctrl+o exec rofi-vol
  239. bindsym $mod+Shift+o exec rofi-bat
  240. ##### LAUNCH ######################################
  241. # STARTUP
  242. exec --no-startup-id unclutter -grab
  243. # RELOAD
  244. exec_always --no-startup-id compton
  245. exec_always --no-startup-id dunst
  246. exec_always --no-startup-id syncthing
  247. exec_always xrdb --merge ~/.Xresoureces
  248. ## Volume control
  249. # Path to volume control, without trailing slash
  250. #set $volumepath ~/.config/i3/i3-volume