Commit Graph

963 Commits

Author SHA1 Message Date
Drew DeVault
6850174049 Merge pull request #233 from sce/multiple_adjacent_outputs
output: Support multiple adjacent outputs.
2015-11-16 15:57:02 -05:00
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
Drew DeVault
95c65ee33e Merge pull request #232 from sce/replace_output_config
cmd_output: Replace existing config if called multiple times.
2015-11-16 10:49:02 -05:00
S. Christoffer Eliesen
a94a91a723 cmd_output: Replace existing config if called multiple times. 2015-11-16 15:57:42 +01:00
Drew DeVault
00a4591b39 Update README 2015-11-15 20:22:28 -05:00
Drew DeVault
63a3f24b79 Merge pull request #230 from sce/code_overview
README: Add long code overview section.
2015-11-15 16:58:14 -05:00
S. Christoffer Eliesen
2f7f8512bd HACKING.md: Add code overview section. 2015-11-15 22:55:02 +01:00
Drew DeVault
cd161aa985 We somewhat more wlc_point now
Apparently I missed some

cc @Cloudef
2015-11-14 17:14:23 -05:00
Drew DeVault
95442dac8d We wlc_point now
cc @Cloudef
2015-11-14 11:30:29 -05:00
Drew DeVault
ab3d6f6fa1 Merge pull request #227 from xerpi/master
Check the client_setup() return value
2015-11-13 14:48:11 -05:00
Sergi Granell
a8b18b5159 Check the client_setup() return value 2015-11-13 20:42:45 +01:00
Drew DeVault
3dbdc40b0e Merge pull request #226 from sce/fix_get_socketpath
ipc: Store socketname in SWAYSOCK. Fixes `--get-socketpath`.
2015-11-13 14:10:00 -05:00
S. Christoffer Eliesen
f64b7e71d4 ipc: Store socketname in SWAYSOCK. Fixes --get-socketpath.
After adding pid to the socket path the `--get-socketpath` command broke
because it doesn't know the pid of the running instance. Fix this by
setting and querying `SWAYSOCK`.

