aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-04-27river: get rid of all server-created optionsIsaac Freund6-55/+93
- Replace the layout option with new default-layout and output-layout commands. - Remove the ability to get/set the output title entirely.
2021-04-22pixman: update and fix PointerConstraintnovakne2-5/+4
2021-04-21completions: delete more removed commandsIsaac Freund3-13/+1
2021-04-21completions: Remove completions for removed subcommand "layout"skuzzymiglet3-6/+1
2021-04-20contrib: update layouts for river-layout and river-optionsLeon Henrik Plickat4-128/+476
- Remove old layouts which no longer work. - Add new C layout.
2021-04-20river-options: rework, bump to v2Isaac Freund19-735/+920
Options are now all global but may be overridden per-output. If an output local value is requested but none has been set, the global value is provided instead. This makes for much better ergonomics when configuring layout related options in particular.
2021-04-20river: send SIGTERM to init command process groupIsaac Freund2-30/+27
Run the init command in a new process group and send SIGTERM to the entire group on exit. Without doing this, only the sh invocation used for the `sh -c` would receive SIGTERM. This is particularly useful when starting a per-session server manager as the init command.
2021-04-20river-layout: create and implement protocolLeon Henrik Plickat26-655/+1263
Replace the current layout mechanism based on passing args to a child process and parsing it's stdout with a new wayland protocol. This much more robust and allows for more featureful layout generators. Co-authored-by: Isaac Freund <ifreund@ifreund.xyz>
2021-04-20river: fix to work with latest zig-pixmannovakne2-2/+2
2021-04-16README: add repology badgenovakne1-0/+4
2021-04-08river: update for wlroots 0.13.0Isaac Freund10-58/+103
2021-03-28render: don't schedule new frame on output commit failureIsaac Freund1-4/+3
This reverts commit c457b12cf3c2040f37f9322095a20ad16a15b337. This attempted workaround seems to work fine if the output commit only fails with EBUSY, but enters an infinite loop otherwise.
2021-03-27render: schedule new frame on output commit failureQiu1-3/+4
This seems to fix issues with rendering freezing described in https://github.com/ifreund/river/issues/153.
2021-03-27build: clean up install prefix/config path derivationIsaac Freund1-13/+10
This could be cleaned up even further with https://github.com/ziglang/zig/pull/8329
2021-03-27Fix crash when layer surface dimensions or margins are unexpectedly largeLeon Henrik Plickat1-2/+32
2021-03-27riverctl: Do not use std.debug.print()Leon Henrik Plickat1-2/+3
2021-03-27riverctl: Print error messages instead of error traces for common user mistakesLeon Henrik Plickat1-0/+29
2021-03-22build: fix config path if DESTDIR is set without --prefixIsaac Freund1-1/+2
2021-03-22build: handle null install_prefix correctlyIsaac Freund2-11/+15
2021-03-16riverctl: add fish completionFollieHiyuki2-0/+91
2021-03-16Fix existing typosFollieHiyuki2-9/+9
2021-03-14completions: add zsh completion for riverctlnovakne2-0/+112
2021-03-14Add bash completion for riverctlLeon Henrik Plickat2-0/+82
2021-03-01build: fix if wlroots x11 backend is disabledIsaac Freund2-1/+1
2021-02-22river: pointer-constraints and relative-pointerBonicgamer7-6/+206
2021-02-19river-control: fix various bugsIsaac Freund1-9/+19
It kinda shows that this was the first protocol I ever implemented server-side: - Use client as well as ID for keys in the hashmap as IDs might (and will) be the same between clients. - Clear saved args after running a command.
2021-02-17toplevel-management: send output enter on mapIsaac Freund1-0/+2
2021-02-17Deny move/resize requests from tiled XdgToplevel ViewsLeon Henrik Plickat1-2/+2
2021-02-15Implement pointer-gestures-unstable-v1Marten Ringwelski4-0/+97
2021-02-14command: silently ignore re-declaring a modeIsaac Freund1-8/+1
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.
2021-02-14command: allow map/map-pointer overwrite existingIsaac Freund1-37/+19
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.
2021-02-14xdg shell: use XdgSurface.getGeometry()Isaac Freund1-3/+5
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.
2021-02-10swap: use correct direction for it_wrapAlexey Yerin1-1/+1
Always using .forward results in a crash when running `swap previous` on the first view in stack which should be wrapped.
2021-02-09riverctl: add mod-option commandLeon Henrik Plickat3-0/+76
2021-02-08Use std.log instead of log.zigfoxfromabyss16-249/+127
2021-02-07riverctl: add -focused-output for option commandsIsaac Freund4-13/+75
This is more convenient for interactive usage and makes using the same bindings across multiple outputs easy.
2021-02-02riverctl: improve handling of null string optionsIsaac Freund1-3/+3
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.
2021-02-02river-options: fix setting null string optionsIsaac Freund1-1/+1
2021-02-02output: add output_title default optionLeon Henrik Plickat5-2/+51
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-01-31xwayland: allow setting size if unmapped/floatingIsaac Freund1-2/+23
This effectively allows unmapped and floating xwayland views to set their own dimensions, which seems to make some popups less broken.
2021-01-25deps: update to lastest zig-wlrootsIsaac Freund1-0/+0
2021-01-21river-options: free options of destroyed outputsIsaac Freund3-0/+10
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-18riverctl: implement river-options interfaceIsaac Freund6-22/+379
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-18river-option: compositor may ignore set requestsIsaac Freund1-11/+26
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-16river-options: implementIsaac Freund6-9/+352
2021-01-16river-options: create protocolIsaac Freund1-0/+147
2021-01-12code: remove unneeded c.zig @import()sIsaac Freund5-7/+0
2021-01-08cursor: ensure output focus before focusing layerIsaac Freund1-0/+1
2021-01-08cursor: focus output before view on follow cursorIsaac Freund1-1/+1
2021-01-07xwayland: use layout coords for configuresIsaac Freund1-4/+9