config 12 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367
  1. ##### i3-config / RESLOVED #######################
  2. ##### GENERAL #####################################
  3. set $mod Mod4
  4. font pango:Ubuntu Condensed 9
  5. # APP VARIABLES
  6. set $qute qutebrowser --target window
  7. set $firefox firefox --new-window
  8. set $surf surf
  9. set $term alacritty
  10. # DIR VARIABLES
  11. set $bin ~/bin
  12. # RESIZE VARIABLES
  13. set $center move absolute position center
  14. # FLOATING
  15. floating_modifier $mod
  16. set $thick 2
  17. # DEFAULT BORDER
  18. for_window [class="^.*"] border pixel $thick
  19. for_window [class=".*"] title_window_icon on
  20. hide_edge_borders vertical
  21. # APPLICATION BORDERS
  22. #for_window [class="Emacs"] border pixel $thick
  23. for_window [class="st"] border pixel $thick
  24. # FLOATING APPLICATIONS
  25. #for_window [class="Orca"] floating enable
  26. for_window [class="Foliate"] floating enable
  27. for_window [class="Foliate"] floating_maximum_size 400 x 800
  28. #for_window [class="Surf"] floating enable
  29. #for_window [class="Surf"] floating_maximum_size 800 x 550
  30. # GAP VARIABLES
  31. set $inner 7
  32. set $outer 7
  33. # SET GAPS
  34. gaps inner $inner
  35. gaps outer $outer
  36. # START POLYBAR
  37. #exec_always --no-startup-id ~/.config/polybar/launch.sh
  38. bar {
  39. position bottom
  40. position top
  41. status_command i3status -c ~/.config/i3status/i3status.conf
  42. colors {
  43. statusline #deedee
  44. separator #777777
  45. }
  46. }
  47. # CUSTOM BINDINGS
  48. #bindsym $mod+shift+m exec --no-startup-id surf https://15five-dev.atlassian.net/secure/Dashboard.jspa
  49. # SCRATCHPAD
  50. bindsym $mod+Return exec rofi -show ssh
  51. bindsym $mod+Shift+Return exec $term
  52. bindsym $mod+BackSpace exec $term --working-directory ~/src/github.com/15five/fifteen5/
  53. #bindsym $mod+Shift+BackSpace floating enable, move position 48 px 48 px, move scratchpad
  54. #bindsym $mod+Ctrl+BackSpace exec $term -e tmux new-session -A -s scratch
  55. # KILL
  56. bindsym $mod+Shift+q kill
  57. bindsym $mod+Shift+x exec exit
  58. # RELOAD
  59. bindsym $mod+Shift+BackSpace reload
  60. # RESTART
  61. bindsym $mod+Shift+r restart
  62. bindsym $mod+w layout toggle split
  63. bindsym $mod+Ctrl+w layout stacked
  64. bindsym $mod+Shift+w layout tabbed
  65. title_align center
  66. ##### MOVEMENT ####################################
  67. # WORKSPACES
  68. bindsym $mod+Ctrl+Shift+h move workspace to output left
  69. bindsym $mod+Ctrl+Shift+l move workspace to output right
  70. bindsym $mod+Ctrl+Shift+j move workspace to output down
  71. bindsym $mod+Ctrl+Shift+k move workspace to output up
  72. # FOCUS
  73. bindsym $mod+h focus left
  74. bindsym $mod+j focus down
  75. bindsym $mod+k focus up
  76. bindsym $mod+l focus right
  77. bindsym $mod+Left focus left
  78. bindsym $mod+Down focus down
  79. bindsym $mod+Up focus up
  80. bindsym $mod+Right focus right
  81. # MOVE
  82. bindsym $mod+Ctrl+h move left
  83. bindsym $mod+Ctrl+j move down
  84. bindsym $mod+Ctrl+k move up
  85. bindsym $mod+Ctrl+l move right
  86. bindsym $mod+Ctrl+Left move left
  87. bindsym $mod+Ctrl+Down move down
  88. bindsym $mod+Ctrl+Up move up
  89. bindsym $mod+Ctrl+Right move right
  90. # RESIZE
  91. bindsym $mod+Shift+h resize shrink width 20px or 20 ppt
  92. bindsym $mod+Shift+j resize shrink height 20px or 20 ppt
  93. bindsym $mod+Shift+k resize grow height 20px or 20 ppt
  94. bindsym $mod+Shift+l resize grow width 20px or 20 ppt
  95. bindsym $mod+Shift+Left resize shrink width 10px or 10 ppt
  96. bindsym $mod+Shift+Down resize shrink height 10px or 10 ppt
  97. bindsym $mod+Shift+Up resize grow height 10px or 10 ppt
  98. bindsym $mod+Shift+Right resize grow width 10px or 10 ppt
  99. # VERTICAL SPLIT
  100. bindsym $mod+v split v
  101. # HORIZONTAL SPLIT
  102. bindsym $mod+b split h
  103. # FULLSCREEN
  104. bindsym $mod+f fullscreen toggle
  105. # TOGGLE FLOATING
  106. ##bindsym $mod+escape floating toggle; $center
  107. # MODE TOGGLE
  108. bindsym $mod+Shift+space focus mode_toggle
  109. # PAPER MODE
  110. bindsym $mod+Ctrl+space floating toggle; resize set 780px 880px;
  111. # Small PAPER MODE
  112. bindsym $mod+Ctrl+p floating toggle; resize set 480px 580px;
  113. # CENTER FLOATING
  114. bindsym $mod+c $center
  115. # DISPLAYS
  116. bindsym $mod+F1 exec ~/.screenlayout/titan-one.sh
  117. bindsym $mod+F2 exec ~/.screenlayout/titan-two.sh
  118. bindsym $mod+F3 exec ~/.screenlayout/titan-three.sh
  119. bindsym $mod+F4 exec ~/.screenlayout/titan-three-vert.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. #assign [class="Firefox"] $ws1
  132. #assign [class="emacs"] $ws2
  133. #assign [class="^Zoom"] $ws5
  134. # SWITCH TO WORKSPACE
  135. bindsym $mod+1 workspace $ws1
  136. bindsym $mod+2 workspace $ws2
  137. bindsym $mod+3 workspace $ws3
  138. bindsym $mod+4 workspace $ws4
  139. bindsym $mod+5 workspace $ws5
  140. bindsym $mod+6 workspace $ws6
  141. bindsym $mod+7 workspace $ws7
  142. bindsym $mod+8 workspace $ws8
  143. bindsym $mod+9 workspace $ws9
  144. bindsym $mod+Mod2+KP_1 workspace $ws1
  145. bindsym $mod+Mod2+KP_2 workspace $ws2
  146. bindsym $mod+Mod2+KP_3 workspace $ws3
  147. bindsym $mod+Mod2+KP_4 workspace $ws4
  148. bindsym $mod+Mod2+KP_5 workspace $ws5
  149. bindsym $mod+Mod2+KP_6 workspace $ws6
  150. bindsym $mod+Mod2+KP_7 workspace $ws7
  151. bindsym $mod+Mod2+KP_8 workspace $ws8
  152. bindsym $mod+Mod2+KP_9 workspace $ws9
  153. # MOVE WINDOW TO WORKSPACE
  154. bindsym $mod+Shift+1 move container to workspace $ws1
  155. bindsym $mod+Shift+2 move container to workspace $ws2
  156. bindsym $mod+Shift+3 move container to workspace $ws3
  157. bindsym $mod+Shift+4 move container to workspace $ws4
  158. bindsym $mod+Shift+5 move container to workspace $ws5
  159. bindsym $mod+Shift+6 move container to workspace $ws6
  160. bindsym $mod+Shift+7 move container to workspace $ws7
  161. bindsym $mod+Shift+8 move container to workspace $ws8
  162. bindsym $mod+Shift+9 move container to workspace $ws9
  163. bindsym $mod+Ctrl+Mod2+KP_1 move container to workspace $ws1
  164. bindsym $mod+Ctrl+Mod2+KP_2 move container to workspace $ws2
  165. bindsym $mod+Ctrl+Mod2+KP_3 move container to workspace $ws3
  166. bindsym $mod+Ctrl+Mod2+KP_4 move container to workspace $ws4
  167. bindsym $mod+Ctrl+Mod2+KP_5 move container to workspace $ws5
  168. bindsym $mod+Ctrl+Mod2+KP_6 move container to workspace $ws6
  169. bindsym $mod+Ctrl+Mod2+KP_7 move container to workspace $ws7
  170. bindsym $mod+Ctrl+Mod2+KP_8 move container to workspace $ws8
  171. bindsym $mod+Ctrl+Mod2+KP_9 move container to workspace $ws9
  172. ##=================================================##
  173. # Assign Workspaces:
  174. #assign [class="Emacs"] $ws1
  175. #assign [class=$qute] $ws2
  176. #assign [class=$term] $ws3
  177. #assign [class="calibre"] $ws5
  178. #assign [class="Foliate"] $ws5
  179. ##### COLORS #######################################
  180. # XRESOURCES
  181. set $fg "#FF0F80"
  182. set $bg "#000000"
  183. set $tx "#FFFFFF"
  184. set $ltx "#CCCCCC"
  185. # CLASS BORDER BACK TEXT INDICATOR
  186. client.focused $fg $fg $tx $fg
  187. client.focused_inactive $bg $bg $tx $fg
  188. client.unfocused $bg $bg $ltx $bg
  189. client.urgent $bg $bg $bg $bg
  190. client.placeholder $bg $bg $bg $bg
  191. ##### TOOLS ########################################
  192. # bindsym $mod+F11 exec --no-startup-id systemctl --user restart canon-webcam
  193. # bindsym $mod+F12 exec --no-startup-id ffplay /dev/video5
  194. # SCREENSHOT
  195. set $shots ~/var/media/screenshots
  196. bindsym $mod+Print exec maim --hidecursor $shots/$(date +%s).png
  197. bindsym $mod+Ctrl+Print exec screencap
  198. bindsym $mod+Shift+Print exec pkill ffmpeg
  199. # CAST
  200. set $casts ~/videos/casts
  201. #bindsym $mod+Ctrl+F11 exec anypaste -x -s -p streamable $(last $casts)
  202. #bindsym $mod+Shift+F11 exec ffplay -loop 0 $(last $casts)
  203. # Sreen brightness controls
  204. bindsym F5 exec ~/.bin/fade down
  205. bindsym F6 exec ~/.bin/fade up
  206. bindsym XF86MonBrightnessUp exec ~/.config/i3/bright.sh -u # increase screen brightness
  207. bindsym XF86MonBrightnessDown exec ~/.config/i3/bright.sh -d # decrease screen brightness
  208. bindsym XF86Search exec ~/.config/i3/bright.sh 1 # decrease screen brightness
  209. #bindsym F5 exec ~/.config/i3/bright.sh -d # decrease screen brightness
  210. #bindsym F6 exec ~/.config/i3/bright.sh -u # increase screen brightness
  211. # ROFI
  212. bindsym $mod+space exec rofi -show combi -display-window "W"
  213. bindsym $mod+P exec --no-startup-id ~/.config/rofi/rofi-pass.sh
  214. bindsym $mod+Shift+p exec --no-startup-id ~/.config/rofi/rofi-otp.sh
  215. bindsym $mod+o exec --no-startup-id ~/.config/rofi/www.sh
  216. bindsym $mod+Shift+o exec --no-startup-id ~/.config/rofi/www-incognito.sh
  217. bindsym $mod+s exec --no-startup-id ~/.config/rofi/web-search.sh
  218. bindsym $mod+Shift+b exec --no-startup-id ~/.config/rofi/books-search.sh
  219. bindsym $mod+Shift+s exec --no-startup-id ~/.config/rofi/slack.sh
  220. # Lock with
  221. bindsym $mod+Shift+F12 exec --no-startup-id i3lock -i ~/var/media/backgrounds/astrobin/`ls -Ar ~/var/media/backgrounds/astrobin/ | tail -n 1` -t
  222. # BACKGROUND
  223. #exec hsetroot -cover ~/var/media/backgrounds/bing/`ls -A ~/var/media/backgrounds/bing | tail -n 1`
  224. ##### APP BINDS ###################################
  225. bindsym $mod+n exec $qute --target window
  226. bindsym $mod+Shift+n exec $qute --target private-window
  227. bindsym $mod+Shift+c exec org-capture
  228. bindsym $mod+Shift+y exec xfreerdp /u:powellc /p:mainroot /v:telesto.local /w:1200 /h:700
  229. bindsym $mod+Ctrl+y exec pkill xfreerdp
  230. bindsym Print exec --no-startup-id flameshot gui
  231. bindsym $mod+F6 exec --no-startup-id $surf https://15five.slack.com
  232. bindsym F7 exec --no-startup-id $qute https://15five-dev.atlassian.net/secure/Dashboard.jspa
  233. bindsym $mod+F7 exec --no-startup-id $qute https://app.datadoghq.com/logs
  234. bindsym F8 exec --no-startup-id $firefox https://15five.15five.com/report/current/
  235. bindsym $mod+F8 exec --no-startup-id $firefox
  236. bindsym F9 exec --no-startup-id $qute https://my.five.unbl.ink/
  237. bindsym $mod+F9 exec --no-startup-id $qute https://my.five.unbl.ink/admin/dj/
  238. bindsym F10 exec --no-startup-id $qute https://admin.cloud100.15five.com/admin/dj
  239. bindsym $mod+F10 exec --no-startup-id $qute
  240. bindsym F11 exec --no-startup-id $qute https://15five.my.salesforce.com
  241. bindsym $mod+F11 exec --no-startup-id $qute https://15five--15fivesb.my.salesforce.com
  242. bindsym F12 exec --no-startup-id $qute https://wx.unbl.ink
  243. bindsym $mod+F12 exec --no-startup-id $qute https://podcasts.unbl.ink/
  244. bindsym $mod+Insert exec --no-startup-id zathura ~/var/documents/15five/strengths.pdf
  245. bindsym $mod+e exec emacsclient -cnq
  246. bindsym $mod+Shift+e exec emacs --daemon
  247. bindsym $mod+Ctrl+e exec pkill emacs
  248. ##### LAUNCH ######################################
  249. # STARTUP
  250. exec --no-startup-id unclutter -grab
  251. exec --no-startup-id nm-applet
  252. exec --no-startup-id copyq
  253. # RELOAD
  254. exec --no-startup-id picom --config ~/.config/compton/compton.conf
  255. exec --no-startup-id dunst
  256. exec --no-startup-id syncthing -no-qute
  257. exec xrdb --merge ~/.Xresoureces
  258. # Set wallpaper and keyboard mappings
  259. exec_always --no-startup-id changepaper
  260. exec_always setxkbmap -model pc105 -layout us,ru -option grp:ctrls_toggle -option caps:escape -option compose:ralt
  261. ## Volume control
  262. # Pulse Audio controls
  263. bindsym XF86AudioRaiseVolume exec amixer -D pulse sset Master 5%+
  264. bindsym XF86AudioLowerVolume exec amixer -D pulse sset Master 5%-
  265. bindsym XF86AudioMute exec amixer -D pulse sset Master toggle
  266. bindsym XF86AudioMicMute exec amixer -D pulse sset Capture toggle
  267. bindsym F1 exec pulseaudio-ctl mute
  268. bindsym F2 exec pulseaudio-ctl down
  269. bindsym F3 exec pulseaudio-ctl up
  270. bindsym F4 exec pulseaudio-ctl mute-input
  271. bindsym $mod+Home exec --no-startup-id cvlc https://stream.unbl.ink/mopidy
  272. bindsym $mod+Shift+Home exec --no-startup-idcvlc https://playerservices.streamtheworld.com/api/livestream-redirect/WMEAFM.mp3
  273. bindsym $mod+End exec pkill vlc
  274. bindsym $mod+z exec pulseaudio-ctl down
  275. bindsym $mod+x exec pulseaudio-ctl up
  276. # Iapetus central volume
  277. #@bindsym $mod+. exec ssh iapetus.local down
  278. #@bindsym $mod+Shift+. exec ssh iapetus.local up
  279. #@bindsym $mod+Alt+. exec ssh iapetus.local playu
  280. #@bindsym $mod+Ctrl+. exec ssh iapetus.local "pkill vlc"
  281. #bindsym XF86AudioRaiseVolume exec mixer vol +5
  282. #bindsym XF86AudioLowerVolume exec mixer vol -5
  283. #bindsym XF86AudioMicMute exec mixer mic toggle