aboutsummaryrefslogtreecommitdiff
AgeCommit message (Collapse)AuthorFilesLines
2021-06-13Add `list-inputs` commandLeon Henrik Plickat3-0/+35
2021-06-13doc: Document input config commandsLeon Henrik Plickat1-0/+63
2021-06-13Add basic input configurationLeon Henrik Plickat7-2/+521
2021-06-09ci: add gcc to fix buildIsaac Freund1-2/+2
Zig relies on the existence of a system c compiler in order to find the native libc include paths.
2021-06-09output: destroy Layouts on Output removalIsaac Freund3-2/+13
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-08config: make attach-mode globalnovakane7-12/+13
2021-06-08view_stack: update tests for zig 0.8.0novakane1-76/+76
2021-06-08river: don't extend timeout on transaction preemptionIsaac Freund1-10/+13
This avoids locking up the compositor if a client is unresponsive and the user continuously initiates new transactions through their actions.
2021-06-08view: send activated/fullscreen configures immediatelyIsaac Freund5-27/+72
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-08code: remove now unnecessary zig fmt directivesIsaac Freund11-26/+2
zig fmt does what we want since zig 0.8.0
2021-06-08view: get rid of notifyConfiguredOrApplyPending()Isaac Freund2-17/+13
This function is only called in one place, just inline the code.
2021-06-07render: fix damage tracking of drag iconsIsaac Freund3-7/+68
2021-06-05render: track subsurfaces created before role assignmentIsaac Freund4-5/+25
2021-06-05doc: correct zig version requirement in readmeIsaac Freund1-1/+1
2021-06-05code: update to zig 0.8.0Isaac Freund22-87/+87
2021-05-31xdg-toplevel: remove set_app_id listenerIsaac Freund1-0/+1
2021-05-31render: actually damage output on view opacity changeIsaac Freund1-1/+1
2021-05-31render: damage output on view opacity changeIsaac Freund1-1/+1
2021-05-28doc: add IRC web client linkIsaac Freund2-6/+8
2021-05-24render: do basic yes/no damage trackingIsaac Freund11-52/+231
2021-05-24example/init: use Mod+Shift E for exitIsaac Freund1-1/+1
I keep hitting Mod+E when testing because of colemak.
2021-05-19doc: move IRC channel to liberaIsaac Freund2-6/+5
2021-05-19Allow changing output focus with pointerLeon Henrik Plickat1-3/+7
2021-05-19rivertile: clamp main_amountLeon Henrik Plickat1-12/+13
2021-05-19doc: fixed command name in exampleLennard Hofmann1-1/+1
send-layout-value → set-layout-value
2021-05-13river: remove Seat.input_managerIsaac Freund6-13/+15
This is no longer needed as server is global.
2021-05-13river: remove all stored *Root pointersIsaac Freund4-11/+6
These are no longer needed as server is global.
2021-05-13river: remove misc stored *Server pointersIsaac Freund6-24/+18
These are no longer needed as server is now global.
2021-05-13river: remove InputManager.serverIsaac Freund18-70/+71
The server is now global so this is no longer needed.
2021-05-13river: remove Output.rootIsaac Freund13-45/+48
The server is now global so this is no longer needed.
2021-05-13river: remove Root.serverIsaac Freund10-48/+46
The server is now global so this is no longer needed.
2021-05-13river: make server a global variableIsaac Freund1-48/+47
2021-05-07contrib: Update layout.c for river-layout-v2Leon Henrik Plickat1-187/+115
2021-05-05river: always render floating views above layout viewsIsaac Freund2-9/+41
2021-05-05rivertile: fix typo in error messageIsaac Freund1-1/+1
2021-05-04README: don't encourage manual system-wide installIsaac Freund1-1/+1
2021-05-03doc: remove outdated reference to river-layouts(1)Isaac Freund1-1/+1
2021-05-03example/init: fix typo in introductory commentCallum R. Renwick1-1/+1
2021-05-03example/init: Fix typo for main view size changeCallum R. Renwick1-2/+2
2021-05-01rivertile: add missing `try` to fix buildIsaac Freund1-1/+1
2021-05-01rivertile: add -h/--help, improve man pageIsaac Freund2-6/+46
2021-04-27cursor: handle popup subsurfaces properlyIsaac Freund1-30/+32
I added the required functions in wlroots 0.13.0, so use them.
2021-04-27deps: update to latest zig-waylandIsaac Freund4-7/+7
2021-04-27example/init: use riverctl layout value commandsIsaac Freund1-12/+10
2021-04-27rivertile: support command line argumentsIsaac Freund3-26/+213
Add support for command line arguments to set default values for the various options of rivertile, bringing us back to rough feature parity with before the commit removing the river-options protocol.
2021-04-27river-layout: update to v2Isaac Freund14-61/+275
This implements the changes to the river-layout protocol proposed in the previous commit removing river-options.
2021-04-27river-options: remove protocolIsaac Freund17-1453/+69
This protocol involves far too much accidental complexity. The original motivating use-case was to provide a convenient way to send arbitrary data to layout clients at runtime in order to avoid layout clients needing to implement their own IPC and do this over a side-channel. Instead of implementing a quite complex but still rigid options protocol and storing this state in the compositor, instead we will simply add events to the layout protocol to support this use case. Consider the status quo event sequence: 1. send get_option_handle request (riverctl) 2. roundtrip waiting for first event (riverctl) 3. send set_foo_value request (riverctl) 4. receive set_foo_value request (river) 5. send foo_value event to all current handles (river) 6. receive foo_value event (rivertile) 7. send parameters_changed request (rivertile) 8. receive parameters_changed request (river) 9. send layout_demand (river) And compare with the event sequence after the proposed change: 1. send set_foo_value request (riverctl) 2. receive set_foo_value request (river) 3. send set_foo_value event (river) 4. send layout_demand (river) This requires *much* less back and forth between the server and clients and is clearly much simpler.
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