Isaac Freund
7a244092e5
view: sidestep transaction for float/fullscreen
...
Transactions are only useful when multiple views need to atomically
change size together. Float/fullscreen views are independant of the
layout and should bypass the transaction system.
2020-07-31 17:06:26 +02:00
Isaac Freund
ecef8c2dc4
cursor: forbid move/resize of fullscreen views
2020-07-31 17:06:26 +02:00
Isaac Freund
d87356c93a
view: forbid mode change if cursor target
...
Making a floating view tiled during a resize breaks things badly.
2020-07-31 17:06:26 +02:00
Isaac Freund
9f3ee76e51
cursor: implement resize
2020-07-31 17:06:26 +02:00
Isaac Freund
ac3066d8fc
code: refactor and simplify cursor move mode
2020-07-28 16:17:16 +02:00
Isaac Freund
11a46b80e0
meta: update layer shell xml
2020-07-28 12:32:56 +02:00
Isaac Freund
2f0bd157e3
river-status: note that wl_outputs must be bound
2020-07-24 17:53:53 +02:00
Isaac Freund
3bc799811f
ci: use void linux
...
arch is taking too long to get wlroots 0.11.0 and I already updated it
for void.
2020-07-18 01:28:41 +02:00
Isaac Freund
627ab7ec8a
cursor: ensure theme loaded on output creation
2020-07-17 20:40:33 +02:00
Isaac Freund
43bcce9afe
code: fix a pair of leaks
2020-07-17 16:01:35 +02:00
Isaac Freund
0091445b9f
cursor: properly set XCURSOR_SIZE if default
2020-07-17 12:58:54 +02:00
Leon Henrik Plickat
228c2c372f
Fix bug causing XDG toplevels with a parent to not respect the CSD filter
2020-07-16 21:24:08 +02:00
Leon Henrik Plickat
a93c263502
Implement csd-filter-add and float-filter-add commands
2020-07-16 21:24:08 +02:00
Leon Henrik Plickat
76da7e2b0d
Make float_filter a slice list
2020-07-16 21:24:08 +02:00
Isaac Freund
0ebb5ccc17
code: update to wlroots 0.11.0
2020-07-16 21:20:43 +02:00
Leon Henrik Plickat
be29b0ef95
Implement csd_filter list
2020-07-16 17:08:19 +02:00
Isaac Freund
91126388b5
ci: run on all branches
2020-07-15 18:44:33 +02:00
Isaac Freund
101f47d78f
code: use a tagged union to store focus
...
This simplifies the code and is more robust than two separate pointers.
2020-07-15 14:15:17 +02:00
Isaac Freund
8afe7c2c87
code: simplify direction parsing
2020-07-15 13:03:28 +02:00
Isaac Freund
1389b4a850
code: deduplicate command include code
2020-07-15 12:54:36 +02:00
Isaac Freund
2b2b78dd4d
command: split set-option into "toplevel" commands
...
`riverctl set-option view_padding 10` becomes `riverctl view-padding 10`
Having set-option doesn't really gain us anything and is more verbose as
well as being slightly inaccurate as the changes instantly apply.
2020-07-15 12:42:20 +02:00
Isaac Freund
6bdb152808
cursor: make xcursor theme configurable
...
- add a new command to set the theme
- export the theme of the default seat through environment variables
2020-07-14 17:34:29 +02:00
Isaac Freund
f3d4e5ac53
command/spawn: use _exit(2) instead of exit(3)
...
Something in exit(3) is causing the intermediate fork to segfault.
2020-07-12 12:16:05 +02:00
Isaac Freund
8120829e5c
xwayland: set seat
...
This makes e.g. the clipboard work.
2020-07-09 22:31:01 +02:00
Isaac Freund
cbf645d468
command/spawn: clean up and disown children
...
- Call setsid
- Clean up the signal mask.
- Use a double fork so that processes get inherited by init.
2020-07-08 14:00:51 +02:00
Leon Henrik Plickat
d77ac5ac7a
cursor: close view on middleclick when pointer_modifier is active
2020-07-08 12:25:52 +02:00
Leon Henrik Plickat
d292e61cfd
cursor: implement moving views
2020-07-07 19:06:52 +02:00
Isaac Freund
dfe61fe77d
xwayland: don't crash on null title
2020-07-06 16:10:59 +02:00
Isaac Freund
014963612c
river-status: fix bug sending old output tag state
2020-07-06 11:09:23 +02:00
Isaac Freund
24c0355ba8
layer-shell: respect single anchor exclusive zones
2020-07-05 23:34:59 +02:00
Isaac Freund
341fe1e977
code: handle out of memory as well as possible
2020-07-05 22:49:17 +02:00
Isaac Freund
3752a7879b
server: send SIGTERM to startup process on exit
2020-07-05 15:44:21 +02:00
Isaac Freund
9dd18c6373
server: exit cleanly on SIGINT and SIGTERM
2020-07-05 14:49:34 +02:00
Isaac Freund
86386e84bc
output: introduce state struct
...
This simplifies the handling of the current/pending tags and will be
used in the future for atomic layout updates involving layer surface
exclusive zones.
2020-07-02 21:56:26 +02:00
Lennard Hofmann
3b508688ea
docs: Fix duplicate mapping in config.sh
2020-06-29 22:15:30 +02:00
Isaac Freund
34d42d9e8c
xdg-shell: honor fullscreen requests
2020-06-29 11:52:53 +02:00
Isaac Freund
c78d31acf4
view: save and restore floating dimensions
...
When a floating view is fullscreened and returned to floating, it should
remember its previous floating size/position.
2020-06-29 11:15:55 +02:00
Isaac Freund
5474b656ee
docs: add toggle-fullscreen
2020-06-29 01:50:26 +02:00
Isaac Freund
7b6e05005d
render: draw fullscreen views properly
...
- use a solid black background
- only draw the overlay layer
2020-06-29 01:46:24 +02:00
Isaac Freund
eb1e66b0fe
seat: prioritize fullscreen views for focus
2020-06-29 01:04:37 +02:00
Isaac Freund
acd08840ab
command: disable focus-view in fullscreen
2020-06-29 01:04:37 +02:00
Isaac Freund
3cbd95fadc
river: implement toggle-fullscreen
...
The command works, but behaves a little strangely. Also, fullscreen
views are not yet rendered on an opqaue backdrop.
2020-06-29 01:00:57 +02:00
Isaac Freund
82a444a7c0
view: use saved geometry for borders if needed
...
This fixes the issues caused by 60f06a1
and greatly simplifies the code.
Turns out we were already tracking the dimensions needed.
2020-06-28 20:45:17 +02:00
Isaac Freund
5b96d831d3
view: replace mode with float/fullscreen bools
...
The enum would be awkward here since if a view is fullscreened while
floating it should still be floating when defullscreened.
2020-06-28 20:30:12 +02:00
Isaac Freund
60f06a1a40
view: draw borders around actual dimensions
...
Previously if the view did not take the size requested, we would draw
the borders around the size we asked the view to take rather than its
actual size.
2020-06-28 01:46:53 +02:00
Isaac Freund
7f2e2610e3
code: fix tests
2020-06-28 00:35:38 +02:00
Isaac Freund
b6ef4c5a1a
cursor: fix viewAt() ordering
...
Focused views must be checked first as they are always rendered on top.
2020-06-28 00:29:44 +02:00
Isaac Freund
9dfcec72a8
view: simplify default float dimension handling
2020-06-27 23:48:04 +02:00
Isaac Freund
c04112b81a
view: introduce state struct to simplify code
...
The state struct holds all of the state that is double-buffered and
applied through transactions. This more explicit handling simplifies
much of the code, and will allow for easier implementation of new
feature such as fullscreen.
2020-06-27 23:18:41 +02:00
Isaac Freund
89d0fb012d
view: use a mode enum instead of floating bool
...
This is in preperation for fullscreen support which will add another
mode to this enum.
This commit also fixes a bug that allowed clicking floating views though
layout views in some cases.
2020-06-27 18:12:18 +02:00