Commit Graph

818 Commits

Author SHA1 Message Date
Isaac Freund
0063c722e5
river: remove system /etc dir from init search paths
A true "default" config doesn't make sense for river. Everyone who uses
river seriously will customize their init script. Futhermore, the
current behavior of embedding the install path of the default system
config in the river binary is complex and prone to breaking.
2021-07-17 16:04:51 +02:00
Viktor Nagy
28fc8792d7 river: add focus-previous-tags command 2021-07-15 12:00:22 +00:00
Isaac Freund
604cf98047
command: make args type 0-terminated
Since we often need to pass these args back C code, keeping the 0 byte
around saves some allocations.
2021-07-15 13:32:33 +02:00
Isaac Freund
3c951fed74
view: fix typo causing UB on resizing xwayland views 2021-07-14 23:51:49 +02:00
Isaac Freund
d413db9227
xdg-shell: set resizing state during interactive resize 2021-07-14 15:32:24 +02:00
Isaac Freund
7b18b4944e config: use hash sets for filters, clean up code 2021-07-12 17:57:01 +00:00
Leon Henrik Plickat
968aef3459 river: make CSD-filters apply to existing views 2021-07-12 17:57:01 +00:00
Leon Henrik Plickat
9ec04c764e river: add commands to remove filter entries 2021-07-12 17:57:01 +00:00
novakane
177b99c6e2 README: add a link to the wiki 2021-07-07 13:20:51 +00:00
Steef Hegeman
ba6a38f491 completions: typo
focus-follows-cursor instead of focus-follow-cursor
2021-07-02 19:11:36 +02:00
Isaac Freund
e2e4cd2953
doc: remove dead wiki link from readme
river is now in nixpkgs so this page and the link are undeeded.
2021-06-30 11:04:33 +02:00
Isaac Freund
39578db134
render: @panic() if CLOCK_MONOTONIC is not supported
Making this unreachable and invoking illegal behavior is incorrect.
2021-06-27 13:20:36 +02:00
Isaac Freund
df492f83e6 completions: add set-cursor-warp for zsh/fish 2021-06-26 19:03:49 +02:00
Leon Henrik Plickat
61829d82fe completions: Add bash completion for set-cursor-warp commands 2021-06-26 19:03:49 +02:00
Leon Henrik Plickat
085cca0d5e cursor: add option to warp on output change
On output change, if the cursor is not already on the newly focused
output, it will now be warped to its center. The check is necessary,
since focusing outputs with the pointer will be implemented in
the future.
2021-06-26 19:03:49 +02:00
Isaac Freund
505639432e
Revert "build: assert wlroots version at comptime"
zig-wlroots now has this assert built in

This reverts commit 3392b21aa8.
2021-06-24 20:21:07 +02:00
Isaac Freund
3392b21aa8
build: assert wlroots version at comptime
This will prevent people compiling river against the wrong wlroots
version and wondering why it crashes.
2021-06-24 19:34:15 +02:00
Isaac Freund
951c11f642 ci: build wlroots from source 2021-06-23 15:35:10 +02:00
Isaac Freund
41874b47ae code: update to wlroots 0.14.0 2021-06-23 15:35:10 +02:00
Leon Henrik Plickat
d3a9e96f7d Add spacial output operations
List based output operations are tedious for complex output layouts.
2021-06-23 12:47:20 +02:00
Isaac Freund
3efcfedcf4
layer-shell: handle commits before map
A client is free to change its mind and request a different
size/anchor/etc after recieving the initial configure but before
attaching and committing the first buffer. This means that we should
respond to such a situation with a new configure.

mako has been observed doing this in the wild for example.
2021-06-22 14:07:14 +02:00
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