my localhost configuration
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

i3_config 5.7KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186
  1. # i3 config file (v4)
  2. #
  3. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  4. set $mod Mod4
  5. set $i3_term default-terminal-emulator
  6. set $i3_font -*-terminus-bold-*-*-*-14-*-*-*-*-*-iso10646-*
  7. set $dmenu_font xos4 Terminus:Bold:pixelsize=14
  8. font $i3_font
  9. # Use Mouse+$mod to drag floating windows to their wanted position
  10. floating_modifier $mod
  11. # start a terminal
  12. bindsym $mod+x exec $i3_term
  13. # kill focused window
  14. bindsym $mod+Shift+c kill
  15. # workaround for firefox
  16. bindsym Control+q exec /bin/true
  17. # start dmenu (a program launcher)
  18. bindsym $mod+s exec dmenu_multicmd "$HOME/.displayrc.yaml" -i -fn "$dmenu_font"
  19. bindsym $mod+d exec dmenu_run -p run -i -fn "$dmenu_font"
  20. bindsym $mod+p exec dmenu_ssh "$i3_term -e termcompat ssh" -i -fn "$dmenu_font"
  21. bindsym $mod+u exec dmenu_pass -i -fn "$dmenu_font"
  22. bindsym $mod+Tab exec rofi -show window
  23. # change focus
  24. bindsym $mod+h focus left
  25. bindsym $mod+j focus down
  26. bindsym $mod+k focus up
  27. bindsym $mod+l focus right
  28. # alternatively, you can use the cursor keys:
  29. bindsym $mod+Left focus left
  30. bindsym $mod+Down focus down
  31. bindsym $mod+Up focus up
  32. bindsym $mod+Right focus right
  33. # move focused window
  34. bindsym $mod+Shift+h move left
  35. bindsym $mod+Shift+j move down
  36. bindsym $mod+Shift+k move up
  37. bindsym $mod+Shift+l move right
  38. # alternatively, you can use the cursor keys:
  39. bindsym $mod+Shift+Left move left
  40. bindsym $mod+Shift+Down move down
  41. bindsym $mod+Shift+Up move up
  42. bindsym $mod+Shift+Right move right
  43. # split in horizontal orientation
  44. bindsym $mod+b split h
  45. # split in vertical orientation
  46. bindsym $mod+v split v
  47. # enter fullscreen mode for the focused container
  48. bindsym $mod+f fullscreen
  49. # change container layout (stacked, tabbed, toggle split)
  50. #bindsym $mod+s layout stacking
  51. bindsym $mod+w layout tabbed
  52. bindsym $mod+e layout toggle split
  53. # toggle tiling / floating
  54. bindsym $mod+Shift+Return floating toggle
  55. # change focus between tiling / floating windows
  56. bindsym $mod+Return focus mode_toggle
  57. # focus the parent container
  58. bindsym $mod+a focus parent
  59. # focus the child container
  60. bindsym $mod+Shift+a focus child
  61. # move to another screen
  62. bindsym $mod+Shift+o move workspace to output left
  63. # switch to workspace
  64. bindsym $mod+1 workspace 1
  65. bindsym $mod+2 workspace 2
  66. bindsym $mod+3 workspace 3
  67. bindsym $mod+4 workspace 4
  68. bindsym $mod+5 workspace 5
  69. bindsym $mod+6 workspace 6
  70. bindsym $mod+7 workspace 7
  71. bindsym $mod+8 workspace 8
  72. bindsym $mod+9 workspace 9
  73. bindsym $mod+0 workspace 10
  74. bindsym $mod+o workspace back_and_forth
  75. # move focused container to workspace
  76. bindsym $mod+Shift+1 move container to workspace 1
  77. bindsym $mod+Shift+2 move container to workspace 2
  78. bindsym $mod+Shift+3 move container to workspace 3
  79. bindsym $mod+Shift+4 move container to workspace 4
  80. bindsym $mod+Shift+5 move container to workspace 5
  81. bindsym $mod+Shift+6 move container to workspace 6
  82. bindsym $mod+Shift+7 move container to workspace 7
  83. bindsym $mod+Shift+8 move container to workspace 8
  84. bindsym $mod+Shift+9 move container to workspace 9
  85. bindsym $mod+Shift+0 move container to workspace 10
  86. # reload the configuration file
  87. bindsym $mod+Shift+r reload
  88. # restart i3 inplace (preserves your layout/session, can be used to upgrade i3)
  89. bindsym $mod+Control+r restart
  90. # exit i3 (logs you out of your X session)
  91. bindsym $mod+Shift+e 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'"
  92. # lock screen
  93. bindsym $mod+z exec "xscreensaver-command -lock"
  94. # toggle touchpad
  95. bindsym XF86TouchpadToggle exec "touchpad-toggle"
  96. bindsym XF86KbdBrightnessDown exec "keybrightness d"
  97. bindsym XF86KbdBrightnessUp exec "keybrightness u"
  98. # resize window (you can also use the mouse for that)
  99. mode "resize" {
  100. bindsym h resize shrink width 10 px or 10 ppt
  101. bindsym j resize grow height 10 px or 10 ppt
  102. bindsym k resize shrink height 10 px or 10 ppt
  103. bindsym l resize grow width 10 px or 10 ppt
  104. bindsym Left resize shrink width 10 px or 10 ppt
  105. bindsym Down resize grow height 10 px or 10 ppt
  106. bindsym Up resize shrink height 10 px or 10 ppt
  107. bindsym Right resize grow width 10 px or 10 ppt
  108. bindsym Return mode "default"
  109. bindsym Escape mode "default"
  110. }
  111. bindsym $mod+r mode "resize"
  112. bar {
  113. position top
  114. status_command "$HOME/vdstatus/vdstatus"
  115. tray_output primary
  116. }
  117. workspace_layout tabbed
  118. new_window pixel 1
  119. new_float pixel 1
  120. hide_edge_borders both
  121. workspace_auto_back_and_forth yes
  122. force_focus_wrapping yes
  123. # rules
  124. # workspace 6 is for always floating
  125. for_window [workspace=6] floating enable
  126. assign [class="Firefox"] 1
  127. assign [class="Steam"] 6
  128. # software
  129. for_window [class="jetbrains-toolbox"] floating enable
  130. for_window [class="Vpnui"] floating enable
  131. for_window [class="Deadbeef"] floating enable
  132. for_window [class="Google-musicmanager"] floating enable
  133. for_window [class="mpv"] floating enable
  134. for_window [class="Pavucontrol"] floating enable
  135. for_window [class="pinentry"] floating enable
  136. for_window [class="plugin-container"] floating enable
  137. for_window [class="Qmmp"] floating enable
  138. for_window [class="Vncviewer"] floating enable
  139. for_window [class="vlc"] floating enable
  140. for_window [class="X64"] floating enable
  141. for_window [class="(?i)firefox" instance="^(?!Navigator$)"] floating enable
  142. for_window [title="^Cacti - Realtime"] floating enable
  143. for_window [class="java-lang-Thread"] floating enable
  144. # scratchpad
  145. for_window [class="keepassxc"] move scratchpad, scratchpad show
  146. for_window [title="^vimwiki$"] move scratchpad, scratchpad show
  147. for_window [class="Vpnui"] move scratchpad, scratchpad show
  148. bindsym $mod+i [class="keepassxc"] scratchpad show
  149. bindsym $mod+n [title="^vimwiki$"] scratchpad show
  150. bindsym $mod+y [class="Vpnui"] scratchpad show
  151. # execs
  152. exec --no-startup-id "$HOME/.autostart"