Commit Graph

997 Commits

Author SHA1 Message Date
Isaac Freund
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
Isaac Freund
5daec347c0 render: damage on background/border color change 2021-06-16 17:42:09 +00:00
Leon Henrik Plickat
3405e2a87c Ignore move and resize requests from fullscreened XDG toplevels 2021-06-16 10:03:30 -07:00
FollieHiyuki
12c12c4b6c completions: add fish completion for input command 2021-06-16 09:59:37 -07:00
novakane
db35f700a8 completions/zsh: add input commands 2021-06-16 09:54:07 -07:00
Isaac Freund
f3024d9198 decoration: remove listeners on destroy 2021-06-14 22:55:10 +00:00
Isaac Freund
9ecffe21d8 layout: fix use-after-free in destroy() 2021-06-14 22:45:11 +00:00
Isaac Freund
6f61ea07db view: ensure surface_box is initailized before use 2021-06-14 22:37:14 +00:00
Isaac Freund
37251c8758 output: handle OutputDamage destroy
This may be destroyed before our output destroy listener is called.
2021-06-14 22:17:01 +00:00
Isaac Freund
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
Leon Henrik Plickat
1fd8d4d828 add bash completion for input commands 2021-06-13 10:37:36 -07:00
Leon Henrik Plickat
a267262a17 Add list-input-configs command 2021-06-13 10:37:36 -07:00
Leon Henrik Plickat
3f4fd97b6e Add list-inputs command 2021-06-13 10:37:36 -07:00
Leon Henrik Plickat
c9c9901c5b doc: Document input config commands 2021-06-13 10:37:36 -07:00
Leon Henrik Plickat
833248e805 Add basic input configuration 2021-06-13 10:37:36 -07:00
Isaac Freund
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
Isaac Freund
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
novakane
2e7c1dbe6a config: make attach-mode global 2021-06-08 18:26:36 +00:00
novakane
75814eb876 view_stack: update tests for zig 0.8.0 2021-06-08 18:25:43 +00:00
Isaac Freund
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
Isaac Freund
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
Isaac Freund
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
Isaac Freund
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
Isaac Freund
cef6d5a0be render: fix damage tracking of drag icons 2021-06-07 18:34:54 +00:00
Isaac Freund
0e9dc089d1 render: track subsurfaces created before role assignment 2021-06-05 19:30:43 +00:00
Isaac Freund
aaf5a190fc doc: correct zig version requirement in readme 2021-06-05 19:15:21 +00:00
Isaac Freund
c0a2286847 code: update to zig 0.8.0 2021-06-05 17:29:58 +00:00
Isaac Freund
ca4abd261f xdg-toplevel: remove set_app_id listener 2021-05-31 15:46:39 +00:00
Isaac Freund
acaf192465 render: actually damage output on view opacity change 2021-05-31 15:21:42 +00:00
Isaac Freund
9ee788b65e render: damage output on view opacity change 2021-05-31 01:00:49 +00:00
Isaac Freund
c68b96870f doc: add IRC web client link 2021-05-28 17:39:43 +00:00
Isaac Freund
13f01bcb4b render: do basic yes/no damage tracking 2021-05-24 16:43:21 +02:00
Isaac Freund
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
Isaac Freund
c5005ba4a8 doc: move IRC channel to libera 2021-05-19 16:55:19 +02:00
Leon Henrik Plickat
6333e465d2 Allow changing output focus with pointer 2021-05-19 14:15:28 +02:00
Leon Henrik Plickat
6ab06120fa rivertile: clamp main_amount 2021-05-19 13:54:54 +02:00
Lennard Hofmann
21bb333323 doc: fixed command name in example
send-layout-value → set-layout-value
2021-05-19 13:51:56 +02:00
Isaac Freund
c8b1017923 river: remove Seat.input_manager
This is no longer needed as server is global.
2021-05-13 15:13:17 +02:00
Isaac Freund
50cdcf3ee4 river: remove all stored *Root pointers
These are no longer needed as server is global.
2021-05-13 15:08:53 +02:00
Isaac Freund
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
Isaac Freund
ece465b7ed river: remove InputManager.server
The server is now global so this is no longer needed.
2021-05-13 14:53:08 +02:00
Isaac Freund
ac27db236a river: remove Output.root
The server is now global so this is no longer needed.
2021-05-13 14:35:36 +02:00
Isaac Freund
89e0d4c083 river: remove Root.server
The server is now global so this is no longer needed.
2021-05-13 14:26:27 +02:00
Isaac Freund
271b1563a8 river: make server a global variable 2021-05-13 14:25:34 +02:00
Leon Henrik Plickat
7ffa2f4b9e contrib: Update layout.c for river-layout-v2 2021-05-07 00:34:41 +02:00
Isaac Freund
7ccb4794c9 river: always render floating views above layout views 2021-05-05 15:54:52 +02:00
Isaac Freund
cccca230f0 rivertile: fix typo in error message 2021-05-05 14:48:47 +02:00
Isaac Freund
57fe91c5a4 README: don't encourage manual system-wide install 2021-05-04 19:56:48 +02:00
Isaac Freund
ce69cfc337 doc: remove outdated reference to river-layouts(1) 2021-05-03 13:36:52 +02:00
Callum R. Renwick
bcd35e5746 example/init: fix typo in introductory comment 2021-05-03 12:02:29 +02:00