Commit Graph

865 Commits

Author SHA1 Message Date
Isaac Freund
582164ce41
code: refactor Server.start()
This was needlessly verbose
2020-06-17 22:17:51 +02:00
Isaac Freund
189d9f2d8b
editorconfig: add scdoc config 2020-06-17 16:22:53 +02:00
Isaac Freund
d61eee65ac
docs: tweak readme 2020-06-17 12:41:37 +02:00
Lennard Hofmann
1cc02603b2 docs: small man pages fixes and updates
- Previous hard-coded settings can be now be changes with riverctl or
  via environment variables
- Update "See also"
- Mod → Mod1
2020-06-17 12:14:23 +02:00
Isaac Freund
0efc04508b
cli: allow setting log level with '-l' flag 2020-06-17 02:01:07 +02:00
Isaac Freund
d74323bbbf
code: improve logging functions
this implements a modified version of the logging interface proposed
here: https://github.com/ziglang/zig/pull/5348
2020-06-17 01:31:38 +02:00
Isaac Freund
42f8076cec
river-status: fix crash due to bad alignment
Using an ArrayList to back the wl_array we need to pass to libwayland
is much safer and avoids this kind of bug.
2020-06-16 22:49:47 +02:00
Isaac Freund
c5de1641dc
code: create util.allocator and use globally
river is not a library and passing a general purpose allocators around
everywhere does not make sense and leads to ugly code. This does not
prevent us from using local arenas if they are fitting.
2020-06-16 22:48:08 +02:00
Isaac Freund
fb8d855ec9
code: create voidCast() util function 2020-06-16 20:54:05 +02:00
Isaac Freund
ce18f24129
river-status: actually destroy the manager object 2020-06-16 18:27:46 +02:00
Isaac Freund
f0c3aa3744
river-control: implement protocol changes 2020-06-16 18:27:46 +02:00
Isaac Freund
e7bf1940da
river-control: send output on success, fix issues
Add an output arg to the success event on the callback. This allows for
implementing commands that return values, which are planned.

Replace the array of null terminated strings with a series of requests
each adding a single string to the args array. This is more idiomatic
wayland.

Add a seat argument to the run_command request to allow for proper
multi-seat support in the future.

