Du kannst nicht mehr als 25 Themen auswählen Themen müssen entweder mit einem Buchstaben oder einer Ziffer beginnen. Sie können Bindestriche („-“) enthalten und bis zu 35 Zeichen lang sein.
Dieses Repo ist archiviert. Du kannst Dateien sehen und es klonen, kannst aber nicht pushen oder Issues/Pull-Requests öffnen.

vor 4 Jahren
vor 4 Jahren
vor 4 Jahren
vor 4 Jahren
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413
  1. {{ ansible_managed | comment }}
  2. # i3 config file (v4)
  3. #
  4. # Please see http://i3wm.org/docs/userguide.html for a complete reference!
  5. {% set workspace_switcher = "exec fish -c \"i3-msg workspace (i3-msg -t get_workspaces | jq --raw-output '.[]|select(.num == -1).name' | rofi -dmenu -p workspace )\"" %}
  6. {% set on_focus_workspace = "exec --no-startup-id " + eralitex_directory + "/bin/on-focus-workspace" %}
  7. ### Font
  8. font pango:Terminus 14px
  9. ### Modifier Key
  10. set $mod Mod4
  11. set $plexmod Mod3
  12. # Use Mouse+$mod to drag floating windows to their wanted position
  13. floating_modifier $mod
  14. ### key patterns
  15. set $up l
  16. set $down k
  17. set $left j
  18. set $right odiaeresis
  19. ### default/local mode
  20. ## special keys
  21. bindsym XF86Sleep exec {{eralitex_lock_command}}
  22. bindsym XF86Mail exec {{eralitex_mail_command}}
  23. bindsym XF86HomePage exec {{eralitex_browser}}
  24. bindsym XF86Calculator exec {{eralitex_calculator_command}}
  25. ## Special modes
  26. bindsym $mod+t mode timer
  27. bindsym $mod+s mode session
  28. bindsym $mod+S mode session
  29. bindsym $mod+c mode clipboard
  30. bindcode $mod+49 mode "remote"
  31. ## Applications
  32. bindsym $mod+Return exec "{{eralitex_terminal}}"
  33. bindsym $mod+b exec "{{eralitex_browser}}"
  34. bindsym $mod+d exec rofi -show drun -show-icons
  35. bindsym $mod+e exec rofi -show run
  36. bindsym $mod+a mode "apps"
  37. bindsym $mod+space exec "{{eralitex_directory}}/bin/on-space-shortcut"
  38. ## Workspaces
  39. bindsym $mod+w {{workspace_switcher}}
  40. {% for ws in eralitex_numbered_workspace_keymaps %}
  41. bindsym $mod+{{ws.keysym}} workspace "{{ws.workspace}}"
  42. {% endfor %}
  43. # focus workspace
  44. bindsym $mod+Prior workspace next
  45. bindsym $mod+Next workspace prev
  46. bindsym $mod+ssharp scratchpad show
  47. bindsym $mod+g sticky toggle
  48. ## Layout
  49. bindsym $mod+y mode "layout"
  50. bindsym $mod+h split h
  51. bindsym $mod+v split v
  52. ## Focus
  53. bindsym $mod+Left focus left
  54. bindsym $mod+$left focus left
  55. bindsym $mod+Down focus down
  56. bindsym $mod+$down focus down
  57. bindsym $mod+Up focus up
  58. bindsym $mod+$up focus up
  59. bindsym $mod+Right focus right
  60. bindsym $mod+$right focus right
  61. bindsym $mod+p focus parent
  62. # change focus between tiling / floating windows
  63. bindsym $mod+Tab focus mode_toggle
  64. ## Window
  65. # The middle button over a titlebar kills the window
  66. bindsym --release button2 kill
  67. # The middle button and a modifer over any part of the window kills the window
  68. bindsym --whole-window $mod+button2 kill
  69. bindsym $mod+BackSpace kill
  70. bindsym $mod+q kill
  71. bindsym $mod+f fullscreen
  72. bindsym $mod+z floating toggle
  73. bindsym $mod+m mode move
  74. bindsym $mod+r mode resize
  75. bindsym $mod+x exec xkill
  76. # points
  77. bindsym $mod+minus exec {{points_down_command}}
  78. bindsym $mod+plus exec {{points_up_command}}
  79. # unlearn
  80. #exec {{points_down_command}}
  81. ## stuff that is available in default and remote mode
  82. {% macro overall() %}
  83. {% if item == "desktop" %}
  84. bindsym $plexmod+space exec "{{eralitex_directory}}/bin/on-space-shortcut"
  85. bindsym $plexmod+BackSpace kill
  86. bindsym $plexmod+w {{workspace_switcher}}
  87. {% for ws in eralitex_numbered_workspace_keymaps %}
  88. bindsym $plexmod+{{ws.keysym}} workspace "{{ws.workspace}}"
  89. {% endfor %}
  90. {% for ws in eralitex_letter_workspace_keymaps %}
  91. bindsym $plexmod+{{ws.keysym}} workspace "{{ws.workspace}}"
  92. {% endfor %}
  93. # focus workspace
  94. bindsym $plexmod+Prior workspace next
  95. bindsym $plexmod+Next workspace prev
  96. {% endif %}
  97. # focus output
  98. bindsym $plexmod+Shift+p focus output primary
  99. bindsym $plexmod+Shift+o exec fish -c "i3-msg focus output ( i3-msg -t get_outputs | jq --raw-output '.[]|select(.active == true).name' | rofi -dmenu -p 'focus output' )"
  100. bindsym $plexmod+Left focus output left
  101. bindsym $plexmod+Down focus output down
  102. bindsym $plexmod+Up focus output up
  103. bindsym $plexmod+Right focus output right
  104. # Special modes
  105. bindsym $plexmod+s mode session
  106. bindsym $plexmod+t mode timer
  107. {% endmacro %}
  108. {{ overall() }}
  109. ### remote mode
  110. mode "remote" {
  111. bindcode $mod+9 mode "default"
  112. bindsym XF86Sleep exec {{eralitex_lock_command}}
  113. # The middle button over a titlebar kills the window
  114. bindsym --release button2 kill
  115. {{ overall() }}
  116. }
  117. ### Applications mode
  118. mode "apps" {
  119. {% for a in eralitex_applications | dict2items %}
  120. bindsym {{a.key}} exec {{a.value}}; mode "default"
  121. {% endfor %}
  122. bindsym Escape mode "default"
  123. }
  124. ### Session
  125. mode "session" {
  126. bindsym q exit
  127. bindsym r reload; exec --no-startup-id {{eralitex_directory}}/{{item}}/reload; mode "default"; {{on_focus_workspace}}
  128. bindsym R reload; exec --no-startup-id {{eralitex_directory}}/{{item}}/reload; mode "default"; {{on_focus_workspace}}
  129. bindsym s exec --no-startup-id {{eralitex_lock_command}}; exec --no-startup-{{eralitex_suspend_command}}; mode "default"; {{on_focus_workspace}}
  130. bindsym x exec --no-startup-id {{eralitex_lock_command}}; mode "default"; {{on_focus_workspace}}
  131. bindsym e exec --no-startup-id {{eralitex_enable_screensaver_command}}; mode "default"; {{on_focus_workspace}}
  132. bindsym d exec --no-startup-id {{eralitex_disable_screensaver_command}}; mode "default"; {{on_focus_workspace}}
  133. bindsym b exec --no-startup-id xsetroot -solid black; mode "default"; {{on_focus_workspace}}
  134. bindsym Shift+R exec --no-startup-id {{eralitex_reboot_command}}; mode "default"; {{on_focus_workspace}}
  135. bindsym Shift+P exec --no-startup-id {{eralitex_poweroff_command}}; mode "default"; {{on_focus_workspace}}
  136. # back to normal: Escape
  137. bindsym Escape mode "default"; {{on_focus_workspace}}
  138. }
  139. ### Timer
  140. mode "timer" {
  141. bindsym a exec "{{eralitex_directory}}/bin/timer activity"; mode "default"; {{on_focus_workspace}}
  142. bindsym e exec "{{eralitex_directory}}/bin/timer end"; mode "default"; {{on_focus_workspace}}
  143. bindsym u exec "{{eralitex_directory}}/bin/timer update"; mode "default"; {{on_focus_workspace}}
  144. # back to normal: Escape
  145. bindsym Escape mode "default"; {{on_focus_workspace}}
  146. }
  147. ### Clipboard
  148. mode "clipboard" {
  149. # back to normal: Escape
  150. bindsym Escape mode "default"
  151. }
  152. ### Layout
  153. # set default layout to tabbed
  154. workspace_layout tabbed
  155. mode "layout" {
  156. bindsym s layout stacking; mode "default";
  157. bindsym t layout tabbed; mode "default";
  158. bindsym e layout toggle split; mode "default";
  159. bindsym h layout splith; mode "default"
  160. bindsym v layout splitv; mode "default"
  161. bindsym b mode bar
  162. # back to normal: Escape
  163. bindsym Escape mode "default"
  164. }
  165. mode "bar" {
  166. bindsym h bar mode hide; mode "default"
  167. bindsym d bar mode dock; mode "default"
  168. # back to normal: Escape
  169. bindsym Escape mode "default"
  170. }
  171. ### Move mode
  172. mode "move" {
  173. # move window
  174. bindsym Left move left
  175. bindsym $left move left
  176. bindsym Down move down
  177. bindsym $down move down
  178. bindsym Up move up
  179. bindsym $up move up
  180. bindsym Right move right
  181. bindsym $right move right
  182. # move window to workspace
  183. {% for ws in eralitex_numbered_workspace_keymaps %}
  184. bindsym {{ws.keysym}} move container to workspace "{{ws.workspace}}"; mode "default"
  185. {% endfor %}
  186. bindsym w exec fish -c "i3-msg move container to workspace (i3-msg -t get_workspaces | jq --raw-output '.[]|select(.num == -1).name' | rofi -dmenu -p 'move to workspace' )"; mode "default"
  187. bindsym ssharp move scratchpad
  188. # move workspace to output
  189. bindsym Shift+Left move workspace to output left
  190. bindsym Shift+$left move workspace to output left
  191. bindsym Shift+Down move workspace to output down
  192. bindsym Shift+$down move workspace to output down
  193. bindsym Shift+Up move workspace to output up
  194. bindsym Shift+$up move workspace to output up
  195. bindsym Shift+Right move workspace to output right
  196. bindsym Shift+$right move workspace to output right
  197. bindsym o exec fish -c "i3-msg move workspace to output ( i3-msg -t get_outputs | jq --raw-output '.[]|select(.active == true).name' | rofi -dmenu -p 'move workspace to output' )"; mode "default"
  198. bindsym p move workspace to output primary; mode "default"
  199. # back to normal: Escape
  200. bindsym Escape mode "default"
  201. }
  202. ### Resize window mode
  203. # resize window (you can also use the mouse for that)
  204. mode "resize" {
  205. # These bindings trigger as soon as you enter the resize mode
  206. # Pressing left will shrink the window’s width.
  207. bindsym Left resize shrink width 10 px or 10 ppt
  208. bindsym $left resize shrink width 10 px or 10 ppt
  209. # Pressing down will grow the window’s height.
  210. bindsym Down resize grow height 10 px or 10 ppt
  211. bindsym $down resize grow height 10 px or 10 ppt
  212. # Pressing up will shrink the window’s height.
  213. bindsym Up resize shrink height 10 px or 10 ppt
  214. bindsym $up resize shrink height 10 px or 10 ppt
  215. # Pressing right will grow the window’s width.
  216. bindsym Right resize grow width 10 px or 10 ppt
  217. bindsym $right resize grow width 10 px or 10 ppt
  218. bindsym 1 resize set 10 ppt 10 ppt; mode "default"
  219. bindsym 2 resize set 20 ppt 20 ppt; mode "default"
  220. bindsym 3 resize set 30 ppt 30 ppt; mode "default"
  221. bindsym 4 resize set 40 ppt 40 ppt; mode "default"
  222. bindsym 5 resize set 50 ppt 50 ppt; mode "default"
  223. bindsym 6 resize set 60 ppt 60 ppt; mode "default"
  224. bindsym 7 resize set 70 ppt 70 ppt; mode "default"
  225. bindsym 8 resize set 80 ppt 80 ppt; mode "default"
  226. bindsym 9 resize set 90 ppt 90 ppt; mode "default"
  227. bindsym 0 resize set 100 ppt 100 ppt; mode "default"
  228. bindsym v resize set 640 480; mode "default"
  229. bindsym y resize set 870 628; mode "default"
  230. # back to normal: Escape
  231. bindsym Escape mode "default"
  232. }
  233. ### Bar
  234. bar {
  235. position top
  236. strip_workspace_numbers yes
  237. tray_output primary
  238. status_command "i3blocks -c {{eralitex_directory}}/{{item}}/i3blocks.config"
  239. colors {
  240. background #000000
  241. statusline #ffffff
  242. separator #666666
  243. # <colorclass> <border> <background> <text>
  244. {% if item == "desktop" %}
  245. # lila: Farbton 274
  246. focused_workspace #774C99 #552877 #ffffff
  247. {% endif %}
  248. {% if item == "vdesk" %}
  249. # grün: Farbton 110
  250. focused_workspace #4D994C #357728 #ffffff
  251. {% endif %}
  252. {% if item == "presentation" %}
  253. # gelb: Farbton 60
  254. focused_workspace #99994C #777728 #ffffff
  255. {% endif %}
  256. active_workspace #333333 #696969 #ffffff
  257. inactive_workspace #333333 #222222 #888888
  258. urgent_workspace #2f343a #900000 #ffffff
  259. binding_mode #2f343a #900000 #ffffff
  260. }
  261. }
  262. ### Design
  263. # class border backgr. text indicator child_border
  264. {% if item == "desktop" %}
  265. # lila: Farbton 274
  266. client.focused #784C99 #552877 #ffffff #9E2EF4 #552877
  267. {% endif %}
  268. {% if item == "vdesk" %}
  269. # grün: Farbton 110
  270. client.focused #59994C #357728 #ffffff #4FF42E #357728
  271. {% endif %}
  272. {% if item == "presentation" %}
  273. # gelb: Farbton 60
  274. client.focused #99994C #777728 #ffffff #F4F42E #777728
  275. {% endif %}
  276. client.focused_inactive #333333 #6A6A6A #ffffff #505050 #6A6A6A
  277. client.unfocused #333333 #222222 #888888 #2E2E2E #222222
  278. client.urgent #2f343a #900000 #ffffff #900000 #900000
  279. client.placeholder #000000 #0c0c0c #ffffff #000000 #0c0c0c
  280. client.background #ffffff
  281. default_border normal
  282. hide_edge_borders both
  283. default_floating_border normal
  284. ### general settings
  285. focus_on_window_activation urgent
  286. ### Application specific rule
  287. for_window [class="^Vncviewer$"] border none
  288. for_window [window_role="^About$"] floating enable
  289. for_window [class="^Pavu"] floating enable
  290. for_window [class="^Paman$"] floating enable
  291. for_window [class="^Blueman"] floating enable
  292. for_window [class="^URxvt$" title="^tmux-workspace$"] border none
  293. ### Autostart
  294. exec "{{eralitex_terminal}}"
  295. {% if item == "desktop" %}
  296. exec --no-startup-id "{{eralitex_directory}}/bin/i3-watchers"
  297. {% endif %}
  298. ### free keys
  299. # $mod+i
  300. # $mod+j
  301. # $mod+k
  302. # $mod+l
  303. # $mod+n
  304. # $mod+o
  305. # $mod+u
  306. # $mod+adiaeresis
  307. # $mod+odiaeresis
  308. # $mod+udiaeresis
  309. # $mod+comma
  310. # $mod+period
  311. # $mod+numbersign
  312. # $mod+Home
  313. # $mod+End
  314. # $mod+Pause
  315. # $mod+Delete
  316. # $mod+Insert
  317. # $mod+Print
  318. # $mod+Scroll_Lock
  319. # $mod+less