Commit Graph

383 Commits

Author SHA1 Message Date
Isaac Freund d2ebd5e4e2 view: remember floating dimesions
When a floating view is returned to the layout or made fullscreen, it
now saves the dimesions it had while floating and returns to that same
position/size if made to float again.
2020-07-31 20:22:37 +02:00
Isaac Freund d6823fe3a0 cursor: handle xwayland views for move/resize 2020-07-31 17:06:26 +02:00
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