5c4f52f953
Panels were explicitly rendered by calling wlc_surface_render in handle_output_pre_render. Calling wlc_surface_render does not set the surface's geometry (like wlc_view_set_geometry does). Sway did not call wlc_view_set_geometry for panels, so wlc defaulted their geometry to be at the origin. This is not correct for bars unless their location is top. Furthermore, for a surface to receive pointer events, its mask has to be set to visible. This causes wlc to render these surfaces, causing panels and backgrounds to be rendered twice. This commit makes panels and surfaces visible, sets the correct geometries and removes the code that explicitly rendered them. |
||
---|---|---|
assets | ||
CMake | ||
common | ||
completions/zsh | ||
include | ||
protocols | ||
sway | ||
swaybar | ||
swaybg | ||
swaygrab | ||
swaylock | ||
swaymsg | ||
wayland | ||
.clang-format | ||
.editorconfig | ||
.gitignore | ||
.travis.yml | ||
CMakeLists.txt | ||
config | ||
CONTRIBUTING.md | ||
HACKING.md | ||
LICENSE | ||
README.md | ||
sway.desktop |
sway
"SirCmpwn's Wayland window manager" is a work in progress i3-compatible window manager for Wayland. Read the FAQ. Join the IRC channel (#sway on irc.freenode.net).
Release Signatures
Releases are signed with B22DA89A and published on GitHub.
Status
Installation
From Packages
Sway is not supported by many distributions yet. Here's a list of packages available for you to install:
For other distros, see this wiki page. If you're interested in packaging Sway for your distribution, stop by the IRC channel or shoot an email to sir@cmpwn.com for advice.
Compiling from Source
Install dependencies:
- cmake
- wlc
- wayland
- xwayland
- asciidoc
- pcre
- json-c
- pango
- cairo
- gdk-pixbuf2 *
- pam **
- imagemagick (required for image capture with swaygrab)
- ffmpeg (required for video capture with swaygrab)
*Only required for swaybar, swaybg, and swaylock
**Only required for swaylock
Run these commands:
mkdir build
cd build
cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_SYSCONFDIR=/etc ..
make
sudo make install
On systems without logind, you need to suid the sway binary:
sudo chmod a+s /usr/local/bin/sway
Configuration
If you already use i3, then copy your i3 config to ~/.config/sway/config
and
it'll work out of the box. Otherwise, copy the sample configuration file to
~/.config/sway/config
. It is usually located at /etc/sway/config
.
Run man 5 sway
for information on the configuration.
My own dotfiles are available here if you want some inspiration, and definitely check out the wiki as well.
Running
Instead of running startx
, run sway
. You can run sway
from within X as
well, which is useful for testing.