When one is using Sway, one has to keep in mind, that it is not something like the Gnome Desktop. Sway focuses itself on windows managing and does not provide all features expected from a GUI like the lock screen. The benefit is, that it runs on BSD and Linux as well. The downside is, that there is no common project which integrates a certain operation system with Sway extensively. So things like using the media keys has to be configured manually.

The Project Sway itself has some documentation. You can use its  wiki  ,lookup  known issues  and use its  support chat  . There is a  reddit community  . Arch Linux has a  wiki  with some info.

If you find out something helpful, try to add the information to the project's Wiki, instead of creating own informational clusters, in order to spread knowledge. Yeah, there is definitively no hypocrisy here.

By now most systems should have an installable package, that is provided by systems default package system/app store. If this is not the case one can try to build it oneself, which should be easy by now, given the fact that required Wayland development libs are easily and commonly available on most systems. On the other hand one should always expect build errors this way and a lot of time.

Try using  i3  . It is the predecessor of Sway based on X11 instead of Wayland. Configuration files of i3 are mostly also working in Sway out of the box.

    Basic Sway Commands
    1. d:val
      Window Commands
      1. d:val
        Move current window to neighbouring position.
        1. d:val
          1. $mod+shift+↑

        2. d:val
          1. $mod+shift+→

        3. d:val
          1. $mod+shift+↓

        4. d:val
          1. $mod+shift+←

      2. d:val
        Move current window to another workspace.
        1. $mod+shif+[desktop number]

      3. d:val
        Close current window.
        1. $mod+shif+q

      4. d:val
        Switch window float status.
        1. $mod+spacebar

    2. d:val
      Desktop Commands
      1. d:val
        Switch currently selected window.
        1. $mod+[desktop number]

    3. d:val
      Session Commands
      1. d:val
        Open new terminal window.
        1. $mod+enter

      2. d:val
        Open menu.
        1. $mod+d

      3. d:val
        Close session/ logout.
        1. $mod+shift+e

      4. d:val
        Switch keyboard layout.
        1. $mod+space


This chapter describes the setup of functionality, that are not described in the previously linked Sway Support Sites, or where the setup is done in an alternative way.

 Not installing a notification daemon  , will either result in slow performance or no notifications. One can install dunst via the system's package manager and add exec dunst to the Sway configuration. dunst has the benefit of being available on most Linux distributions.

One can stream on Sway with OBS, but OBS needs the plugin  wlrobs  , which works fine on Ubuntu 20.04.1 LTS.

One can take partial screenshots via  grim, slurp and wl-clipboard  . First install these packages and add the following configuration to ~/.config/sway/config: $mod+p exec grim -g "$(slurp -d)" - | wl-copy. Now you can create screenshots by pressing $mod+p and selecting a part of the screen. The image is stored in the clipboard and can be pasted anywhere.

Alerts on power state default notification system can be done via  poweralertd  .

Some applications look different in full screen mode. You could run a wayland compositor like cage inside Sway, but in this way you are not able to copy and paste between windows in the nested compositor and Sway. Browsers have some functionality in order to toggle full screen mode, without occupying the full screen. In Firefox `full-screen-api.ignore-widgets` makes Firefox full screen not trigger Sway full screen (not the other way, though). (the *other* way, `browser.fullscreen.autohide` is your best bet, which just makes full screen look the same by not hiding the bar)