Commit Graph

951 Commits

Author SHA1 Message Date
1834bd4bd0 river-options: fix setting null string options 2021-02-02 18:16:36 +01:00
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
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
afe1f197aa deps: update to lastest zig-wlroots 2021-01-25 12:33:15 +01:00
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
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
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
8cbccbfb6e river-options: implement 2021-01-16 23:51:15 +01:00
875e3c325d river-options: create protocol 2021-01-16 23:51:15 +01:00
a586c1ad71 code: remove unneeded c.zig @import()s 2021-01-12 10:28:11 +01:00
41e52065cc cursor: ensure output focus before focusing layer 2021-01-08 22:27:52 +01:00
a029105f15 cursor: focus output before view on follow cursor 2021-01-08 10:58:08 +01:00
7249f5c9c3 xwayland: use layout coords for configures 2021-01-07 22:15:42 +01:00
11e1c4791f XwaylandUnmanaged: remove dead code 2021-01-07 21:48:55 +01:00
e7442e53c1 XdgPopup: fix unconstrainFromBox coordinates 2021-01-07 21:22:11 +01:00
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
faca330bd0 docs: fix typo in example init script 2021-01-07 11:33:40 +01:00
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
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
b73cb7bb69 render: draw popups over borders 2021-01-05 20:05:35 +01:00
9d76709713 docs: update stance on line length 2021-01-02 12:07:21 +01:00
30ba87fa15 command: Implement spawn-tagmask 2021-01-02 11:39:09 +01:00
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
d2e2dad09c view: fix build with xwayland disabled 2021-01-01 13:34:19 +01:00
a2ef687e51 view: fix handling of title/app_id change 2021-01-01 13:29:57 +01:00
0b4f7779f2 gitignore: remove outdated ignores
These are no longer need since switching to zig-wayland
2020-12-31 18:02:44 +01:00
4984944c60 Config: move opacity settings to sub struct 2020-12-31 15:52:03 +01:00
cc08be2dee code: clean up listener initialization 2020-12-31 15:35:35 +01:00
3985b89d62 docs: use less noisy build option forms 2020-12-31 02:59:40 +01:00
c143864f3e docs: fix riverctl man page syntax 2020-12-30 23:24:57 +01:00
0b2b736e5b docs: fix syntax in riverctl man page 2020-12-30 23:14:23 +01:00
397f40e405 docs: Improve clarity of river/riverctl man pages 2020-12-30 23:10:41 +01:00
53d4c12d41 docs: improve startup and config information 2020-12-30 20:29:45 +01:00
c7bc47d6d4 build: install example config to /etc/river/init 2020-12-30 20:29:28 +01:00
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
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
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
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
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
4be1d59861 OutputManager: delete
Somehow I failed to do this in the previous commit.
2020-12-27 15:27:28 +01:00
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
c51f2176b3 view: unify clamped move logic, fix overflow 2020-12-27 01:06:18 +01:00
1732c69442 keyboard: set repeat_info to config values on creation 2020-12-26 19:17:24 +01:00
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
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
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
6cf01f3624 OutputManager: get rid of output_config_pending 2020-12-14 16:25:16 +01:00
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
0c5e5a7b4a doc: Remove outdated configuration instructions 2020-12-13 01:19:27 +01:00
58d9bfc766 contrib: Unify style
Unify indentation and variables and add link to non-standard programs
called.
2020-12-13 01:19:27 +01:00