Commit Graph

176 Commits

Author SHA1 Message Date
Isaac Freund
d6d30a7ab3
Add a filter to start views in floating mode 2020-04-22 23:35:16 +02:00
Isaac Freund
1362061c4c
Implement floating views 2020-04-22 22:51:18 +02:00
Isaac Freund
94760394b4
Bikeshed variable names 2020-04-21 16:29:17 +02:00
Isaac Freund
109a744007
Fix uninitialized values in tests 2020-04-21 14:44:26 +02:00
Isaac Freund
adc4e12971
Zoom to second view in stack if top is focused 2020-04-20 14:40:58 +02:00
Isaac Freund
f0c4faf10b
Cleanup timespec types 2020-04-20 00:24:21 +02:00
Isaac Freund
472e2b2624
Fix layer sufaces holding focus after unmap 2020-04-19 15:15:50 +02:00
Isaac Freund
a0c30de132
Clear focus if focused layer surface is unmapped 2020-04-19 14:33:54 +02:00
Isaac Freund
c959a426b7
Implement wlr-input-inhibitor 2020-04-19 14:31:41 +02:00
Isaac Freund
cd9d4ee395
Grab seats focused on the output for layer shell 2020-04-19 14:31:40 +02:00
Isaac Freund
5244618b01
Implement keyboard interactivity for layer shell 2020-04-19 14:31:40 +02:00
Isaac Freund
837513d329
Remove uneeded abstraction 2020-04-18 17:07:57 +02:00
Isaac Freund
fb2639a226
Send surface enter/leave events 2020-04-18 16:21:26 +02:00
Isaac Freund
bf300db004
Arrange on sending view to output 2020-04-18 15:36:29 +02:00
Isaac Freund
8fcca81755
Add binds to move views between outputs 2020-04-18 14:53:21 +02:00
Isaac Freund
64a3b72a1c
Split up commands into separate files 2020-04-18 13:41:04 +02:00
Isaac Freund
e0c6b5bf72
Refactor focus next/prev view/output commands 2020-04-18 13:12:15 +02:00
Isaac Freund
6914f32ce3
Remove dead code 2020-04-18 12:22:25 +02:00
Isaac Freund
cd19a4615b
Properly clean up resources on exit 2020-04-18 12:21:43 +02:00
Isaac Freund
ed7aca261b
Only log transactions if actually started 2020-04-17 19:37:50 +02:00
Isaac Freund
0557d9df9d
Close layer surfaces on output destroy 2020-04-17 19:31:38 +02:00
Isaac Freund
fb1414a052
Clean up listener handling for layer surfaces 2020-04-17 16:00:05 +02:00
Isaac Freund
76fedd7450
Fix focus handling of newly mapped Views 2020-04-17 13:22:35 +02:00
Isaac Freund
5607163b20
Clean up listener handling for Views 2020-04-17 13:18:25 +02:00
Isaac Freund
0976243372
Handle destruction of outputs 2020-04-17 13:02:18 +02:00
Isaac Freund
414a076410
Fix focus handling on output cycle 2020-04-15 20:02:55 +02:00
Isaac Freund
8a326541f6
Add keybinds to cycle between outputs 2020-04-15 19:16:55 +02:00
Isaac Freund
f33b1fa3e8
Properly handle coordinates with multiple outputs 2020-04-15 18:26:02 +02:00
Isaac Freund
2283ee78b5
Track the focused output of seats 2020-04-15 17:59:46 +02:00
Isaac Freund
a6eeb5bbba
Clean up layer arrangement 2020-04-15 14:39:43 +02:00
Isaac Freund
652a347fa0
Handle exclusive zone of -1 properly 2020-04-15 14:35:05 +02:00
Isaac Freund
5bbfcab60e
Improve handling of layer surface output assignment 2020-04-15 13:38:36 +02:00
Isaac Freund
b02f660475
Rename render.[hc] to bindings.[hc] 2020-04-15 12:49:19 +02:00
Isaac Freund
2126ef07f8
Get rid of redundant create output global call. 2020-04-15 12:30:27 +02:00
Isaac Freund
5da3935c18
Don't advertise the noop output 2020-04-15 12:23:14 +02:00
Isaac Freund
9ee61b3bf9
Rename default seat to "default"
"seat0" seems to be a confusion with physical seats
2020-04-14 14:24:47 +02:00
Isaac Freund
6e2ad0583c
Add a noop output using the noop backend
This is intended for use when no real outputs are available.
2020-04-14 13:46:40 +02:00
Isaac Freund
65d1519826
Clean up and comment config 2020-04-14 01:18:44 +02:00
Isaac Freund
8bfca48991
Implement the focus stack 2020-04-13 21:00:18 +02:00
Isaac Freund
3cb52c4898
Parially refactor commands to take a *Seat 2020-04-13 19:25:37 +02:00
Isaac Freund
b822084f39
Allow storing *View in ViewStack
This is done in preparation for implementing focus stacks.
2020-04-13 17:25:39 +02:00
Isaac Freund
0f52f664f2
Introduce InputManager for eventual multi-seat 2020-04-12 22:19:48 +02:00
Isaac Freund
28e22d57ce
Arrange layers on layer surface destroy 2020-04-11 21:49:05 +02:00
Isaac Freund
59b9172393
Handle layer shell protocol error
Requesting a size of 0 without setting opposing anchors in that dimension is
a protocol error.
2020-04-11 21:40:06 +02:00
Isaac Freund
03691722b2
Handle exclusive zones of layer surfaces 2020-04-11 20:34:51 +02:00
Isaac Freund
ff833a07d3
Move output specific code out of root
This is in preperation of proper output event handling and eventual
multi output support.
2020-04-11 14:24:20 +02:00
Isaac Freund
e77506a003
Move rendering out of output to a new namespace 2020-04-10 22:50:46 +02:00
Isaac Freund
1ffd13ef86
Implement xdg-output 2020-04-10 17:23:25 +02:00
Isaac Freund
bd91bacee9
Implement initial layer shell support
exclusive zones and popups are still TODO
2020-04-10 16:49:52 +02:00
Isaac Freund
bf17b54048
Go back to using std.ChildProcess
The bug with this was fixed by https://github.com/ziglang/zig/pull/4970.
2020-04-09 12:54:38 +02:00
Isaac Freund
0038a56a62
Implement outer padding 2020-04-08 23:40:15 +02:00
Isaac Freund
5ce2bef513
Remove stray default values 2020-04-08 23:22:14 +02:00
Isaac Freund
3332e0ab2b
Fix environment of spawned processes
std.ChildProcess isn't handling environment variables set at runtime properly,
so just use libc directly.
2020-04-08 21:31:07 +02:00
Isaac Freund
b2fbdf2d87
Add keybind to close views 2020-04-08 17:43:00 +02:00
Isaac Freund
dd480ca567
Add view all tags and tag with all tags keybinds 2020-04-08 12:52:36 +02:00
Isaac Freund
57b371d567
Add binding to toggle tag of focused view 2020-04-08 12:44:41 +02:00
Isaac Freund
180c2a8faa
Add binding to toggle focused tags 2020-04-08 00:40:41 +02:00
Isaac Freund
fa65333789
Refactor keybindings to be runtime defined. 2020-04-07 21:48:56 +02:00
Isaac Freund
15f97314a9
Move commands to a separate file 2020-04-07 19:16:38 +02:00
Isaac Freund
626b2c691b
Rename gaps -> padding 2020-04-07 11:54:46 +02:00
Isaac Freund
5c320c0b8c
Allow switching VTs 2020-04-06 22:23:30 +02:00
Isaac Freund
aef2245272
Implement inner gaps 2020-04-05 18:31:55 +02:00
Isaac Freund
259e554921
Fix overdraw of top/bottom borders 2020-04-05 16:36:33 +02:00
Isaac Freund
bcb143fe13
Highlight border of focused view 2020-04-05 16:32:43 +02:00
Isaac Freund
89d2a86851
Draw borders around views 2020-04-05 14:26:22 +02:00
Isaac Freund
5be50921d4
Avoid a crash caused by a race conditon 2020-04-04 23:35:07 +02:00
Isaac Freund
ea88cca35f
Take future borders into account for surface size 2020-04-04 23:26:15 +02:00
Isaac Freund
149dd488a9
Reset focus on switching between tags 2020-04-04 19:48:22 +02:00
Isaac Freund
b30b9ba57e
Stop the transaction timer if timeout didn't occur 2020-04-04 16:51:15 +02:00
Isaac Freund
f17792183b
Add a bit of logging for transactions 2020-04-04 16:51:14 +02:00
Isaac Freund
8d68d1e7cf
Fix iteration in handleFrame 2020-04-04 16:51:14 +02:00
Isaac Freund
424a16fe94
Remove len field from ViewStack
This is misleading as unmapped views should be ignored
2020-04-04 16:51:14 +02:00
Isaac Freund
6c8e7c14f7
Test ignoring unmapped view 2020-04-04 16:51:14 +02:00
Isaac Freund
5f7333e851
Add empty iteration tests 2020-04-04 16:51:14 +02:00
Isaac Freund
6cb9f6ac04
Add a data structure to manage the view stack 2020-04-04 16:51:02 +02:00
Isaac Freund
9ba295f126
Focus next view if focused view is hidden 2020-04-02 14:02:30 +02:00
Isaac Freund
57f27f7cc6
Implement tag assignment
There are a few bugs with this, but the core logic is sound
2020-04-02 13:44:24 +02:00
Isaac Freund
26a5aaca69
Implement switching between single tags 2020-04-01 19:39:36 +02:00
Isaac Freund
42d454b26f
Implement infrastructure for tags 2020-04-01 17:50:49 +02:00
Isaac Freund
5020106b93
Explictly define log level ordering
This was technically undefined before.
2020-03-29 21:17:57 +02:00
Isaac Freund
5e84d69237
Add a log utility 2020-03-29 21:05:34 +02:00
Isaac Freund
d0bfa7bb01
Make c import a little cleaner 2020-03-29 19:36:15 +02:00
Isaac Freund
581de73b6f
Fix bug if master count < view count 2020-03-29 17:12:44 +02:00
Isaac Freund
d9d9388978
Handle timeout of transactions that take too long 2020-03-29 16:56:30 +02:00
Isaac Freund
f5304237b5
Pass self as immutable where possible 2020-03-29 15:58:04 +02:00
Isaac Freund
9d0a41c0d2
Add a couple utility functions
Forgot to commit this new file in a previous commit
2020-03-29 14:08:39 +02:00
Isaac Freund
e55d40ab10
Swap bindngs for send to top and start terminal 2020-03-29 14:07:39 +02:00
Isaac Freund
a2901c90ba
Only move view to top if needed 2020-03-29 14:03:12 +02:00
Isaac Freund
7e7dfe563a
Add keybind for adjusting master factor 2020-03-29 13:50:12 +02:00
Isaac Freund
029e49e1c5
Gracefully handle transaction preemption 2020-03-28 21:05:56 +01:00
Isaac Freund
d34df295f7
Set xdg toplevels to tiled
This stops firefox from adding shadows around its window
2020-03-28 20:27:50 +01:00
Isaac Freund
02910145c8
Add new views to the top of the stack 2020-03-28 14:47:50 +01:00
Isaac Freund
866f2c7614
Add keybindings for changing master count 2020-03-28 14:44:48 +01:00
Isaac Freund
ca2e169535
Add keybind to move current focus to top of stack 2020-03-28 14:37:30 +01:00
Isaac Freund
d7d5cf06ee
Focus previous view on close instead of next 2020-03-28 14:20:53 +01:00
Isaac Freund
a523d0ce7c
Implement dwm-style tiling layout 2020-03-28 14:19:51 +01:00
Isaac Freund
dc23f29915
Remove references to old name 2020-03-28 11:42:58 +01:00
Isaac Freund
5bf161e744
Implement basic xdg decoration management 2020-03-27 18:31:03 +01:00
Isaac Freund
b1746c3222
Remove extraneous debug warns 2020-03-27 02:12:04 +01:00
Isaac Freund
f1ff381a38
Add keybind to spawn alacritty instance 2020-03-27 02:10:31 +01:00