Also ignore `SWAYSOCK` upon normal startup if a socket exists at that
location (ie. from another sway instance), and don't overwrite `I3SOCK`
if it exists either.
2015-11-13 18:18:52 +01:00
Drew DeVault
2cc6d39d46 New screenshot for README
This one was actually taken from within sway!
2015-11-13 11:07:57 -05:00
Drew DeVault
f7c0d2badb Clean up some things better in wayland clients 2015-11-13 10:27:16 -05:00
Drew DeVault
1011957465 Merge branch 'master' of github.com:SirCmpwn/sway 2015-11-13 08:17:35 -05:00
Drew DeVault
38b18d460a Revert "Try ~/.i3/config earlier than /etc/sway/config"
This reverts commit f0ceb4e909.
2015-11-13 08:17:29 -05:00
Drew DeVault
f3fc48f692 Merge pull request #225 from sce/logind_socket_path
ipc: Put socket into proper user runtime dir.
2015-11-13 08:15:14 -05:00
Drew DeVault
f0ceb4e909 Try ~/.i3/config earlier than /etc/sway/config
And ~/.config/i3/config, of course.
2015-11-13 08:09:30 -05:00
S. Christoffer Eliesen
253204efb9 ipc: Put socket into proper user runtime dir. 2015-11-13 14:07:18 +01:00
Drew DeVault
5c3f40111a Fix man page installs 2015-11-13 07:56:06 -05:00
Drew DeVault
fd1a59def3 Clean up CMake stuff 2015-11-13 07:17:48 -05:00
Drew DeVault
44d0b3282f Merge pull request #224 from mathstuf/cmake-cleanups
CMake cleanups
2015-11-12 22:20:44 -05:00
Ben Boeckel
8e8bdbcae2 cmake: run git in the source directory 2015-11-12 21:56:14 -05:00
Ben Boeckel
ec013d1f1a common: create a static library 2015-11-12 21:56:14 -05:00
Ben Boeckel
98678dea5d cmake: clean up installation rules 2015-11-12 21:56:14 -05:00
Ben Boeckel
f8ae8cb820 cmake: clean up definition settings 2015-11-12 21:56:14 -05:00
Ben Boeckel
28f1e9842c cmake: manipulate CMAKE_MODULE_PATH as a list
Also prefer local modules.
2015-11-12 21:56:14 -05:00
Ben Boeckel
2e9183e4de cmake: set the output directory once 2015-11-12 21:56:14 -05:00
Ben Boeckel
4714262c3d cmake: simplify manpage generation 2015-11-12 21:56:14 -05:00
Ben Boeckel
c8599dba02 cmake: use string(TIMESTAMP) 2015-11-12 21:56:14 -05:00
Ben Boeckel
f002baed7a cmake: bump requirement to 3.1.0
CMAKE_C_STANDARD was introduced in 3.1.0.
2015-11-12 21:43:21 -05:00
Drew DeVault
c43ef2aedd We don't need to implement strdup
After defining _GNU_SOURCE
2015-11-12 19:43:03 -05:00
Drew DeVault
11b1ba397f Further refinement of wayland client support 2015-11-12 19:35:39 -05:00
Drew DeVault
bfcabe48ef Start fleshing out wayland client implementation
This introduces a basic shared framework for making wayland clients
within sway itself.
2015-11-12 19:04:01 -05:00
Drew DeVault
5c4e98aa4e Merge branch 'master' of github.com:SirCmpwn/sway 2015-11-12 12:37:38 -05:00
Drew DeVault
ef8335d694 Start working on IPC for get_pixels
This is broken
2015-11-12 12:37:23 -05:00
Drew DeVault
8048b8a4d2 Merge pull request #223 from mikkeloscar/swaybg-deps
Add new swaybg dependencies
2015-11-12 10:48:56 -05:00
Mikkel Oscar Lyderik
b8068a1d3e Add new swaybg dependencies 2015-11-12 16:40:21 +01:00
Drew DeVault
4dc913c95e Add swaybg executable
This will let users set their background to something other than that
cringy demoscene thing wlc has now. It's also going to be the first
wayland client written for sway, so I picked an easy thing to work on.
We'll have to figure out how to indicate that it's a special view.
2015-11-12 08:31:47 -05:00
Drew DeVault
aadcba4b7c Add new dependencies for wayland clients
Cairo for rendering shit, Pango for text rendering, and wayland client
stuff. Thanks @Cloudef, blatantly ripping off his cmake files for this
2015-11-12 08:17:52 -05:00
Drew DeVault
250097d32b Fix gaps for views being incorrect 2015-11-12 08:02:39 -05:00
Drew DeVault
4397cff7bc Fix some IPC issues
Socket now includes pid in the filename (fixes nested sway sessions or
old sockets causing problems).

Fixed warnings on strict aliasing and cleaned up relevant code in
general.
2015-11-11 08:43:36 -05:00
Drew DeVault
d729032ba2 Add file and line number to log in Debug build 2015-11-11 08:32:32 -05:00
Drew DeVault
edb3e4b5ab Add some documentation comments
This is mostly setting a precedent, I hope that others will continue to
write docs for more headers.

Ref #218
2015-11-08 12:06:51 -05:00
Drew DeVault
d3de6af6c2 Merge pull request #217 from mikkeloscar/ipc-h
Include header declaring ipc_event_workpace(2)
2015-11-04 15:25:39 -05:00
Mikkel Oscar Lyderik
d5b5d92b30 Include header declaring ipc_event_workpace(2) 2015-11-04 21:12:25 +01:00
Drew DeVault
c3d731ba93 Merge pull request #216 from sce/learn_edge_gaps_0
Learn "gaps edge_gaps <on|off|toggle>".
2015-11-04 07:37:37 -05:00
S. Christoffer Eliesen
abc5fbfaec Learn "gaps edge_gaps <on|off|toggle>".
When yes, the old behaviour of adding half the inner gap around each
view is used.

When no, don't add any gap when an edge of the view aligns with the
workspace. The result is inner gap only between views, not against the
workspace edge.

The algorithm is not perfect because it means the extra space is
distributed amongst edge-aligned views only, but it's simple, looks good
and it works.
2015-11-04 13:21:10 +01:00
Drew DeVault
713c7d6e1e Merge pull request #215 from sce/gaps
Clean up gaps command
2015-11-04 06:58:26 -05:00