Advertisement
jv2112

I3 - Config

Jun 29th, 2014
868
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 14.57 KB | None | 0 0
  1. sset $mod Mod4
  2.  
  3. # assign workspace variables
  4.  
  5. set $M1 HDMI-0
  6. set $M2 DVI-I-1
  7. #############
  8. #Set Screens#
  9. #############
  10.  
  11. workspace $WS1 output $M1
  12. workspace $WS2 output $M1
  13. workspace $WS3 output $M1
  14. workspace $WS4 output $M1
  15. workspace $WS5 output $M2
  16. workspace $WS6 output $M2
  17. workspace $WS7 output $M2
  18. workspace $WS8 output $M2
  19. workspace $WS9 output $M2
  20. workspace $WS10 output $M1
  21.  
  22. # switch to workspace
  23. bindsym Mod4+1 workspace $WS1
  24. bindsym Mod4+2 workspace $WS2
  25. bindsym Mod4+3 workspace $WS3
  26. bindsym Mod4+4 workspace $WS4
  27. bindsym Mod4+5 workspace $WS5
  28. bindsym Mod4+6 workspace $WS6
  29. bindsym Mod4+7 workspace $WS7
  30. bindsym Mod4+8 workspace $WS8
  31. bindsym Mod4+9 workspace $WS9
  32. bindsym Mod4+0 workspace $WS10
  33.  
  34. # move focused container to workspace
  35. bindsym Mod4+Shift+1 move container to workspace $WS1
  36. bindsym Mod4+Shift+2 move container to workspace $WS2
  37. bindsym Mod4+Shift+3 move container to workspace $WS3
  38. bindsym Mod4+Shift+4 move container to workspace $WS4
  39. bindsym Mod4+Shift+5 move container to workspace $WS5
  40. bindsym Mod4+Shift+6 move container to workspace $WS6
  41. bindsym Mod4+Shift+7 move container to workspace $WS7
  42. bindsym Mod4+Shift+8 move container to workspace $WS8
  43. bindsym Mod4+Shift+9 move container to workspace $WS9
  44. bindsym Mod4+Shift+0 move container to workspace $WS10
  45.  
  46. #-------------------------------------------------------------#
  47.  
  48. #-------------------------------------#
  49. #--- C U S T O M   K E Y B I N D S ---#
  50. #-------------------------------------#
  51.  
  52. ## Application Keybinds
  53.  
  54. # Screenshot ( scrot )
  55. bindsym $mod+Print exec --no-startup-id scrot '%F--%I:%M:%S:%p--$wx$h--scrot.png' -e 'mv $f /home/joe/Screenshots/' && notify-send 'Scrot Saved !'
  56.  
  57.  
  58. bindsym $mod+u exec --no-startup-id lxterminal -e tmux
  59. # kill focused window
  60. bindsym $mod+Shift+Q kill
  61.  
  62. # Audio Controls
  63. bindsym  XF86_AudioLowerVolume exec amixer -q set Master 5%- unmute
  64. bindsym  XF86_AudioMute  exec amixer -q set Master playback toggle
  65. bindsym  XF86_AudioRaiseVolume exec amixer -q set Master 5%+ unmute
  66. bindsym  XF86_AudioStop exec mpc stop
  67. bindsym  XF86_AudioPrev exec mpc prev
  68. bindsym  XF86_AudioNext exec mpc next
  69. bindsym  XF86_AudioPlay exec mpc toggle
  70.  
  71.  
  72. #----------------Window , Container , Workspace ----------------------------------------#
  73.  
  74. # change focus
  75. bindsym $mod+j focus left
  76. bindsym $mod+k focus down
  77. bindsym $mod+l focus up
  78. bindsym $mod+semicolon focus right
  79.  
  80. # alternatively, you can use the cursor keys:
  81. bindsym $mod+Left focus left
  82. bindsym $mod+Down focus down
  83. bindsym $mod+Up focus up
  84. bindsym $mod+Right focus right
  85.  
  86. # move focused window
  87. bindsym $mod+Shift+Left move left
  88. bindsym $mod+Shift+Down move down
  89. bindsym $mod+Shift+Up move up
  90. bindsym $mod+Shift+Right move right
  91.  
  92. #-------------------------------------------------------------#
  93.  
  94. # Use mod-Control-Up and Down to rotate through the workspace list.
  95. bindsym $mod+Control+Left workspace prev
  96. bindsym $mod+Control+Right workspace next
  97.  
  98. # focus the parent container
  99. bindsym $mod+Shift+a focus parent
  100.  
  101. # focus the child container
  102. #bindsym $mod+Shift+d focus child
  103.  
  104. # bring the window to center(floating only)
  105. bindsym $mod+c move absolute position center
  106.  
  107. #bindsym $mod+ move right 332px,move up 213px
  108. #bindsym $mod+ move left 332px,move up 213px
  109.  
  110. # split in horizontal orientation
  111. bindsym $mod+h split h
  112.  
  113. # split in vertical orientation
  114. bindsym $mod+v split v
  115.  
  116. # enter fullscreen mode for the focused container
  117. bindsym $mod+Shift+f fullscreen
  118.  
  119. #-------------------------------------------------------------#
  120.  
  121. # change container layout (stacked, tabbed, default)
  122. bindsym $mod+Shift+s layout stacking
  123. bindsym $mod+Shift+t layout tabbed
  124. bindsym $mod+Shift+d layout default
  125. bindsym $mod+Shift+e layout toggle split
  126.  
  127.  
  128.  
  129. #HG
  130. # toggle tiling / floating
  131. bindsym $mod+Shift+space floating toggle
  132.  
  133. ## Float
  134. # change focus between tiling / floating windows
  135. bindsym $mod+space focus mode_toggle
  136.  
  137. #-------------------------------------------------------------#
  138.  
  139. ##############
  140. ## Programs ##
  141. ##############
  142.  
  143. bindsym  $mod+w exec --no-startup-id firefox
  144. bindsym  $mod+F2 exec --no-startup-id   thunderbird
  145. bindsym  $mod+o exec --no-startup-id   okular
  146. bindsym  $mod+f exec  --no-startup-id thunar
  147. bindsym $mod+m exec --no-startup-id  /usr/sbin/clementine $WS3
  148.  
  149. bindsym $mod+F1 exec --no-startup-id synapse
  150.  
  151. # Super+t --->Terminal
  152. bindsym $mod+t exec --no-startup-id lxterminal -e tmux
  153.  
  154. # Super+n ---> Redit
  155. bindsym $mod+n exec --no-startup-id reditr $WS5
  156.  
  157.  
  158. bindsym $mod+F6 exec /usr/sbin/eog -fs /media/Bit-Bucket/Memories/Slide/*.jpg
  159. bindsym $mod+F3 exec feh --bg-scale --recursive --randomize /media/Bit-Bucket/Memories/Cool-Graphics/Wallpaper/*.jpg
  160. bindsym $mod+F8 exec scrot  /home/joe/Screenshots/screenshot_%Y_%m_%d_%H_%M_%S.png
  161.  
  162.  
  163. # exit i3 (logs you out of your X session)
  164. bindsym $mod+z  exec --no-startup-id /usr/sbin/quickswitch.py
  165.  
  166.  
  167. #-------------------------------#
  168. #---- Assign Windows  to WS ----#
  169. #-------------------------------#
  170.  
  171. # Move to workspace
  172.  
  173. ## Assign Browsers
  174. assign [class="Chromium|Firefox|Navigator|Iceweasel"] $WS1
  175. assign [class="(?i)firefox"]$WS1
  176.  
  177.  
  178. ## Assign Terminals
  179. assign [class="(?i)lxterminal"] $WS2
  180.  
  181. for_window [class="lxterminal|URxvt|XTerm|mate-terminal"] focus, layout tabbed
  182. ## Assign Media Apps
  183. assign [class="(?i)mplayer"] $WS3
  184. assign [class="(?i)smplayer"] $WS3
  185. assign [class="(?i)clementine"] $WS3
  186. assign [class="(?i)ghb"] $WS3
  187. assign [class="(?i)pithos"] $WS3
  188. assign [class="(?i)vlc"] $WS3
  189. assign [class="(?i)cantata"] $WS3
  190.  
  191. for_window [class="(?i)clementine"]  border none, focus, layout tabbed
  192. for_window [class="(?!)smplayer|(?!)clementine|(?!)cantata"]  border none, focus, floating enabled
  193.  
  194. ## Development
  195. assign [class="(?i)pycharm"]$WS4
  196. #assign [class="(?i)gedit"] → $WS4
  197. assign [class="(?i)vstudio"]$WS4
  198.  
  199. for_window [class="pycharm|bpython2|gedit|medit"] focus, layout tabbed
  200.  
  201. ## Assign File Managers (with misc. apps)
  202. assign [class="Thunar|Caja"] $WS5
  203. assign [class="(?i)thunar"]$WS5
  204.  
  205. for_window [class="(?i)thunar"]  border none, focus, layout tabbed
  206.  
  207. ## Conky / Pics
  208.  
  209. for_window [title="Conky"] floating enable  border 1 pixel  
  210. assign [class="(?i)Conky"]$WS6
  211.  
  212. ## Assign Office Apps
  213. assign [class="(?i)thunderbird"]$WS7
  214. assign [class="(?i)reditr"]$WS9
  215. assign [class="libreoffice*|Zathura|libreoffice-writer|Abiword|Gnumeric"] $WS8
  216. assign [class="(?i)okular"]$WS8
  217. assign [class="(?i)libreoffice"]$WS8
  218. assign [class="(?i)hexchat"]$WS9
  219.  
  220.  
  221. # Games
  222. bindsym  $mod+F9 exec --no-startup-id minecraft ; workspace $WS10
  223. assign [class="net-minecraft-bootstrap-Bootstrap"] $WS10
  224.  
  225. bindsym  $mod+F10 exec --no-startup-id steam  ; $WS10
  226. assign [title="Steam"] $WS10
  227.  
  228. #-------------------------------------------------------------#
  229.  
  230. #------------------------------------------#
  231. #--  W i n d o w  S e t t i n g s       ---#
  232. #------------------------------------------#
  233.  
  234. for_window [window_role="pop-up"] floating enable
  235. for_window [class="URxvt|XTerm|lxterminal"] focus
  236. for_window [class="Message"] floating enable
  237. for_window [class="Xsensor"] floating enable, focus
  238. for_window [class="(?i)reditr"]  focus ,layout tabbed
  239. for_window [class="(?i)hexchat"] border none, layout tabbed
  240. for_window [title="htop"] floating enable, focus
  241. for_window [class="Lxappearance"] floating enable
  242. for_window [class="Viewnior"] border none, focus,layout tabbed
  243. for_window [class="Chromium|Iceweasel|Firefox|Navigator"] focus, layout tabbed
  244. for_window [class="(?i)gpicview"]  border none, focus, floating enabled
  245. for_window [class="(?i)galculator"] focus, floating enabled
  246. for_window [class="(?i)galculator"] floating enable, move position 1350 px 50 px, exec xdotool search --class Gnome-calculator getwindowpid -- windowsize %@ 200 200
  247.  
  248.  
  249. #-------------------------------------------------------------#
  250.  
  251. ###################
  252. # AUTOSTART STUFF #
  253. ###################
  254. exec feh --bg-scale --recursive --randomize /media/Bit-Bucket/Memories/Cool-Graphics/Wallpaper/*.jpg
  255. exec thunar --daemon
  256. exec --no-startup-id nm-applet
  257. exec /usr/bin/volumeicon
  258. exec /home/joe/bin/Welcome
  259. exec /usr/bin/thunderbird ; $WS7
  260. exec /usr/sbin/gnome-terminal
  261. exec /usr/sbin/lxterminal -e tmux ; $WS2
  262. exec /usr/sbin/compton --config /home/joe/.compton.conf --shadow-exclude n:a:conky -b  --shadow-exclude n:a:reditr -b
  263. exec /usr/bin/reditr   ; $WS9
  264.  
  265. for_window [window_role="pop-up"] floating enable
  266.  
  267. # reload the configuration file
  268. bindsym $mod+Shift+c reload
  269.  
  270. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  271. bindsym $mod+Shift+r restart
  272.  
  273. bindsym $mod+Shift+l exec --no-startup-id  i3lock -i /home/joe/current.png
  274.  
  275. #------------------Window , Conatiner Design Configuration ---------------------#
  276. font xft:Lemon 13
  277.  
  278. set $Red      #800000    
  279. set $darkRed  #E6B800
  280. set $white    #FFFFFF
  281. set $antwhite #FFFF99
  282. set $dorange  #CC5200
  283. set $sol      #006600
  284. set $por      #E68A2E
  285. set $DG       #009900
  286. set $black    #000000
  287. set $aqua     #66CCFF
  288. set $plum     #8A008A
  289. set $slate    #0F2E4C
  290. set $BYell    #FFFF00
  291. set $lslt     #89AFD4
  292. set $nvyb     #003366
  293.  
  294. set $ws1  "1: :1"
  295. set $ws2  "2: :2"
  296. set $ws3  "3: :3"
  297. set $ws4  "4: +  :4"
  298. set $ws5  "5: :5"
  299. set $ws6  "6:  :6"
  300. set $ws7  "7: :7"
  301. set $ws8  "8: :8"
  302. set $ws9  "9: :9"
  303. set $ws10 "10:  -  :10"
  304.  
  305.  
  306. set $default_gaps_inner 15
  307. set $default_gaps_outer 10
  308. gaps inner $default_gaps_inner
  309. gaps outer $default_gaps_outer
  310.  
  311. #smart_borders no_gaps
  312.  
  313. workspace_auto_back_and_forth yes
  314. force_display_urgency_hint 0 ms
  315.  
  316. new_window pixel 4
  317. new_float pixel  6
  318.  
  319.  
  320.  
  321. #                       BORDER    BACKGROUND    TEXT        INDICATOR
  322. client.focused          $nvyb       $sol        $Byell      $DG
  323. client.unfocused        $DG         $black      $aqua       $dorange
  324. client.focused_inactive $aqua       $plum       $white      $black
  325. client.urgent           $Red        $Red        $white      $darkred
  326.  
  327.  
  328.  
  329. # dmenu scripts
  330. bindsym $mod+d exec /home/joe/bin/dmenu.sh
  331. #dmenu -l 5 -p $title -fn ' LiberationMono:bold:size=14' -nb darkred -nf white -sb darkblue -sf white`
  332.  
  333. # resize window (you can also use the mouse for that)
  334. set $mode_resize    resize
  335. bindsym $mod+r mode "$mode_resize"
  336. mode "$mode_resize" {
  337.         bindsym Left resize shrink width 1 px or 1 ppt
  338.         bindsym Down resize grow height 1 px or 1 ppt
  339.         bindsym Up resize shrink height 1 px or 1 ppt
  340.         bindsym Right resize grow width 1 px or 1 ppt
  341.  
  342.         bindsym Shift+Left resize shrink width 5 px or 5 ppt
  343.         bindsym Shift+Down resize grow height 5 px or 5 ppt
  344.         bindsym Shift+Up resize shrink height 5 px or 5 ppt
  345.         bindsym Shift+Right resize grow width 5 px or 5 ppt
  346.  
  347.         bindsym Return mode "default"
  348.         bindsym Escape mode "default"
  349. }
  350.  
  351.  
  352.  
  353.  
  354. set $mode_power  :System:  - (l)ock |   (e)xit |   -(s)uspend |   - (h)ibernate |   - (r)eboot |  -(p)oweroff
  355. mode "$mode_power" {
  356.         bindsym l exec --no-startup-id /home/joe/bin/i3exit lock, mode "default"
  357.         bindsym e exec --no-startup-id /home/joe/bin/i3exit logout, mode "default"
  358.         bindsym s exec --no-startup-id /home/joe/bin/i3exit suspend, mode "default"
  359.         bindsym h exec --no-startup-id /home/joe/bin/i3exit hibernate, mode "default"
  360.         bindsym r exec --no-startup-id /home/joe/bin/i3exit reboot, mode "default"
  361.         bindsym p exec --no-startup-id /home/joe/bin/i3exit shutdown, mode "default"
  362.  
  363.         bindsym Return mode "default"
  364.         bindsym Escape mode "default"
  365. }
  366. bindsym $mod+Pause mode "$mode_power"
  367. bindsym Mod1+Control+l mode "$mode_power"
  368.  
  369. set $mode_gaps Gaps: (o) outer, (i) inner
  370. set $mode_gaps_outer Outer Gaps: +|-|d|0 (local), Shift + +|-|d|0 (global)
  371. set $mode_gaps_inner Inner Gaps: +|-|d|0 (local), Shift + +|-|d|0 (global)
  372. bindsym $mod+Shift+g mode "$mode_gaps"
  373.  
  374. mode "$mode_gaps" {
  375.         bindsym o      mode "$mode_gaps_outer"
  376.         bindsym i      mode "$mode_gaps_inner"
  377.         bindsym Return mode "default"
  378.         bindsym Escape mode "default"
  379. }
  380.  
  381.  
  382. mode "$mode_gaps_inner" {
  383.         bindsym plus  gaps inner current plus 5
  384.         bindsym minus gaps inner current minus 5
  385.         bindsym 0     gaps inner current set 0
  386.         bindsym d     gaps inner current set $default_gaps_inner
  387.  
  388.         bindsym Shift+plus  gaps inner all plus 5
  389.         bindsym Shift+minus gaps inner all minus 5
  390.         bindsym Shift+0     gaps inner all set 0
  391.         bindsym Shift+d     gaps inner all set $default_gaps_inner
  392.  
  393.         bindsym Return mode "default"
  394.         bindsym Escape mode "default"
  395. }
  396. mode "$mode_gaps_outer" {
  397.         bindsym plus  gaps outer current plus 5
  398.         bindsym minus gaps outer current minus 5
  399.         bindsym 0     gaps outer current set 0
  400.         bindsym d     gaps outer current set $default_gaps_outer
  401.  
  402.         bindsym Shift+plus  gaps outer all plus 5
  403.         bindsym Shift+minus gaps outer all minus 5
  404.         bindsym Shift+0     gaps outer all set 0
  405.         bindsym Shift+d     gaps outer all set $default_gaps_outer
  406.  
  407.         bindsym Return mode "default"
  408.         bindsym Escape mode "default"
  409. }
  410.  
  411. # fix graphics glitch
  412. #for_window [class="^.*"] border pixel 0
  413. for_window [class="(?i)lxterminal"] border pixel 3
  414.  
  415. # dialogs
  416. for_window [window_role="pop-up"] floating enable
  417. for_window [window_role="task_dialog"] floating enable
  418.  
  419. # other window specific settings
  420. for_window [class="(?i)pidgin" window_role="^conversation$"] resize grow width 0 px or 30 ppt
  421.  
  422.  
  423. bar {
  424.     status_command i3blocks -c /home/joe/.i3blocks.conf
  425.     mode dock
  426.     position top
  427.     font pango: FontAwesome Regular, Icons 14
  428.     workspace_buttons yes
  429.     strip_workspace_numbers yes
  430.     # tray_output none
  431.     #height 30
  432.         colors {
  433.                 statusline         $aqua
  434.                 background         $slate
  435.                 separator          $byell
  436.  
  437. #                                  BORDER     BACKGROUND TEXT
  438.                 focused_workspace  $byell  $nvyb     $byell
  439.                 inactive_workspace $aqua   $black    $lslt
  440.                 urgent_workspace   $white     $white     $burnt
  441.         }
  442. }
  443.  
  444.  
  445.  
  446.  
  447.  
  448. default_orientation horizontal
  449.  
  450. focus_follows_mouse no
  451.  
  452. #popup_during_fullscreen ignore
  453. popup_during_fullscreen smart
  454.  
  455. # Window Border
  456. bindsym $mod+Shift+n border none
  457. bindsym $mod+Shift+b border pixel 4px
  458.  
  459. # i3bar Toggle
  460. #bindsym $mod+b bar mode invisible
  461. #bindsym $mod+n bar mode dock
  462. #bindsym $mod+b bar mode toggle
  463.  
  464. # Scratchpad
  465. bindsym $mod+Shift+p move scratchpad
  466. bindsym $mod+p scratchpad show
  467. for_window [class="(?i)gnome-terminal"]  move scratchpad
  468.  
  469. # Switch Workspace Back and Forth
  470. bindsym $mod+Tab workspace back_and_forth
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement