Avoid repetition Describing modularity Added unbindsym to encourage modularity Co-authored-by: Nabos <nabos@glargh.fr> Reviewed-on: https://git.hya.sk/skia/swaysome/pulls/1
80 lines
2.3 KiB
Markdown
80 lines
2.3 KiB
Markdown
# Swaysome
|
|
|
|
This binary helps you configure sway to work a bit more like Awesome. This
|
|
currently means workspaces that are name-spaced on a per-screen basis.
|
|
|
|
It should also work with i3, but this is untested.
|
|
|
|
|
|
## Usage
|
|
|
|
Build and install the `swaysome` binary somewhere in your `$PATH` with something
|
|
like:
|
|
```
|
|
git clone https://git.hya.sk/skia/swaysome
|
|
cd swaysome
|
|
cargo install --path .
|
|
```
|
|
|
|
Then create the file (and the directory if needed) "~/.config/sway/config.d/swaysome.conf" and paste this inside:
|
|
```
|
|
# Change focus between workspaces
|
|
unbindsym $mod+1
|
|
unbindsym $mod+2
|
|
unbindsym $mod+3
|
|
unbindsym $mod+4
|
|
unbindsym $mod+5
|
|
unbindsym $mod+6
|
|
unbindsym $mod+7
|
|
unbindsym $mod+8
|
|
unbindsym $mod+9
|
|
unbindsym $mod+0
|
|
bindsym $mod+1 exec "swaysome focus 1"
|
|
bindsym $mod+2 exec "swaysome focus 2"
|
|
bindsym $mod+3 exec "swaysome focus 3"
|
|
bindsym $mod+4 exec "swaysome focus 4"
|
|
bindsym $mod+5 exec "swaysome focus 5"
|
|
bindsym $mod+6 exec "swaysome focus 6"
|
|
bindsym $mod+7 exec "swaysome focus 7"
|
|
bindsym $mod+8 exec "swaysome focus 8"
|
|
bindsym $mod+9 exec "swaysome focus 9"
|
|
bindsym $mod+0 exec "swaysome focus 0"
|
|
|
|
# Move containers between workspaces
|
|
unbindsym $mod+Shift+1
|
|
unbindsym $mod+Shift+2
|
|
unbindsym $mod+Shift+3
|
|
unbindsym $mod+Shift+4
|
|
unbindsym $mod+Shift+5
|
|
unbindsym $mod+Shift+6
|
|
unbindsym $mod+Shift+7
|
|
unbindsym $mod+Shift+8
|
|
unbindsym $mod+Shift+9
|
|
unbindsym $mod+Shift+0
|
|
bindsym $mod+Shift+1 exec "swaysome move 1"
|
|
bindsym $mod+Shift+2 exec "swaysome move 2"
|
|
bindsym $mod+Shift+3 exec "swaysome move 3"
|
|
bindsym $mod+Shift+4 exec "swaysome move 4"
|
|
bindsym $mod+Shift+5 exec "swaysome move 5"
|
|
bindsym $mod+Shift+6 exec "swaysome move 6"
|
|
bindsym $mod+Shift+7 exec "swaysome move 7"
|
|
bindsym $mod+Shift+8 exec "swaysome move 8"
|
|
bindsym $mod+Shift+9 exec "swaysome move 9"
|
|
bindsym $mod+Shift+0 exec "swaysome move 0"
|
|
|
|
# Init workspaces for every screen
|
|
exec "swaysome init"
|
|
```
|
|
|
|
Finally append your `sway` configuration with this:
|
|
```
|
|
include ~/.config/sway/config.d/*.conf
|
|
```
|
|
|
|
You should end-up with workspaces from `1` to `0`, prefixed with a screen index,
|
|
giving you workspace `01` on the first screen, and workspace `11` on the second
|
|
one, both accessible with shortcut `$mod+1`.
|
|
|
|
The `init` command simply walks through every screen to initialize a prefixed
|
|
workspace. It does it backwards so that you end-up focused on the first screen,
|
|
as usual.
|