Go to file
S. Christoffer Eliesen 236f26f62e output: Support multiple adjacent outputs.
When querying for an adjacent output we now need an absolute position in
order to know which adjacent output that matches. (The position is
either the current mouse position or the center of the currently focused
container, depending on context.)

If two outputs have one edge each that at least partially align with
each other they now count as adjacent.

Seamless mouse is affected by this and now properly moves and positions
itself between outputs with "uneven" placement (as long as they have at
least some part of the edge adjacent to each other).

When focusing or moving a container in a specified direction the center
of the current focused container decides where to look for an adjacent
output. So if e.g. an output has two adjacent outputs to the right and a
"focus right" command is issued then it's the placement of the currently
focused container that decides which output actually gets focused.

Also, if an output has at least one output adjacent in some direction
but the entire edge is not covered (ie. it has "holes" with no outputs),
then the algorithm will choose the output that is closest to the
currently focused container (this does not apply to seamless mouse, the
pointer will just stop at the edge in that case).
2015-11-16 21:32:18 +01:00
.ci make install wlc as part of the build 2015-09-04 21:08:44 +02:00
CMake Add new dependencies for wayland clients 2015-11-12 08:17:52 -05:00
common Clean up CMake stuff 2015-11-13 07:17:48 -05:00
include output: Support multiple adjacent outputs. 2015-11-16 21:32:18 +01:00
sway output: Support multiple adjacent outputs. 2015-11-16 21:32:18 +01:00
swaybg Check the client_setup() return value 2015-11-13 20:42:45 +01:00
wayland Clean up some things better in wayland clients 2015-11-13 10:27:16 -05:00
.gitignore Add command line parsing 2015-08-20 08:37:24 -04:00
.travis.yml Add new swaybg dependencies 2015-11-12 16:40:21 +01:00
CMakeLists.txt Fix man page installs 2015-11-13 07:56:06 -05:00
config Add note to config about floating_modifier 2015-08-23 11:27:16 -04:00
HACKING.md HACKING.md: Add code overview section. 2015-11-15 22:55:02 +01:00
LICENSE MIT license 2015-08-04 21:31:07 -04:00
README.md Update README 2015-11-15 20:22:28 -05:00
sway-xorg.desktop Add Wayland and Xorg session files 2015-08-20 23:12:34 +02:00
sway.1.txt Fixed a couple of typos in man pages 2015-09-01 13:27:28 -04:00
sway.5.txt Learn "gaps edge_gaps <on|off|toggle>". 2015-11-04 13:21:10 +01:00
sway.desktop Add Wayland and Xorg session files 2015-08-20 23:12:34 +02:00
xdg-shell.xml Add new dependencies for wayland clients 2015-11-12 08:17:52 -05:00

sway Donate with fosspay

"SirCmpwn's Wayland window manager" is a work in progress i3-compatible window manager for Wayland. Read the FAQ.

Rationale

I use i3 on xorg. Wayland is coming, and i3way still has zero lines of source code after two years.

Status

See "i3 feature support"

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.

Compiling from Source

Install dependencies:

  • cmake
  • wlc
  • wayland
  • xwayland
  • asciidoc
  • pcre
  • json-c
  • pango
  • cairo

Run these commands:

cmake .
make
sudo make install

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 /etc/sway/config to ~/.config/sway/config. Run man 5 sway for information on the configuration.

Running

Run this from a tty (instead of starting x):

sway

If you run it from within x, it will spawn x windows instead of using your hardware directly (useful for development).