Isaac Freund
014963612c
river-status: fix bug sending old output tag state
2020-07-06 11:09:23 +02:00
Isaac Freund
24c0355ba8
layer-shell: respect single anchor exclusive zones
2020-07-05 23:34:59 +02:00
Isaac Freund
341fe1e977
code: handle out of memory as well as possible
2020-07-05 22:49:17 +02:00
Isaac Freund
3752a7879b
server: send SIGTERM to startup process on exit
2020-07-05 15:44:21 +02:00
Isaac Freund
9dd18c6373
server: exit cleanly on SIGINT and SIGTERM
2020-07-05 14:49:34 +02:00
Isaac Freund
86386e84bc
output: introduce state struct
...
This simplifies the handling of the current/pending tags and will be
used in the future for atomic layout updates involving layer surface
exclusive zones.
2020-07-02 21:56:26 +02:00
Lennard Hofmann
3b508688ea
docs: Fix duplicate mapping in config.sh
2020-06-29 22:15:30 +02:00
Isaac Freund
34d42d9e8c
xdg-shell: honor fullscreen requests
2020-06-29 11:52:53 +02:00
Isaac Freund
c78d31acf4
view: save and restore floating dimensions
...
When a floating view is fullscreened and returned to floating, it should
remember its previous floating size/position.
2020-06-29 11:15:55 +02:00
Isaac Freund
5474b656ee
docs: add toggle-fullscreen
2020-06-29 01:50:26 +02:00
Isaac Freund
7b6e05005d
render: draw fullscreen views properly
...
- use a solid black background
- only draw the overlay layer
2020-06-29 01:46:24 +02:00
Isaac Freund
eb1e66b0fe
seat: prioritize fullscreen views for focus
2020-06-29 01:04:37 +02:00
Isaac Freund
acd08840ab
command: disable focus-view in fullscreen
2020-06-29 01:04:37 +02:00
Isaac Freund
3cbd95fadc
river: implement toggle-fullscreen
...
The command works, but behaves a little strangely. Also, fullscreen
views are not yet rendered on an opqaue backdrop.
2020-06-29 01:00:57 +02:00
Isaac Freund
82a444a7c0
view: use saved geometry for borders if needed
...
This fixes the issues caused by 60f06a1
and greatly simplifies the code.
Turns out we were already tracking the dimensions needed.
2020-06-28 20:45:17 +02:00
Isaac Freund
5b96d831d3
view: replace mode with float/fullscreen bools
...
The enum would be awkward here since if a view is fullscreened while
floating it should still be floating when defullscreened.
2020-06-28 20:30:12 +02:00
Isaac Freund
60f06a1a40
view: draw borders around actual dimensions
...
Previously if the view did not take the size requested, we would draw
the borders around the size we asked the view to take rather than its
actual size.
2020-06-28 01:46:53 +02:00
Isaac Freund
7f2e2610e3
code: fix tests
2020-06-28 00:35:38 +02:00
Isaac Freund
b6ef4c5a1a
cursor: fix viewAt() ordering
...
Focused views must be checked first as they are always rendered on top.
2020-06-28 00:29:44 +02:00
Isaac Freund
9dfcec72a8
view: simplify default float dimension handling
2020-06-27 23:48:04 +02:00
Isaac Freund
c04112b81a
view: introduce state struct to simplify code
...
The state struct holds all of the state that is double-buffered and
applied through transactions. This more explicit handling simplifies
much of the code, and will allow for easier implementation of new
feature such as fullscreen.
2020-06-27 23:18:41 +02:00
Isaac Freund
89d0fb012d
view: use a mode enum instead of floating bool
...
This is in preperation for fullscreen support which will add another
mode to this enum.
This commit also fixes a bug that allowed clicking floating views though
layout views in some cases.
2020-06-27 18:12:18 +02:00
Isaac Freund
3904275373
command: log output of commands run by mappings
2020-06-26 18:43:20 +02:00
Isaac Freund
40597f184d
command: allow output on success, refactor
2020-06-26 17:57:03 +02:00
Isaac Freund
558918d286
config: fix leak of hashmap keys
2020-06-26 12:58:11 +02:00
Isaac Freund
dfb03fd0cb
command: dupe mode name memory
...
The hashmap doesn't take ownership of the memory pointer to by these
slices, so we need to dupe them to avoid use-after-free.
2020-06-26 12:46:18 +02:00
Isaac Freund
08d630567f
river-status: fix view-tags array size
2020-06-26 12:31:04 +02:00
Isaac Freund
b6d981254b
seat: pass a null terminated string
2020-06-26 01:13:00 +02:00
Isaac Freund
79bb0accac
code: improve error handling consistency
2020-06-26 00:59:31 +02:00
Isaac Freund
8fc045b445
code: clean up server init
2020-06-26 00:07:02 +02:00
Isaac Freund
a7c422dad7
data-control: implement protocol
2020-06-25 23:08:56 +02:00
Anatole Lefort
8223c8c08e
docs: fix typo in README.md
2020-06-22 17:23:40 +02:00
Isaac Freund
ebc661f4a7
command: add background_color option
...
This is trivial to support and allows basic customization without
running a layer-shell program such as swaybg. This is especially useful
in low memory situations.
2020-06-19 18:44:28 +02:00
Isaac Freund
2ef8261493
river-status: fix memory leak
2020-06-19 14:48:28 +02:00
Isaac Freund
12d34d4ded
bikeshed: rename util.allocator to util.gpa
...
This is less typing and more clear. A definite win.
2020-06-19 14:32:30 +02:00
Isaac Freund
aae89356a1
code: refactor layoutExternal
...
- Use an arena allocator, cleaner and should be faster.
- Simplify construction of the command to be run
2020-06-19 14:20:29 +02:00
Isaac Freund
37a98e1a7a
layout: fix loop counter
...
The counter should not be incremented if the view was floating.
2020-06-19 14:02:42 +02:00
Isaac Freund
6e23344e06
rivertile: fix underflow if views < masters
2020-06-19 13:53:20 +02:00
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