fa08d85c58
view: implement frame-perfect destroy
...
river's View objects may now outlive their wlroots counterparts so that
we can continue to render a destroyed view until the transaction is
completed.
2020-08-21 16:31:39 +02:00
59d6432332
Implement "attach-mode"
2020-08-18 11:00:51 +02:00
340bfbd7f1
xwayland: fix signed to unsigned int casting error
2020-08-13 13:47:14 +02:00
7de2edb623
seat: implement kde idle protocol
2020-08-13 12:22:32 +02:00
aabd85b028
layer-shell: improve configure handling
...
- don't send a new configure on commit if nothing has changed
- simplify code
2020-08-13 11:17:15 +02:00
7a6ac8eb6e
seat: set focus before starting transactions
...
Focus was made double-buffered in 96a91fd
. However, much of the code
still behaved as if focus was separate from the transaction system.
This commit completes the work started in 96a91fd
and ensures that
focus is applied consistently in a single transaction.
2020-08-13 11:17:15 +02:00
bd99428766
view: handle setting fullscreen in configure()
2020-08-13 11:17:15 +02:00
2669a615b6
root: refactor transaction initiation
...
- require the caller to use Root.startTransaction() directly
- introduce View.applyPending() to unify logic
- introduce View.shouldTrackConfigure() to unify more logic
- update all callsites to intelligently rearrange only what is necessary
2020-08-13 11:17:15 +02:00
50d008adbb
ci: run only on master branch
2020-08-11 22:38:30 +02:00
946e4f21ba
Enforce minimum window size also for views with constraints
2020-08-10 22:15:09 +02:00
45a730cbd3
Fix crashing bug for window size smaller than 2 * (border width + gap size)
2020-08-10 19:26:13 +02:00
e66c8b0019
code: clean up cursor resize mode
...
- offset_{x,y} is consistent with delta_{x,y}
- no need to name the type, it's only referenced in one place
2020-08-07 21:36:28 +02:00
0c4e3295b1
cursor: implement implicit grabs
...
When a button is held down and the cursor leaves a surface, events now
continue to be sent to the client. This allows e.g. dragging a scroll
bar from outside the surface.
2020-08-07 13:54:58 +02:00
91052f7477
cursor: refactor mode handling
2020-08-07 12:08:58 +02:00
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