Age | Commit message (Collapse) | Author |
|
Handle bindsym duplicates
|
|
Also replace `bindsym_sort` with function `sway_binding_cmp` that takes
all data into account when comparing.
|
|
|
|
Fix `workspace_output` duplicates
|
|
This also fixes a bug where issuing a new "workspace a output b" command
for an already assigned workspace would not work (the old config would
be found first and used instead).
|
|
|
|
Sometimes one has to traverse a list to find out if some data already
exists there in order to avoid dupilcates in the list, and this function
facilitates in that without requiring that the data is ordered.
|
|
|
|
|
|
Note that not all scaling modes are actually supported by swaybg yet.
|
|
|
|
|
|
|
|
|
|
And create a background surface on every output when invoking swaybg.
|
|
Thanks @Cloudef, it works great
|
|
This does not work as expected. I think the problem is on the wlc side.
Please review, @Cloudef. To reproduce the issues:
1. Run sway
2. Open terminal in sway
3. Run swaybg
swaybg will create a surface and ask to have it set as the background,
but wlc_handle_from_wl_surface_resource will return 0. If the swaybg
surface is a shell surface, then it works - but wlc complains about the
pointer type and segfaults as soon as the pre-render hook tries to draw
the background.
|
|
|
|
|
|
|
|
Apparently wayland has fucking client-side cursors, too
|
|
|
|
|
|
|
|
|
|
|
|
Now it receives frame callbacks and renders properly, and is double
buffered and such.
|
|
This will allow us to eventually open that process on the current view.
Requires support from @Cloudef.
|
|
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).
|
|
cmd_output: Replace existing config if called multiple times.
|
|
|
|
|
|
README: Add long code overview section.
|
|
|
|
Apparently I missed some
cc @Cloudef
|
|
cc @Cloudef
|
|
Check the client_setup() return value
|
|
|
|
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.
|
|
This one was actually taken from within sway!
|
|
|
|
|
|
This reverts commit f0ceb4e909bb0182d10ce09d34019497aa8d5715.
|
|
ipc: Put socket into proper user runtime dir.
|
|
And ~/.config/i3/config, of course.
|
|
|
|
|
|
|