Commit Graph

951 Commits

Author SHA1 Message Date
951c11f642 ci: build wlroots from source 2021-06-23 15:35:10 +02:00
41874b47ae code: update to wlroots 0.14.0 2021-06-23 15:35:10 +02:00
d3a9e96f7d Add spacial output operations
List based output operations are tedious for complex output layouts.
2021-06-23 12:47:20 +02:00
3efcfedcf4 layer-shell: handle commits before map
A client is free to change its mind and request a different
size/anchor/etc after recieving the initial configure but before
attaching and committing the first buffer. This means that we should
respond to such a situation with a new configure.

mako has been observed doing this in the wild for example.
2021-06-22 14:07:14 +02:00
a2c81adba0 xdg-toplevel: remove listeners before view destroy
Currently in handleUnmap() we call View.unmap() before removing
listeners. However View.unmap() may destroy the view before returning
if the transaction started doesn't have to wait on any configures.

To ensure that we don't try to remove listeners which have already been
free'd, do this before calling View.unmap().
2021-06-17 20:57:14 +00:00
5daec347c0 render: damage on background/border color change 2021-06-16 17:42:09 +00:00
3405e2a87c Ignore move and resize requests from fullscreened XDG toplevels 2021-06-16 10:03:30 -07:00
12c12c4b6c completions: add fish completion for input command 2021-06-16 09:59:37 -07:00
db35f700a8 completions/zsh: add input commands 2021-06-16 09:54:07 -07:00
f3024d9198 decoration: remove listeners on destroy 2021-06-14 22:55:10 +00:00
9ecffe21d8 layout: fix use-after-free in destroy() 2021-06-14 22:45:11 +00:00
6f61ea07db view: ensure surface_box is initailized before use 2021-06-14 22:37:14 +00:00
37251c8758 output: handle OutputDamage destroy
This may be destroyed before our output destroy listener is called.
2021-06-14 22:17:01 +00:00
20eb94317a root: simplify noop output handling
Instead of removing the listeners of the noop output early, simply never
add them.
2021-06-14 21:52:44 +00:00
1fd8d4d828 add bash completion for input commands 2021-06-13 10:37:36 -07:00
a267262a17 Add list-input-configs command 2021-06-13 10:37:36 -07:00
3f4fd97b6e Add list-inputs command 2021-06-13 10:37:36 -07:00
c9c9901c5b doc: Document input config commands 2021-06-13 10:37:36 -07:00
833248e805 Add basic input configuration 2021-06-13 10:37:36 -07:00
cab947b3a3 ci: add gcc to fix build
Zig relies on the existence of a system c compiler in order to
find the native libc include paths.
2021-06-09 20:35:30 +00:00
88410cc2b8 output: destroy Layouts on Output removal
The Layout struct holds a pointer to the Output which becomes invalid
when the Output is destroyed so we must ensure all the layouts of an
Output are destroyed first.
2021-06-09 20:03:19 +00:00
2e7c1dbe6a config: make attach-mode global 2021-06-08 18:26:36 +00:00
75814eb876 view_stack: update tests for zig 0.8.0 2021-06-08 18:25:43 +00:00
68267a4cfe river: don't extend timeout on transaction preemption
This avoids locking up the compositor if a client is unresponsive and
the user continuously initiates new transactions through their actions.
2021-06-08 15:18:45 +00:00
e90474657f view: send activated/fullscreen configures immediately
The transaction system exists to coordinate size changes of all views
in a layout in order to achieve frame perfection. Since many clients
do not need to commit a new buffer in response to a activated state
change alone, this breaks things when such a configure event is tracked
by the transaction system. Instead, simply send activated and fullscreen
configures right away but still track this state in a double-buffered
way so that e.g. border color changes based on focus are frame-perfect.

This also fixes a related issue with the transaction system where views
that did not need to commit in response to our first configure were not
rendered until their next frame.
2021-06-08 06:00:15 +00:00
021fd8f376 code: remove now unnecessary zig fmt directives
zig fmt does what we want since zig 0.8.0
2021-06-08 03:20:56 +00:00
1bacaa5b43 view: get rid of notifyConfiguredOrApplyPending()
This function is only called in one place, just inline the code.
2021-06-08 02:56:19 +00:00
cef6d5a0be render: fix damage tracking of drag icons 2021-06-07 18:34:54 +00:00
0e9dc089d1 render: track subsurfaces created before role assignment 2021-06-05 19:30:43 +00:00
aaf5a190fc doc: correct zig version requirement in readme 2021-06-05 19:15:21 +00:00
c0a2286847 code: update to zig 0.8.0 2021-06-05 17:29:58 +00:00
ca4abd261f xdg-toplevel: remove set_app_id listener 2021-05-31 15:46:39 +00:00
acaf192465 render: actually damage output on view opacity change 2021-05-31 15:21:42 +00:00
9ee788b65e render: damage output on view opacity change 2021-05-31 01:00:49 +00:00
c68b96870f doc: add IRC web client link 2021-05-28 17:39:43 +00:00
13f01bcb4b render: do basic yes/no damage tracking 2021-05-24 16:43:21 +02:00
3390f223a8 example/init: use Mod+Shift E for exit
I keep hitting Mod+E when testing because of colemak.
2021-05-24 00:33:53 +02:00
c5005ba4a8 doc: move IRC channel to libera 2021-05-19 16:55:19 +02:00
6333e465d2 Allow changing output focus with pointer 2021-05-19 14:15:28 +02:00
6ab06120fa rivertile: clamp main_amount 2021-05-19 13:54:54 +02:00
21bb333323 doc: fixed command name in example
send-layout-value → set-layout-value
2021-05-19 13:51:56 +02:00
c8b1017923 river: remove Seat.input_manager
This is no longer needed as server is global.
2021-05-13 15:13:17 +02:00
50cdcf3ee4 river: remove all stored *Root pointers
These are no longer needed as server is global.
2021-05-13 15:08:53 +02:00
3d031631c7 river: remove misc stored *Server pointers
These are no longer needed as server is now global.
2021-05-13 15:06:00 +02:00
ece465b7ed river: remove InputManager.server
The server is now global so this is no longer needed.
2021-05-13 14:53:08 +02:00
ac27db236a river: remove Output.root
The server is now global so this is no longer needed.
2021-05-13 14:35:36 +02:00
89e0d4c083 river: remove Root.server
The server is now global so this is no longer needed.
2021-05-13 14:26:27 +02:00
271b1563a8 river: make server a global variable 2021-05-13 14:25:34 +02:00
7ffa2f4b9e contrib: Update layout.c for river-layout-v2 2021-05-07 00:34:41 +02:00
7ccb4794c9 river: always render floating views above layout views 2021-05-05 15:54:52 +02:00