Isaac Freund
1834bd4bd0
river-options: fix setting null string options
2021-02-02 18:16:36 +01:00
Leon Henrik Plickat
7029a5cd3e
output: add output_title default option
...
Outputs now have a default option, "output_title". If this changes, the
outputs title is set to the option value. This title is currently only
relevant when run nested in a wayland/X11 session.
Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2021-02-02 01:14:06 +01:00
Isaac Freund
5e09b853f7
xwayland: allow setting size if unmapped/floating
...
This effectively allows unmapped and floating xwayland views to set
their own dimensions, which seems to make some popups less broken.
2021-01-31 18:24:21 +01:00
Isaac Freund
afe1f197aa
deps: update to lastest zig-wlroots
2021-01-25 12:33:15 +01:00
Isaac Freund
cd005e15f8
river-options: free options of destroyed outputs
...
This is done when river's internal Output struct is destroyed, not when
the advertised wl_output global is removed. This means that options will
persist when an output is disabled and re-enabled.
2021-01-21 10:43:18 +01:00
Isaac Freund
18bab45d4c
riverctl: implement river-options interface
...
To make this cleaner, introduce some arg-parsing infrastructure that
will useful when porting riverctl to river-control-v2 in the future as
well.
2021-01-18 22:30:52 +01:00
Isaac Freund
421c403cf5
river-option: compositor may ignore set requests
...
This allows the compositor to restrict options to a certain set of
values, which can be desirable if the options affect compositor
behavior.
This was always the intended behavior of the protocol, but now it is
explicitly stated.
2021-01-18 01:34:06 +01:00
Isaac Freund
8cbccbfb6e
river-options: implement
2021-01-16 23:51:15 +01:00
Isaac Freund
875e3c325d
river-options: create protocol
2021-01-16 23:51:15 +01:00
Isaac Freund
a586c1ad71
code: remove unneeded c.zig @import()s
2021-01-12 10:28:11 +01:00
Isaac Freund
41e52065cc
cursor: ensure output focus before focusing layer
2021-01-08 22:27:52 +01:00
Isaac Freund
a029105f15
cursor: focus output before view on follow cursor
2021-01-08 10:58:08 +01:00
Isaac Freund
7249f5c9c3
xwayland: use layout coords for configures
2021-01-07 22:15:42 +01:00
Isaac Freund
11e1c4791f
XwaylandUnmanaged: remove dead code
2021-01-07 21:48:55 +01:00
Isaac Freund
e7442e53c1
XdgPopup: fix unconstrainFromBox coordinates
2021-01-07 21:22:11 +01:00
Isaac Freund
a672738603
render: iterate subsurfaces of popups manually
...
wlr_xdg_surface_for_each_popup() fails to do this and
wlr_xdg_surface_for_each_popup_surface() is not yet merged, so implement
a workaround for now.
2021-01-07 16:11:48 +01:00
Isaac Freund
faca330bd0
docs: fix typo in example init script
2021-01-07 11:33:40 +01:00
Isaac Freund
b468f0aa85
cursor: fix down mode motion event coords
...
These are required to be surface local and we need to take the output's
layout coords into account as the cursor itself is in layout coords.
2021-01-07 11:19:22 +01:00
Isaac Freund
751b63f6fa
render: pass Output by constant pointer
...
This is semantically what we want as we store a pointer to the output in
the SurfaceRenderData struct.
2021-01-06 17:53:04 +01:00
Isaac Freund
b73cb7bb69
render: draw popups over borders
2021-01-05 20:05:35 +01:00
Isaac Freund
9d76709713
docs: update stance on line length
2021-01-02 12:07:21 +01:00
Marten Ringwelski
30ba87fa15
command: Implement spawn-tagmask
2021-01-02 11:39:09 +01:00
Alex Mohr
75588a553c
build: derive default config path from install prefix
...
- Add `default_config_path` build option for the river executable
2021-01-01 23:23:44 +01:00
Isaac Freund
d2e2dad09c
view: fix build with xwayland disabled
2021-01-01 13:34:19 +01:00
Isaac Freund
a2ef687e51
view: fix handling of title/app_id change
2021-01-01 13:29:57 +01:00
Isaac Freund
0b4f7779f2
gitignore: remove outdated ignores
...
These are no longer need since switching to zig-wayland
2020-12-31 18:02:44 +01:00
Isaac Freund
4984944c60
Config: move opacity settings to sub struct
2020-12-31 15:52:03 +01:00
Isaac Freund
cc08be2dee
code: clean up listener initialization
2020-12-31 15:35:35 +01:00
Isaac Freund
3985b89d62
docs: use less noisy build option forms
2020-12-31 02:59:40 +01:00
Isaac Freund
c143864f3e
docs: fix riverctl man page syntax
2020-12-30 23:24:57 +01:00
Isaac Freund
0b2b736e5b
docs: fix syntax in riverctl man page
2020-12-30 23:14:23 +01:00
Isaac Freund
397f40e405
docs: Improve clarity of river/riverctl man pages
2020-12-30 23:10:41 +01:00
Isaac Freund
53d4c12d41
docs: improve startup and config information
2020-12-30 20:29:45 +01:00
Isaac Freund
c7bc47d6d4
build: install example config to /etc/river/init
2020-12-30 20:29:28 +01:00
Isaac Freund
ba9df86472
command: s/master/main/g (breaking change)
...
main is a better term to use here for several reasons:
1. It is more accurate: "master" implies that the designated views have
some kind of control over the other views, which is not the case. "main"
better expresses that the difference between the "main" view and others
is one of importance/focus.
2. It is a shorter word. 2 whole characters saved!
3. It reduces the chance of future development time being lost to
good-intentioned people complaining about usage of the word master as
has recently happened with regards to the default git branch name.
2020-12-30 18:15:47 +01:00
Isaac Freund
5f4ba06566
docs: improve explanation of tags
...
"tagmask" is a misleading term as the arguments are used much more like
a set of tags than a mask.
2020-12-30 14:25:37 +01:00
Isaac Freund
ac20f5aa1d
root: improve handling of 0 -> 1 output transition
...
Recover more gracefully from being hotplugged down to 0 outputs and then
gaining a new one. Move all views to the new output and restore the
focused output tags of the last output to be removed.
2020-12-30 13:19:40 +01:00
Isaac Freund
a098bbe03a
root: stop tracking xwayland views in transactions
...
Frame perfection for xwayland views would require too much complexity
to support and would bleed all over the codebase.
2020-12-29 20:38:30 +01:00
Isaac Freund
055fba5c3c
cursor: fix motion coords sent in down mode
...
We need to subtract the coords of the actual surface as they may not
alingn with the current box if using CSD.
2020-12-27 16:11:52 +01:00
Isaac Freund
4be1d59861
OutputManager: delete
...
Somehow I failed to do this in the previous commit.
2020-12-27 15:27:28 +01:00
Isaac Freund
3438c05332
root: merge in OutputManager
...
These two files were primarily dealing with the same things. Merging
them removes some indirection from the code and keeps things simpler.
2020-12-27 15:24:20 +01:00
Isaac Freund
c51f2176b3
view: unify clamped move logic, fix overflow
2020-12-27 01:06:18 +01:00
Isaac Freund
1732c69442
keyboard: set repeat_info to config values on creation
2020-12-26 19:17:24 +01:00
Isaac Freund
760c88b094
foreign-toplevel-management: basic implementation
...
We do no yet set the parent of toplevels. We also only honor activate
requests if the target view is already visible on the focused output.
2020-12-24 13:07:59 +01:00
Isaac Freund
386316bdbd
output: get rid of active field
...
The less state that needs to be maintained, the better
2020-12-21 16:19:44 +01:00
Isaac Freund
518fb96604
xwayland: handle hinted dimension < View.min_size
...
This avoids an assertion failure in std.math.clamp() when applying the
constraints.
2020-12-18 18:59:13 +01:00
Isaac Freund
6cf01f3624
OutputManager: get rid of output_config_pending
2020-12-14 16:25:16 +01:00
Isaac Freund
20d804cdb5
code: switch to custom wlroots/libwayland bindings
...
This is a big step up over @cImport() for ergonomics and type safety.
Nearly all void pointer casts have been eliminated!
2020-12-13 22:53:33 +01:00
Leon Henrik Plickat
0c5e5a7b4a
doc: Remove outdated configuration instructions
2020-12-13 01:19:27 +01:00
Leon Henrik Plickat
58d9bfc766
contrib: Unify style
...
Unify indentation and variables and add link to non-standard programs
called.
2020-12-13 01:19:27 +01:00