SWAYSOME(1)

NAME
swaysome - improve multi-output handling on sway

SYNOPSIS
swaysome [OPTIONS] <COMMAND>

DESCRIPTION
swaysome helps you configure sway to work a bit more like AwesomeWM (https://awesomewm.org/). This means that "workspaces" are namespaced in what are called "workspace groups", and "workspace groups" can be moved around the differents outputs easily.

For example, with workspace 11 on the first output, and workspace 21 on the second output, triggering the `swaysome focus 1` shortcut to get workspace 1 would lead you to workspace 11 if your focus is on the first output, and workspace 21 is the focus is on the second one.

By default, `swaysome init` will create a workspace group per active output, but you may create other groups while working, by either triggering `swaysome focus-group <new-number>` and opening a new window, or sending an existing window to it first with `swaysome move-to-group <new-number>`.

Here is a common use-case for this:

    output-1:
        workspace group 1:
            workspace 11: chats
            workspace 12: emails
    output-2:
        workspace group 2:
            workspace 21: IDE for first project
            workspace 22: browser for first project
            workspace 23: terminals for first project
        workspace group 3:
            workspace 31: IDE for second project
            workspace 32: browser for second project
            workspace 33: terminals for second project

That way, when output-2 is focused on workspace group 2, be it workspace 21 or 22, the quick `$mod+<number>` (bound to `swaysome focus <number>`) shortcut won't leave workspace group 2, allowing you to open multiple projects in parallel without the hassle of manually remembering how to namespace them.

In that situation, suppose you plug in a new output, `output-3`, you may then want to focus workspace group 3 to send it to `output-3`: this is simply done by typing the shortcuts `$mod+Alt+3` (`swaysome focus-group 3`) then `$mod+Alt+o` (`swaysome workspace-group-next-output`).

swaysome may also work with i3, but this is untested. Patches welcome if needed.

swaysome should be compatible with sworkstyle (https://lib.rs/crates/sworkstyle). If this is broken, please report a bug.

USAGE

If you installed swaysome from your distribution's package manager, it should have provided your system with the default configuration file. In that case, you can just include from your sway configuration by appending the following to it:

    include /etc/sway/config.d/swaysome.conf

Otherwise, if installing by any other way, copy the swaysome.conf file in ~/.config/sway/config.d/swaysome.conf, then append your sway configuration with this:

    include ~/.config/sway/config.d/sway.conf

On next startup of `sway`, you should end-up with workspaces from `1` to `0`, prefixed with a screen index, giving you workspace `11` on the first screen, and workspace `21` on the second one, both accessible with shortcut `$mod+1` when focused on the right output.

COMMANDS

init INDEX
    Initialize the workspace groups for all the outputs on workspace INDEX. This 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.

move INDEX
    Move the focused container to workspace INDEX (stay in the same workspace group)

move-to-group INDEX
    Move the focused container to workspace group INDEX (keep the same workspace index)

focus INDEX
    Focus to workspace INDEX (stay in the same workspace group)

focus-group INDEX
    Focus to workspace group INDEX (keep the same workspace index)

focus-all-outputs INDEX
    Focus to workspace INDEX on all the outputs at once (not bound by default)

next-output
    Move the focused container to the next output

prev-output
    Move the focused container to the previous output

workspace-group-next-output
    Move the focused workspace group to the next output

workspace-group-prev-output
    Move the focused workspace group to the previous output

next-group
    Move the focused container to the next group

prev-group
    Move the focused container to the previous group

rearrange-workspaces
    Rearrange already opened workspaces to the correct outputs, useful when plugging new monitors

help
    Print this message or the help of the given subcommand(s)

OPTIONS

-h, --help
    Print help

-V, --version
    Print version

VERSION
2.1.2

HOMEPAGE
https://gitlab.com/hyask/swaysome

Please report any bug or feature requests on the bug tracker.

AUTHORS
Florent 'Skia' Jacquet <skia@hya.sk>