config 13 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365
  1. ### 00 Variables
  2. # i3 config file (v5)
  3. #
  4. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  5. # Mod1 = Alt
  6. # Mod4 = Window
  7. # TODO:
  8. # Borders
  9. # Window-specific commands
  10. # Colors
  11. # Interprocess Communication
  12. # Tab-Through Workspaces
  13. # i3bar
  14. ##Begin Definitions
  15. # Monitor Names
  16. set_from_resource $Mon1 mon1 "HDMI-0"
  17. set_from_resource $Mon2 mon2 $Mon1
  18. # status file
  19. set_from_resource $status status "laptop2"
  20. # Main control Key
  21. set $mod Mod4
  22. set $win Mod4
  23. set $alt Mod1
  24. #Set some windows to float by default
  25. for_window [class="Wine"] floating enable
  26. for_window [window_role="Msgcompose"] floating enable
  27. for_window [title="Eclipse Marketplace "] floating enable
  28. for_window [title="Friends"] floating enable
  29. for_window [class=".*Preferences.*"] floating enable
  30. # Focus ignores mouse
  31. focus_follows_mouse no
  32. # Only show pop-ups in fullscreen if it belongs to the window
  33. popup_during_fullscreen smart
  34. # Wrap if focus shifts off-screen
  35. force_focus_wrapping no
  36. # Disable mouse following screen focus
  37. mouse_warping none
  38. #Font
  39. font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
  40. ##End Definitions
  41. ### 01 Workspace
  42. ##Begin Workspace-Monitor-Associations
  43. workspace 1 output $Mon1
  44. workspace 2 output $Mon2
  45. workspace 3 output $Mon1
  46. workspace 4 output $Mon2
  47. workspace 5 output $Mon1
  48. workspace 6 output $Mon2
  49. workspace 7 output $Mon1
  50. workspace 8 output $Mon2
  51. workspace 9 output $Mon1
  52. workspace 10 output $Mon2
  53. workspace 11 output $Mon1
  54. workspace 12 output $Mon2
  55. workspace 13 output $Mon1
  56. workspace 14 output $Mon2
  57. workspace 15 output $Mon1
  58. workspace 16 output $Mon2
  59. workspace 17 output $Mon1
  60. workspace 18 output $Mon2
  61. workspace 19 output $Mon1
  62. workspace 20 output $Mon2
  63. workspace 21 output $Mon1
  64. workspace 22 output $Mon2
  65. workspace 23 output $Mon1
  66. workspace 24 output $Mon2
  67. workspace 25 output $Mon1
  68. workspace 26 output $Mon2
  69. workspace 27 output $Mon1
  70. workspace 28 output $Mon2
  71. workspace 29 output $Mon1
  72. workspace 30 output $Mon2
  73. workspace Wine output $Mon1
  74. ##End Workspace-Monitor-Associations
  75. ### 03 Mount
  76. ## Begin Mount Mode Decleration
  77. mode "mount"
  78. {
  79. bindsym c exec "udevil mount /dev/sdc1"; mode "default"
  80. bindsym d exec "udevil mount /dev/sdd1"; mode "default"
  81. bindsym e exec "udevil mount /dev/sde1"; mode "default"
  82. bindsym f exec "udevil mount /dev/sdf1"; mode "default"
  83. bindsym g exec "udevil mount /dev/sdg1"; mode "default"
  84. bindsym p exec "go-mtpfs /mnt/phone"; mode "default"
  85. bindsym XF86Eject exec "eject --traytoggle"; mode "default"
  86. bindsym u mode "eject"
  87. bindsym space mode "default"
  88. bindsym Return mode "default"
  89. bindsym Escape mode "default"
  90. }
  91. ## End Mount Mode
  92. ### 03 Eject
  93. ## Begin Eject Mode Decleration
  94. mode "eject"
  95. {
  96. bindsym c exec "udevil umount -l /dev/sdc1"; mode "default"
  97. bindsym d exec "udevil umount -l /dev/sdd1"; mode "default"
  98. bindsym e exec "udevil umount -l /dev/sde1"; mode "default"
  99. bindsym f exec "udevil umount -l /dev/sdf1"; mode "default"
  100. bindsym g exec "udevil umount -l /dev/sdg1"; mode "default"
  101. bindsym p exec "fusermount -u /mnt/phone"; mode "default"
  102. bindsym XF86Eject exec "eject --traytoggle"; mode "default"
  103. bindsym m mode "mount"
  104. bindsym space mode "default"
  105. bindsym Return mode "default"
  106. bindsym Escape mode "default"
  107. }
  108. ## End Eject Mode
  109. ### 04 Bindings
  110. ##Begin Quick-Key
  111. bindsym $mod+Return exec "xterm"
  112. bindsym $mod+d exec --no-startup-id "j4-dmenu-desktop --dmenu='dmenu -i -b'"
  113. bindsym $mod+Shift+q kill
  114. bindsym $mod+XF86Sleep exec "i3lock && sudo systemctl suspend"; reload
  115. bindsym $mod+Shift+XF86Sleep exec 'checkHibernate.sh'; reload
  116. # bindsym XF86Search
  117. bindsym XF86Go exec $BROWSER #internet button
  118. bindsym Shift+XF86Go exec "chromium --incognito"
  119. # bindcode 221 #info button
  120. bindsym XF86Mail exec thunderbird
  121. bindsym XF86Eject mode "mount"
  122. bindsym Shift+XF86Eject mode "eject"
  123. bindsym XF86AudioPrev exec "mpc prev"
  124. bindsym XF86AudioPlay exec "mpc toggle"
  125. bindsym XF86AudioNext exec "mpc next"
  126. bindsym Shift+XF86AudioPrev exec "mpc seek -00:01"
  127. bindsym Shift+XF86AudioNext exec "mpc seek +00:01"
  128. bindsym XF86AudioStop exec "mpc stop"
  129. bindsym XF86AudioLowerVolume exec "amixer sset Master 5%-"
  130. bindsym XF86AudioRaiseVolume exec "amixer sset Master 5%+"
  131. bindsym Shift+XF86AudioLowerVolume exec "amixer sset Master 2%-"
  132. bindsym Shift+XF86AudioRaiseVolume exec "amixer sset Master 2%+"
  133. bindsym $alt+Shift+XF86AudioLowerVolume exec "mpc volume -2"
  134. bindsym $alt+Shift+XF86AudioRaiseVolume exec "mpc volume +2"
  135. bindsym $alt+XF86AudioLowerVolume exec "mpc volume -5"
  136. bindsym $alt+XF86AudioRaiseVolume exec "mpc volume +5"
  137. bindsym XF86AudioMute exec "amixer sset Master toggle"
  138. bindsym F12 exec "scrot -s ~/screenshot.png"
  139. bindsym Shift+F12 exec "scrot -s ~/x.png && xclip ~/x.png && rm ~/x.png"
  140. ##End Quick-Key
  141. ##Begin Select
  142. bindsym $mod+Left focus left
  143. bindsym $mod+Down focus down
  144. bindsym $mod+Up focus up
  145. bindsym $mod+Right focus right
  146. bindsym $mod+p focus parent
  147. bindsym $mod+k focus child
  148. bindsym $mod+space focus mode_toggle
  149. ##End Select
  150. ##Begin Move
  151. bindsym $mod+Shift+Left move left
  152. bindsym $mod+Shift+Down move down
  153. bindsym $mod+Shift+Up move up
  154. bindsym $mod+Shift+Right move right
  155. bindsym $mod+Shift+space floating toggle
  156. ##End Move
  157. ##Begin Switch to Workspace
  158. bindsym $mod+1 workspace 1
  159. bindsym $mod+2 workspace 2
  160. bindsym $mod+3 workspace 3
  161. bindsym $mod+4 workspace 4
  162. bindsym $mod+5 workspace 5
  163. bindsym $mod+6 workspace 6
  164. bindsym $mod+7 workspace 7
  165. bindsym $mod+8 workspace 8
  166. bindsym $mod+9 workspace 9
  167. bindsym $mod+0 workspace 10
  168. bindsym $mod+Control+1 workspace 11
  169. bindsym $mod+Control+2 workspace 12
  170. bindsym $mod+Control+3 workspace 13
  171. bindsym $mod+Control+4 workspace 14
  172. bindsym $mod+Control+5 workspace 15
  173. bindsym $mod+Control+6 workspace 16
  174. bindsym $mod+Control+7 workspace 17
  175. bindsym $mod+Control+8 workspace 18
  176. bindsym $mod+Control+9 workspace 19
  177. bindsym $mod+Control+0 workspace 20
  178. bindsym $mod+Mod1+1 workspace 21
  179. bindsym $mod+Mod1+2 workspace 22
  180. bindsym $mod+Mod1+3 workspace 23
  181. bindsym $mod+Mod1+4 workspace 24
  182. bindsym $mod+Mod1+5 workspace 25
  183. bindsym $mod+Mod1+6 workspace 26
  184. bindsym $mod+Mod1+7 workspace 27
  185. bindsym $mod+Mod1+8 workspace 28
  186. bindsym $mod+Mod1+9 workspace 29
  187. bindsym $mod+Mod1+0 workspace 30
  188. bindsym $mod+Mod2+KP_1 workspace 1
  189. bindsym $mod+Mod2+KP_2 workspace 2
  190. bindsym $mod+Mod2+KP_3 workspace 3
  191. bindsym $mod+Mod2+KP_4 workspace 4
  192. bindsym $mod+Mod2+KP_5 workspace 5
  193. bindsym $mod+Mod2+KP_6 workspace 6
  194. bindsym $mod+Mod2+KP_7 workspace 7
  195. bindsym $mod+Mod2+KP_8 workspace 8
  196. bindsym $mod+Mod2+KP_9 workspace 9
  197. bindsym $mod+Mod2+KP_0 workspace 10
  198. bindsym $mod+Control+Mod2+KP_1 workspace 11
  199. bindsym $mod+Control+Mod2+KP_2 workspace 12
  200. bindsym $mod+Control+Mod2+KP_3 workspace 13
  201. bindsym $mod+Control+Mod2+KP_4 workspace 14
  202. bindsym $mod+Control+Mod2+KP_5 workspace 15
  203. bindsym $mod+Control+Mod2+KP_6 workspace 16
  204. bindsym $mod+Control+Mod2+KP_7 workspace 17
  205. bindsym $mod+Control+Mod2+KP_8 workspace 18
  206. bindsym $mod+Control+Mod2+KP_9 workspace 19
  207. bindsym $mod+Control+Mod2+KP_0 workspace 20
  208. bindsym $mod+Mod1+Mod2+KP_1 workspace 21
  209. bindsym $mod+Mod1+Mod2+KP_2 workspace 22
  210. bindsym $mod+Mod1+Mod2+KP_3 workspace 23
  211. bindsym $mod+Mod1+Mod2+KP_4 workspace 24
  212. bindsym $mod+Mod1+Mod2+KP_5 workspace 25
  213. bindsym $mod+Mod1+Mod2+KP_6 workspace 26
  214. bindsym $mod+Mod1+Mod2+KP_7 workspace 27
  215. bindsym $mod+Mod1+Mod2+KP_8 workspace 28
  216. bindsym $mod+Mod1+Mod2+KP_9 workspace 29
  217. bindsym $mod+Mod1+Mod2+KP_0 workspace 30
  218. bindsym $mod+w workspace Wine
  219. ##End Switch to Workspace
  220. ##Being Workspace Shift
  221. bindsym $mod+Shift+1 move container to workspace 1
  222. bindsym $mod+Shift+2 move container to workspace 2
  223. bindsym $mod+Shift+3 move container to workspace 3
  224. bindsym $mod+Shift+4 move container to workspace 4
  225. bindsym $mod+Shift+5 move container to workspace 5
  226. bindsym $mod+Shift+6 move container to workspace 6
  227. bindsym $mod+Shift+7 move container to workspace 7
  228. bindsym $mod+Shift+8 move container to workspace 8
  229. bindsym $mod+Shift+9 move container to workspace 9
  230. bindsym $mod+Shift+0 move container to workspace 10
  231. bindsym $mod+Shift+Control+1 move container to workspace 11
  232. bindsym $mod+Shift+Control+2 move container to workspace 12
  233. bindsym $mod+Shift+Control+3 move container to workspace 13
  234. bindsym $mod+Shift+Control+4 move container to workspace 14
  235. bindsym $mod+Shift+Control+5 move container to workspace 15
  236. bindsym $mod+Shift+Control+6 move container to workspace 16
  237. bindsym $mod+Shift+Control+7 move container to workspace 17
  238. bindsym $mod+Shift+Control+8 move container to workspace 18
  239. bindsym $mod+Shift+Control+9 move container to workspace 19
  240. bindsym $mod+Shift+Control+0 move container to workspace 20
  241. bindsym $mod+Shift+Mod1+1 move container to workspace 21
  242. bindsym $mod+Shift+Mod1+2 move container to workspace 22
  243. bindsym $mod+Shift+Mod1+3 move container to workspace 23
  244. bindsym $mod+Shift+Mod1+4 move container to workspace 24
  245. bindsym $mod+Shift+Mod1+5 move container to workspace 25
  246. bindsym $mod+Shift+Mod1+6 move container to workspace 26
  247. bindsym $mod+Shift+Mod1+7 move container to workspace 27
  248. bindsym $mod+Shift+Mod1+8 move container to workspace 28
  249. bindsym $mod+Shift+Mod1+9 move container to workspace 29
  250. bindsym $mod+Shift+Mod1+0 move container to workspace 30
  251. bindsym $mod+Shift+Mod2+KP_End move container to workspace 1
  252. bindsym $mod+Shift+Mod2+KP_Down move container to workspace 2
  253. bindsym $mod+Shift+Mod2+KP_Next move container to workspace 3
  254. bindsym $mod+Shift+Mod2+KP_Left move container to workspace 4
  255. bindsym $mod+Shift+Mod2+KP_Begin move container to workspace 5
  256. bindsym $mod+Shift+Mod2+KP_Right move container to workspace 6
  257. bindsym $mod+Shift+Mod2+KP_Home move container to workspace 7
  258. bindsym $mod+Shift+Mod2+KP_Up move container to workspace 8
  259. bindsym $mod+Shift+Mod2+KP_Prior move container to workspace 9
  260. bindsym $mod+Shift+Mod2+KP_Insert move container to workspace 10
  261. bindsym $mod+Shift+Control+Mod2+KP_End move container to workspace 11
  262. bindsym $mod+Shift+Control+Mod2+KP_Down move container to workspace 12
  263. bindsym $mod+Shift+Control+Mod2+KP_Next move container to workspace 13
  264. bindsym $mod+Shift+Control+Mod2+KP_Left move container to workspace 14
  265. bindsym $mod+Shift+Control+Mod2+KP_Begin move container to workspace 15
  266. bindsym $mod+Shift+Control+Mod2+KP_Right move container to workspace 16
  267. bindsym $mod+Shift+Control+Mod2+KP_Home move container to workspace 17
  268. bindsym $mod+Shift+Control+Mod2+KP_Up move container to workspace 18
  269. bindsym $mod+Shift+Control+Mod2+KP_Prior move container to workspace 19
  270. bindsym $mod+Shift+Control+Mod2+KP_Insert move container to workspace 20
  271. bindsym $mod+Shift+Mod1+Mod2+KP_End move container to workspace 21
  272. bindsym $mod+Shift+Mod1+Mod2+KP_Down move container to workspace 22
  273. bindsym $mod+Shift+Mod1+Mod2+KP_Next move container to workspace 23
  274. bindsym $mod+Shift+Mod1+Mod2+KP_Left move container to workspace 24
  275. bindsym $mod+Shift+Mod1+Mod2+KP_Begin move container to workspace 25
  276. bindsym $mod+Shift+Mod1+Mod2+KP_Right move container to workspace 26
  277. bindsym $mod+Shift+Mod1+Mod2+KP_Home move container to workspace 27
  278. bindsym $mod+Shift+Mod1+Mod2+KP_Up move container to workspace 28
  279. bindsym $mod+Shift+Mod1+Mod2+KP_Prior move container to workspace 29
  280. bindsym $mod+Shift+Mod1+Mod2+KP_Insert move container to workspace 30
  281. ##End Workspace Shift
  282. ##Begin Resize-Keys
  283. bindsym $mod+Control+Left resize grow left 2px or 2 ppt
  284. bindsym $mod+Control+Up resize grow up 2px or 2 ppt
  285. bindsym $mod+Control+Right resize grow right 2px or 2 ppt
  286. bindsym $mod+Control+Down resize grow down 2px or 2 ppt
  287. bindsym $mod+Mod1+Left resize shrink right 2px or 2 ppt
  288. bindsym $mod+Mod1+Up resize shrink down 2px or 2 ppt
  289. bindsym $mod+Mod1+Right resize shrink left 2px or 2 ppt
  290. bindsym $mod+Mod1+Down resize shrink up 2px or 2 ppt
  291. ##End Resize-Keys
  292. ##Begin Screen Management
  293. bindsym $mod+h split h
  294. bindsym $mod+v split v
  295. bindsym $mod+f fullscreen
  296. ##End Screen Management
  297. ##Begin Layouts
  298. bindsym $mod+s layout stacking
  299. bindsym $mod+t layout tabbed
  300. bindsym $mod+u layout default
  301. ##End Layouts
  302. ##Begin i3 Controls
  303. bindsym $mod+Shift+c reload
  304. bindsym $mod+Shift+r restart
  305. bindsym $mod+Shift+e exit
  306. ##End i3 Controls
  307. ## Begin i3status
  308. bar {
  309. output $Mon1
  310. position top
  311. mode dock
  312. # hidden_state show
  313. # modifier Mod1
  314. tray_output primary
  315. # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
  316. # font pango:DejaVu Sans Mono 10
  317. workspace_buttons yes
  318. colors {
  319. separator #BBFF00
  320. statusline #FFFFFF
  321. background #000033
  322. # Border Background Text
  323. focused_workspace #4c7899 #285577 #ffffff
  324. active_workspace #333333 #5f676a #ffffff
  325. inactive_workspace #333333 #222222 #888888
  326. urgent_workspace #2f343a #900000 #ffffff
  327. }
  328. status_command i3status -c "~/.i3/i3status.conf"
  329. }
  330. ## End i3status