Commit Graph

691 Commits

Author SHA1 Message Date
96a91fd2f7 view: double buffer focus, use counter not bool
- Double buffering focus state ensures that border color is kept in sync
with the transaction state of views in the layout.
- Using a counter instead of a bool will allow for proper handling of
multiple seats. This is done in the same commit to avoid more churn in
the future.
2020-08-03 18:54:18 +02:00
7d77160fe3 view: arrange on unmap if fullscreened from layout
We don't rearrange the layout on fullscreening a view that is part of
the layout since the fullscreened view hides the layout. This means that
if a non-floating fullscreen view is closed the layout needs to be
rearranged.
2020-08-01 20:03:32 +02:00
ef4efbcadf view: fix xdg_toplevel fullscreen request handling 2020-08-01 19:56:34 +02:00
845fcad9e6 layout: use fork/execve instead of ChildProcess
This keeps things simpler, and we will need this control anyways in
order to enforce a timeout.
2020-08-01 18:37:06 +02:00
05557086e6 output: simplify layout code 2020-08-01 17:34:45 +02:00
56df9176b3 server: handle SIGINT/SIGTERM with wl_event_loop
This is cleaner than having a separate signal handler and should be more
consistent/reliable.
2020-08-01 17:27:49 +02:00
54b09c4ae9 server: use fork/execve for startup command
std.ChildProcess leaks an fd currently and is more complex than what we
need anyways.
2020-08-01 13:40:41 +02:00
3e17f12cbb doc: shorten riverctl’s synopsis
The set-option command got removed but was still present in SYNOPSIS,
which confused me. It is not the first time, we forgot to update it.
2020-08-01 12:36:52 +02:00
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
d6823fe3a0 cursor: handle xwayland views for move/resize 2020-07-31 17:06:26 +02:00
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
ecef8c2dc4 cursor: forbid move/resize of fullscreen views 2020-07-31 17:06:26 +02:00
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
9f3ee76e51 cursor: implement resize 2020-07-31 17:06:26 +02:00
ac3066d8fc code: refactor and simplify cursor move mode 2020-07-28 16:17:16 +02:00
11a46b80e0 meta: update layer shell xml 2020-07-28 12:32:56 +02:00
2f0bd157e3 river-status: note that wl_outputs must be bound 2020-07-24 17:53:53 +02:00
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
627ab7ec8a cursor: ensure theme loaded on output creation 2020-07-17 20:40:33 +02:00
43bcce9afe code: fix a pair of leaks 2020-07-17 16:01:35 +02:00
0091445b9f cursor: properly set XCURSOR_SIZE if default 2020-07-17 12:58:54 +02:00
228c2c372f Fix bug causing XDG toplevels with a parent to not respect the CSD filter 2020-07-16 21:24:08 +02:00
a93c263502 Implement csd-filter-add and float-filter-add commands 2020-07-16 21:24:08 +02:00
76da7e2b0d Make float_filter a slice list 2020-07-16 21:24:08 +02:00
0ebb5ccc17 code: update to wlroots 0.11.0 2020-07-16 21:20:43 +02:00
be29b0ef95 Implement csd_filter list 2020-07-16 17:08:19 +02:00
91126388b5 ci: run on all branches 2020-07-15 18:44:33 +02:00
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
8afe7c2c87 code: simplify direction parsing 2020-07-15 13:03:28 +02:00
1389b4a850 code: deduplicate command include code 2020-07-15 12:54:36 +02:00
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
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
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
8120829e5c xwayland: set seat
This makes e.g. the clipboard work.
2020-07-09 22:31:01 +02:00
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
d77ac5ac7a cursor: close view on middleclick when pointer_modifier is active 2020-07-08 12:25:52 +02:00
d292e61cfd cursor: implement moving views 2020-07-07 19:06:52 +02:00
dfe61fe77d xwayland: don't crash on null title 2020-07-06 16:10:59 +02:00
014963612c river-status: fix bug sending old output tag state 2020-07-06 11:09:23 +02:00
24c0355ba8 layer-shell: respect single anchor exclusive zones 2020-07-05 23:34:59 +02:00
341fe1e977 code: handle out of memory as well as possible 2020-07-05 22:49:17 +02:00
3752a7879b server: send SIGTERM to startup process on exit 2020-07-05 15:44:21 +02:00
9dd18c6373 server: exit cleanly on SIGINT and SIGTERM 2020-07-05 14:49:34 +02:00
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
3b508688ea docs: Fix duplicate mapping in config.sh 2020-06-29 22:15:30 +02:00
34d42d9e8c xdg-shell: honor fullscreen requests 2020-06-29 11:52:53 +02:00
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
5474b656ee docs: add toggle-fullscreen 2020-06-29 01:50:26 +02:00
7b6e05005d render: draw fullscreen views properly
- use a solid black background
- only draw the overlay layer
2020-06-29 01:46:24 +02:00
eb1e66b0fe seat: prioritize fullscreen views for focus 2020-06-29 01:04:37 +02:00