config 6.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196
  1. # i3 config file (v4)
  2. #
  3. # Please see https://i3wm.org/docs/userguide.html for a complete reference!
  4. #
  5. # This config file uses keycodes (bindsym) and was written for the QWERTY
  6. # layout.
  7. #
  8. # To get a config file with the same key positions, but for your current
  9. # layout, use the i3-config-wizard
  10. #
  11. # Please see https://i3wm.org/docs/userguide.html for a complete reference!
  12. set $mod Mod4
  13. # Font for window titles. Will also be used by the bar unless a different font
  14. # is used in the bar {} block below.
  15. font pango:monospace 8
  16. # This font is widely installed, provides lots of unicode glyphs, right-to-left
  17. # text rendering and scalability on retina/hidpi displays (thanks to pango).
  18. #font pango:DejaVu Sans Mono 8
  19. # Before i3 v4.8, we used to recommend this one as the default:
  20. # font -misc-fixed-medium-r-normal--13-120-75-75-C-70-iso10646-1
  21. # The font above is very space-efficient, that is, it looks good, sharp and
  22. # clear in small sizes. However, its unicode glyph coverage is limited, the old
  23. # X core fonts rendering does not support right-to-left and this being a bitmap
  24. # font, it doesn’t scale on retina/hidpi displays.
  25. # use these keys for focus, movement, and resize directions when reaching for
  26. # the arrows is not convenient
  27. set $up k
  28. set $down j
  29. set $left h
  30. set $right l
  31. # use Mouse+Mod4 to drag floating windows to their wanted position
  32. floating_modifier $mod
  33. # start a terminal
  34. bindsym $mod+Return exec i3-sensible-terminal
  35. # kill focused window
  36. bindsym $mod+Shift+t kill
  37. # start dmenu (a program launcher)
  38. bindsym $mod+d exec dmenu_run
  39. # There also is the (new) i3-dmenu-desktop which only displays applications
  40. # shipping a .desktop file. It is a wrapper around dmenu, so you need that
  41. # installed.
  42. # bindsym $mod+d exec --no-startup-id i3-dmenu-desktop
  43. # change focus
  44. bindsym $mod+$left focus left
  45. bindsym $mod+$down focus down
  46. bindsym $mod+$up focus up
  47. bindsym $mod+$right focus right
  48. # alternatively, you can use the cursor keys:
  49. bindsym $mod+Left focus left
  50. bindsym $mod+Down focus down
  51. bindsym $mod+Up focus up
  52. bindsym $mod+Right focus right
  53. # move focused window
  54. bindsym $mod+Shift+$left move left
  55. bindsym $mod+Shift+$down move down
  56. bindsym $mod+Shift+$up move up
  57. bindsym $mod+Shift+$right move right
  58. # alternatively, you can use the cursor keys:
  59. bindsym $mod+Shift+Left move left
  60. bindsym $mod+Shift+Down move down
  61. bindsym $mod+Shift+Up move up
  62. bindsym $mod+Shift+Right move right
  63. # split in horizontal orientation
  64. bindsym $mod+v split h
  65. # split in vertical orientation
  66. bindsym $mod+minus split v
  67. # enter fullscreen mode for the focused container
  68. bindsym $mod+f fullscreen toggle
  69. # change container layout (stacked, tabbed, toggle split)
  70. bindsym $mod+o layout stacking
  71. bindsym $mod+comma layout tabbed
  72. bindsym $mod+period layout toggle split
  73. # toggle tiling / floating
  74. bindsym $mod+Shift+space floating toggle
  75. # change focus between tiling / floating windows
  76. bindsym $mod+space focus mode_toggle
  77. # focus the parent container
  78. bindsym $mod+a focus parent
  79. # focus the child container
  80. bindsym $mod+e focus child
  81. # move the currently focused window to the scratchpad
  82. bindsym $mod+Shift+semicolon move scratchpad
  83. # Show the next scratchpad window or hide the focused scratchpad window.
  84. # If there are multiple scratchpad windows, this command cycles through them.
  85. bindsym $mod+semicolon scratchpad show
  86. # switch to workspace
  87. bindsym $mod+ampersand workspace 1
  88. bindsym $mod+bracketleft workspace 2
  89. bindsym $mod+braceleft workspace 3
  90. bindsym $mod+braceright workspace 4
  91. bindsym $mod+parenleft workspace 5
  92. bindsym $mod+equal workspace 6
  93. bindsym $mod+asterisk workspace 7
  94. bindsym $mod+parenright workspace 8
  95. bindsym $mod+plus workspace 9
  96. bindsym $mod+bracketright workspace 10
  97. # switch to workspace with numpad
  98. bindsym $mod+1 workspace 1
  99. bindsym $mod+2 workspace 2
  100. bindsym $mod+3 workspace 3
  101. bindsym $mod+4 workspace 4
  102. bindsym $mod+5 workspace 5
  103. bindsym $mod+6 workspace 6
  104. bindsym $mod+7 workspace 7
  105. bindsym $mod+8 workspace 8
  106. bindsym $mod+9 workspace 9
  107. bindsym $mod+0 workspace 10
  108. # move focused container to workspace
  109. bindsym $mod+Shift+ampersand move container to workspace 1
  110. bindsym $mod+Shift+bracketleft move container to workspace 2
  111. bindsym $mod+Shift+braceleft move container to workspace 3
  112. bindsym $mod+Shift+braceright move container to workspace 4
  113. bindsym $mod+Shift+parenleft move container to workspace 5
  114. bindsym $mod+Shift+equal move container to workspace 6
  115. bindsym $mod+Shift+asterisk move container to workspace 7
  116. bindsym $mod+Shift+parenright move container to workspace 8
  117. bindsym $mod+Shift+plus move container to workspace 9
  118. bindsym $mod+Shift+bracketright move container to workspace 10
  119. # move focused container to workspace with numpad
  120. bindsym $mod+Shift+1 move container to workspace 1
  121. bindsym $mod+Shift+2 move container to workspace 2
  122. bindsym $mod+Shift+3 move container to workspace 3
  123. bindsym $mod+Shift+4 move container to workspace 4
  124. bindsym $mod+Shift+5 move container to workspace 5
  125. bindsym $mod+Shift+6 move container to workspace 6
  126. bindsym $mod+Shift+7 move container to workspace 7
  127. bindsym $mod+Shift+8 move container to workspace 8
  128. bindsym $mod+Shift+9 move container to workspace 9
  129. bindsym $mod+Shift+0 move container to workspace 10
  130. # reload the configuration file
  131. bindsym $mod+Shift+c reload
  132. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  133. bindsym $mod+Shift+r restart
  134. # exit i3 (logs you out of your X session)
  135. bindsym $mod+Escape exec "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'"
  136. # resize window (you can also use the mouse for that)
  137. mode "resize" {
  138. # These bindings trigger as soon as you enter the resize mode
  139. # Pressing left will shrink the window’s width.
  140. # Pressing right will grow the window’s width.
  141. # Pressing up will shrink the window’s height.
  142. # Pressing down will grow the window’s height.
  143. bindsym $left resize shrink width 10 px or 10 ppt
  144. bindsym $down resize grow height 10 px or 10 ppt
  145. bindsym $up resize shrink height 10 px or 10 ppt
  146. bindsym $right resize grow width 10 px or 10 ppt
  147. # same bindings, but for the arrow keys
  148. bindsym Left resize shrink width 10 px or 10 ppt
  149. bindsym Down resize grow height 10 px or 10 ppt
  150. bindsym Up resize shrink height 10 px or 10 ppt
  151. bindsym Right resize grow width 10 px or 10 ppt
  152. # back to normal: Enter or Escape
  153. bindsym Return mode "default"
  154. bindsym Escape mode "default"
  155. }
  156. bindsym $mod+g mode "resize"
  157. # Start i3bar to display a workspace bar (plus the system information i3status
  158. # finds out, if available)
  159. bar {
  160. status_command i3status
  161. }