diff options
author | 2017-01-14 16:11:48 -0500 | |
---|---|---|
committer | 2017-01-14 16:11:48 -0500 | |
commit | 81102e8eacbf72ad0c5e81c935a957a8824a0922 (patch) | |
tree | f8b51dd1f5214966ad30b0bd7b561afa70dcb4dc /contrib | |
parent | Merge pull request #1048 from dkess/proper-output-wrapping (diff) | |
parent | Move awesome config to contrib/ (diff) | |
download | sway-81102e8eacbf72ad0c5e81c935a957a8824a0922.tar.gz sway-81102e8eacbf72ad0c5e81c935a957a8824a0922.tar.zst sway-81102e8eacbf72ad0c5e81c935a957a8824a0922.zip |
Merge pull request #1024 from willakat/master
Add Awesome/Monad style automatic layouts to Sway
Diffstat (limited to 'contrib')
-rw-r--r-- | contrib/awesome.config | 63 |
1 files changed, 63 insertions, 0 deletions
diff --git a/contrib/awesome.config b/contrib/awesome.config new file mode 100644 index 00000000..41e17c91 --- /dev/null +++ b/contrib/awesome.config | |||
@@ -0,0 +1,63 @@ | |||
1 | # | ||
2 | # Replicate some of Awesome's default layout manipulation configuration for Sway | ||
3 | # | ||
4 | # Differences: | ||
5 | # - Layout switching doesn't use the spacebar (i.e. i3/Sway behavior to switch to/from floating windows) | ||
6 | # and uses the 'A' key instead (as in auto) | ||
7 | # - Resizing windows uses i3/Sway's more versatile Mod4+r | ||
8 | # - no tags | ||
9 | # - no Maximize/Minize, alternatives to Maximize would be to switch to Stacked/Tabbed layouts | ||
10 | # via Mod4+w or Mod4+s. | ||
11 | # - kill focused client is available on Mod4+Shift+q (instead of Mod4+Shift+c, which maps to Sway's | ||
12 | # config reload) | ||
13 | # - probably many more ... | ||
14 | |||
15 | # Awesome-style container traversal using Vim-like binding | ||
16 | set $next j | ||
17 | set $prev k | ||
18 | |||
19 | # | ||
20 | # Moving around: | ||
21 | # | ||
22 | # Move your focus around | ||
23 | bindsym $mod+$next focus next | ||
24 | bindsym $mod+$prev focus prev | ||
25 | |||
26 | # _move_ the focused window with the same, but add Shift | ||
27 | bindsym $mod+Shift+$next move next | ||
28 | bindsym $mod+Shift+$prev move prev | ||
29 | |||
30 | # | ||
31 | # Layout: | ||
32 | # | ||
33 | workspace_layout auto left | ||
34 | |||
35 | # This is usually bound to $mod+space, but this works well in practice by keeping | ||
36 | # all the layout switching keys grouped together. | ||
37 | bindsym $mod+a layout auto next | ||
38 | bindsym $mod+Shift+a layout auto prev | ||
39 | |||
40 | # Promote a child to master position in an auto layout | ||
41 | bindsym $mod+Control+Return move first | ||
42 | |||
43 | # Increase/decrease number of master elements in auto layout | ||
44 | bindsym $mod+Shift+h layout auto master inc 1 | ||
45 | bindsym $mod+Shift+l layout auto master inc -1 | ||
46 | |||
47 | # Increase/decrease number of slave element groups in auto layout | ||
48 | bindsym $mod+Control+h layout auto ncol inc 1 | ||
49 | bindsym $mod+Control+l layout auto ncol inc -1 | ||
50 | |||
51 | # | ||
52 | # Resizing containers: | ||
53 | # Again, not really the way Awesome works well, but in spirit with i3/Sway and it works well. | ||
54 | # | ||
55 | mode "resize" { | ||
56 | bindsym Left resize shrink width 20 px | ||
57 | bindsym Down resize grow height 20 px | ||
58 | bindsym Up resize shrink height 20 px | ||
59 | bindsym Right resize grow width 20 px | ||
60 | } | ||
61 | bindsym $mod+r mode "resize" | ||
62 | |||
63 | new_window pixel 1 | ||