| Age | Commit message (Collapse) | Author | Files | Lines |
|
|
|
|
|
|
|
This change is made in the interest of allowing users to simply re-run
their init script at runtime without errors. Making this an error
doesn't really gain us anything.
|
|
The ergonomics of remapping keys are currently quite bad as unmap
must first be called for every mapping before defining a new one.
Any benefit that might be gained by the current strictness of map/
map-pointer is outweighed by this fact.
In a similar spirit, silently ignore unmapping a non-existent mapping.
|
|
This is important to use instead of direct access as clients are not
strictly required to set a geometry, in which caese the dimensions
of the wl_surface are used instead.
|
|
Always using .forward results in a crash when running `swap previous` on
the first view in stack which should be wrapped.
|
|
|
|
|
|
This is more convenient for interactive usage and makes using the same
bindings across multiple outputs easy.
|
|
Passing an empty string as the value argument for riverctl set-option or
declare-option will set the value to null. The riverctl get-option
command produces no output for both null and empty string values.
This is not perfect as it is unable to distinguish between null and
empty strings through the riverctl CLI. I don't see a better alternative
here however. Forbidding null strings in the river-options protocol
would be one solution, however null strings are useful and more pleasant
to use from code despite being problematic on the CLI.
|
|
|
|
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>
|
|
This effectively allows unmapped and floating xwayland views to set
their own dimensions, which seems to make some popups less broken.
|
|
|
|
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.
|
|
To make this cleaner, introduce some arg-parsing infrastructure that
will useful when porting riverctl to river-control-v2 in the future as
well.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
|
|
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.
|
|
This is semantically what we want as we store a pointer to the output in
the SurfaceRenderData struct.
|
|
|
|
|
|
|
|
- Add `default_config_path` build option for the river executable
|
|
|
|
|
|
These are no longer need since switching to zig-wayland
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
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.
|
|
"tagmask" is a misleading term as the arguments are used much more like
a set of tags than a mask.
|
|
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.
|
|
Frame perfection for xwayland views would require too much complexity
to support and would bleed all over the codebase.
|
|
We need to subtract the coords of the actual surface as they may not
alingn with the current box if using CSD.
|