Add missing destructor request.
2020-06-16 18:27:40 +02:00
Isaac Freund
5d9eb6a40a
contrib: use rivertile in config.sh example 2020-06-16 17:46:57 +02:00
Isaac Freund
56212eb302
docs: update readme
- clarify design goals
- mention scdoc dependency
- improve build command example
2020-06-16 17:39:46 +02:00
Isaac Freund
74f0423c08
contrib: add tiled layout in python 2020-06-16 17:18:29 +02:00
Isaac Freund
751760287c
docs: add rivertile man page 2020-06-16 17:06:24 +02:00
Isaac Freund
e2c034b76a
rivertile: create default layout generator 2020-06-16 15:48:50 +02:00
Leon Henrik Plickat
ec0631dcef Doc: Add layout documentation 2020-06-16 15:48:53 +02:00
Leon Henrik Plickat
4cbef71a8d Contrib: Add debug layouts 2020-06-16 15:48:53 +02:00
Leon Henrik Plickat
5de21d0d23 Commands: rework layout command 2020-06-16 15:48:53 +02:00
Leon Henrik Plickat
2fce8c7108 Output: Add layoutExternal() 2020-06-16 15:48:53 +02:00
Leon Henrik Plickat
754e24a710 Output: Rework layout switching in arrangeViews() 2020-06-16 15:48:53 +02:00
Leon Henrik Plickat
bdc56517e9 Output: Remove layoutMasterStack() and rework layoutFull()
layoutFull() now enforces a minimum view size of 50x50
2020-06-16 15:48:53 +02:00
Isaac Freund
ecc000b1ec
build: allow disabling man-pages if scdoc is found 2020-06-15 14:22:09 +02:00
Isaac Freund
b88443d62c
org: unify gitignore 2020-06-15 13:42:32 +02:00
Isaac Freund
602693bbbe build: add scdoc step to generate man pages 2020-06-15 13:23:17 +02:00
Lennard Hofmann
b2986fedd5 docs: use scdoc instead of roff for man pages 2020-06-15 13:23:17 +02:00
Isaac Freund
4b674730da
docs: mention xkb environment variables in readme 2020-06-13 23:39:22 +02:00
Isaac Freund
e1a1459177
xdg-shell: improve child handling
- wait until map to send tiled state
- only set toplevels with no parent to tiled (toplevels with a parent
are generally popup-like things such as a file chooser or yes/no prompt)
- track dimesions and offset of the surface and take offset into account
for rendering.
2020-06-13 23:38:00 +02:00
Isaac Freund
c2d32a44c3
command: add view_padding option 2020-06-13 13:32:35 +02:00
Isaac Freund
4f029aa5c7
command: allow alpha in colors, simplify code 2020-06-13 13:09:43 +02:00
Isaac Freund
40c62577e1
code: simplify option handling 2020-06-13 12:14:36 +02:00
lazy-dolphin
efe2c2ce4b command: add border_focused_color and border_unfocused_color options 2020-06-13 11:53:39 +02:00
Isaac Freund
31e47aafba
docs: use release-safe in build instructions 2020-06-11 13:34:06 +02:00
Isaac Freund
79815da9f0
docs: update disclaimer 2020-06-11 13:28:40 +02:00
Isaac Freund
45a2039067
docs: add IRC channel, remove matrix 2020-06-11 13:24:46 +02:00
Isaac Freund
0ab2b3134e
code: simplify view rendering 2020-06-11 01:19:59 +02:00
Isaac Freund
8839ae7335
command: don't zoom floating views 2020-06-11 01:15:01 +02:00
Isaac Freund
ff219c7d8d
render: floating as normal, focused views on top
This means that floating views can be (partially) obscured by normal
views if they are low in the stack, and that the "full" layout will
work a little nicer as the focused view is always the top rendered.
2020-06-11 00:09:42 +02:00
lazy-dolphin
1b7c1c7b2c command: implement set-option
Only border and padding options are currently available.
2020-06-10 18:08:21 +02:00
Isaac Freund
ddc7da0f16
transactions: save transform, refactor rendering 2020-06-10 00:06:26 +02:00
Isaac Freund
48ea771310
transactions: save and render subsurface buffers 2020-06-09 23:13:14 +02:00
Isaac Freund
052c8e1dcb
transactions: handle preemption take 2
This implementation is far simpler than c0d7e71 as it takes advantage of
wlroots's tracking of pending state.

Additionally, we now send frame done events if a view that we are
configuring commits with the wrong dimensions. This is necessary in
order to trigger a redraw for some clients as well as being a more
correct implementation of the protocol.
2020-06-09 20:06:30 +02:00
Isaac Freund
24b1a566de
transactions: revert c0d7e71 2020-06-09 17:04:38 +02:00
Isaac Freund
7c094420ed
transactions: propogate x/y of new box if needed 2020-06-08 14:11:52 +02:00
Isaac Freund
5f2aa02132
transactions: set timeout back to 200ms
The change to 1000ms was an accident
2020-06-08 01:16:15 +02:00
Isaac Freund
c0d7e71ec4
transactions: handle preemption properly
when a transaction interrupts an ongoing transaction, we must be careful
to handle the configures properly. This commit adds a new member to view
so that we can store the dimensions sent with the last configure in
order to determine if the preempting transaction should override the
ongoing configure or not.

Additionally, some views do not ack a configure if they already have the
requested dimensions. This can happen if a pending configure setting
alternative dimensions is overridden, so in this case we do not wait for
an ack before committing the transaction.
2020-06-08 00:10:30 +02:00
Isaac Freund
7b1e07d3d5
code: remove dead code 2020-06-07 19:40:19 +02:00
Isaac Freund
b8cc4cc22c
river-status: send view_tags on view output change 2020-06-06 15:07:19 +02:00
Isaac Freund
e48cf8eab6
river-status: simplify example client 2020-06-06 15:07:07 +02:00