Commit graph

573 commits

Author SHA1 Message Date
Ottatop
e0b6d32209 Don't clear libinput devices on config reload
This was preventing libinput settings from updating between reloads
2024-06-11 11:35:31 -05:00
Ottatop
7e03611702 Update xwayland stacking order properly 2024-06-09 20:17:58 -05:00
Ottatop
5871a2758e Increase nofile rlimit, restore for spawned processes 2024-06-04 19:48:46 -05:00
Ottatop
d037fa25b2 Send output (dis)connect signal on enable/disable
Temporary until I add output enable/disable signals
2024-06-04 18:53:10 -05:00
Ottatop
f16767240e Use indexmap for output storage
I need me some determinism for testing
2024-06-04 18:11:40 -05:00
Ottatop
a8562277c1 output-mgmt: Post error on config reuse 2024-06-04 17:40:06 -05:00
Ottatop
1c55296d8f api: Add output powered and enabled props 2024-06-04 16:52:12 -05:00
Ottatop
bc8ec3d5a6 rust-api: Add custom modelines
Still need to do the Lua side
2024-06-03 22:27:48 -05:00
Ottatop
07917a82ef Impl wlr-output-power-management 2024-06-03 20:59:23 -05:00
Ottatop
1f3a504387 Fix serial handling, remove unwraps 2024-06-03 19:50:34 -05:00
Ottatop
34517fd111 Add custom modes
Custom modes from wlr-randr should work now. Still need to do custom mode*lines*. And add those API calls
2024-06-02 21:28:44 -05:00
Ottatop
4b3fbd716f Add output disabling
Still needs an API call
2024-06-02 18:52:35 -05:00
Ottatop
a3226a3c62 Impl wlr-output-management 2024-06-01 20:39:01 -05:00
Ottatop
4e796ce8f6 Add idle inhibit 2024-05-30 19:58:26 -05:00
Ottatop
bfce194c0b Add idle notify 2024-05-30 19:32:30 -05:00
Ottatop
8bc0f40f18 Add output power on/off
Note that this does *not* remove the output from the space; it merely turns it off
2024-05-30 19:17:21 -05:00
Ottatop
d5343cab92 Don't panic when render state is unexpected
Crashed after waking from sleep, hopefully this fixes that
2024-05-28 17:03:22 -05:00
Ottatop
f9c204279c Cleanup and README: Add attribution 2024-05-27 16:43:26 -05:00
Ottatop
fae6cae0cc Make foreign toplevel actions use transactions 2024-05-27 16:17:05 -05:00
Ottatop
6982587a84 Fix tests 2024-05-27 15:58:57 -05:00
Ottatop
04b7c0533f Fix some bugs 2024-05-27 15:47:56 -05:00
Ottatop
4f3d6513ca Get most things on the transaction system 2024-05-27 15:47:56 -05:00
Ottatop
ff2b78f828 Get xwayland snapshots partially working 2024-05-27 15:47:56 -05:00
Ottatop
e6b18fcec2 Make layout transactions work 2024-05-27 15:47:56 -05:00
Ottatop
1a009111d7 Add layout transactions 2024-05-27 15:47:56 -05:00
Ottatop
276557b8a0 Add render utils 2024-05-27 15:47:56 -05:00
Ottatop
a251c96278 render: Use custom render element macro 2024-05-27 15:47:56 -05:00
Ottatop
c1f0aea060 Add WindowId::reset for testing 2024-05-21 10:49:55 -05:00
Ottatop
b763adcb5a render: Simplify elements
I like how I wasn't using 3 of them
2024-05-19 17:10:55 -05:00
Ottatop
cc8e5ebc8d winit: Only render new frames
Fixes #239
2024-05-19 14:55:27 -05:00
Ottatop
ab7e2051b1 Simplify layout ids 2024-05-17 15:56:50 -05:00
Ottatop
a8acb82b11 session_lock: Change clear color when locked 2024-05-17 10:44:08 -05:00
Ottatop
cd8e15a7c3 Update deps 2024-05-16 17:35:36 -05:00
Ottatop
dbccfa9c76 Expose keyboard focus stack to API 2024-05-15 21:24:20 -05:00
Ottatop
4750d7ce26 Don't focus new outputs
Let the pointer do the focusing
2024-05-15 18:46:02 -05:00
Ottatop
17a3fc5a1a Fix pointer focus to layers on non-(0,0) outputs 2024-05-15 18:32:45 -05:00
Ottatop
8dd49c9874 Draw colored background when locking 2024-05-15 17:40:09 -05:00
Ottatop
48167a75c2 Guarantee no windows get drawn when locked 2024-05-15 17:26:36 -05:00
Ottatop
333c805bdd Prevent pointer focus to windows when locked 2024-05-15 17:13:52 -05:00
Ottatop
1faab2a68f Update Smithay 2024-05-15 13:35:03 -05:00
Ottatop
6541f9fda3 Draw cursor when locked correctly 2024-05-14 21:44:59 -05:00
Ottatop
b9c5a88f9f Force keyboard focus on lock surface, don't trigger keybinds when locked 2024-05-14 20:41:10 -05:00
Ottatop
d708fccf58 Implement session lock 2024-05-14 19:35:12 -05:00
Ottatop
42f3e65255 Filter keybind releases 2024-05-13 18:43:17 -05:00
Ottatop
3f6e32e49c Filter windows on active tags for swapping 2024-05-08 22:50:41 -05:00
Ottatop
1592fe2106 Make foreign toplevel maximize actually maximize 2024-05-08 22:36:43 -05:00
Ottatop
2c209856d3 Switch to tag if activated window is not on active tag 2024-05-08 22:25:26 -05:00
Ottatop
a8aa7941d2 Don't expose override redirects 2024-05-08 22:09:57 -05:00
Ottatop
d0212126e9 Raise window on foreign toplevel activate 2024-05-08 22:03:30 -05:00
Ottatop
2c1fc29f87 Expose xwayland windows to foreign toplevel 2024-05-08 21:40:07 -05:00
Ottatop
f8fb8fddfb Add most of foreign toplevel
Xwayland windows don't show up currently
2024-05-08 02:22:24 -05:00
Ottatop
5d3f66a747 Add info subcommand 2024-05-07 22:30:48 -05:00
Ottatop
bb33602724 Use PID in socket name 2024-05-07 20:46:02 -05:00
Ottatop
37b728203c Use reexported rustix instead of nix 2024-05-07 20:28:48 -05:00
Ottatop
fd637d2256 Add some comments 2024-05-07 20:12:55 -05:00
Ottatop
6802afe04a Add socket_dir cli option 2024-05-07 19:39:27 -05:00
Ottatop
b5707daa86 Add logs in places 2024-05-07 19:39:26 -05:00
Ottatop
dc70a8a3e7 Fix builtin config and metaconfig xwayland 2024-05-07 19:39:26 -05:00
Ottatop
7b006596af Uncouple config, backends, and xwayland
wow i love the single responsibility principle
2024-05-07 19:39:26 -05:00
Ottatop
176f559360 Set keyboard focus on open only if on active tag 2024-05-07 19:39:06 -05:00
Ottatop
4291fa47ab Fix tests
Turn off xwayland in tests and if turned on, wait for it to start
2024-05-04 16:16:54 -05:00
Ottatop
9771f4c645 Remove backend/wlcs.rs
The tests don't work yay
2024-05-04 15:31:11 -05:00
Ottatop
b654de8284 Add --no-xwayland option 2024-05-04 15:24:59 -05:00
Ottatop
c0f8328f08 Don't send configure immediately
trust me guys i know what i'm doing haha
2024-05-04 13:25:59 -05:00
Ottatop
404377a1ed Fix out-of-bounds panic 2024-05-03 22:43:59 -05:00
Ottatop
c55a4991c4 Simplify window removal 2024-05-03 00:00:38 -05:00
Ottatop
feeb139b05 Don't focus windows on inactive tags 2024-05-02 23:34:21 -05:00
Ottatop
5afd58fb74 Keep track of modes for API 2024-05-02 23:16:11 -05:00
Ottatop
45ed01dd91 Update xwayland stacking in more places 2024-05-02 22:55:41 -05:00
Ottatop
f48c10c8ef Add ALL the manufacturer names 2024-05-02 22:39:04 -05:00
Ottatop
009dd19dc8 Fix security context restriction being reversed 2024-05-02 16:05:39 -05:00
Leon Vack
80a926f719 Add security-context-v1 2024-05-02 15:21:07 -05:00
Ottatop
a6f98603d5 Fix clippy for CI 2024-05-02 14:48:16 -05:00
Ottatop
5679a295d8 Warp to cursor hint on constraint unlock
Not the greatest implementation performance-wise but an implementation nonetheless
2024-05-01 22:14:48 -05:00
Ottatop
55a0379697 Finalize pointer constraints
While this initial implementation is done and I'm pretty happy with it, there are still 2 problems:
1. The cursor is not warped to the hinted position when a locked pointer constraint is removed. This may require an update to Smithay to expose a `PointerConstraintsHandler::constraint_removed` method.
2. The cursor may jump between two close constraint regions if it's moved fast enough. This can be fixed by possibly doing a ray cast or something.
2024-05-01 19:18:31 -05:00
Ottatop
9382601444 Fix pointer clamping
The previous clamp logic allowed very small pointer motions to break free of pointer constraints at the right and bottom edges
2024-05-01 18:16:11 -05:00
Ottatop
98b4e0aea2 Simplify confined pointer region logic 2024-05-01 14:47:57 -05:00
Ottatop
4b3839e380 Fix pointer clamping regression and also update Smithay 2024-04-27 21:26:54 -05:00
Ottatop
058350db43 Make confined region work
Currently does not work with confines with no region. Also there *might* be a regression that prevents the mouse from moving between outputs, need to test that
2024-04-27 19:13:53 -05:00
Ottatop
1543b64fb8 Add pointer constraints
Needs more work and testing
2024-04-27 17:02:19 -05:00
Ottatop
4eb29c49dc Close layer surfaces on output removal
Fixes mako not making new notifications if one is sent during sleep
2024-04-27 12:51:03 -05:00
Ottatop
8c0bce7191 Separate stuff that took in State
I love me some non-overlapping borrows
2024-04-26 20:25:40 -05:00
Ottatop
b99cc8ffce Move impls to Pinnacle 2024-04-26 19:58:02 -05:00
Ottatop
8aaec59452 Split off backend and rest of State
Currently doesn't clean up anything, still need to change `impl State`s to `impl Pinnacle`s
2024-04-26 18:43:18 -05:00
Ottatop
c9012cf483 Improve logging
Use better env filters, log panics, and make logging to files not use color escapes
2024-04-26 14:56:12 -05:00
Leon Vack
13df2d161b Fix lua tests hanging 2024-04-25 11:07:32 +02:00
Leon Vack
194da9e557 Float all windows for tests and improve window positioning 2024-04-25 10:48:37 +02:00
Leon Vack
0b353c45f2 Use an embedded config for tests 2024-04-25 10:48:37 +02:00
Leon Vack
c0fe55003b Fix xwayland and cleanup 2024-04-25 10:48:37 +02:00
Leon Vack
abb21d9924 Perform wlcs interactions using an InputBackend 2024-04-25 10:48:37 +02:00
Leon Vack
e8b8a33bfc Make wlcs run some actual tests 2024-04-25 10:48:36 +02:00
Leon Vack
7adcb1d729 Make wlcs start 2024-04-25 10:47:48 +02:00
Ottatop
7e80a6a64f Update test infrastructure
Extracts the dummy output name into a const. Unfortunately I still need a way to interpolate that into Lua strings. Also fixes possible hangs when Lua crashes
2024-04-24 21:37:17 -05:00
Ottatop
e2232fb56c Don't add modes with add_mode
Doing so adds non-current modes to the output (which are deprecated) and causes smithay to send them to `wl_output` consumers. Caused swww to open at the wrong size
2024-04-24 20:47:47 -05:00
Ottatop
36a82245a7 Fix tests
Unwrap in tests to check error

Add backtrace to debug tests

Add dbg

i hate this

debugging github actions is a pain

aaaa

aaaaaaaaa

needs to be rebased
2024-04-24 18:33:44 -05:00
Ottatop
ce22883125 Return instead of asserting 2024-04-23 19:41:26 -05:00
Ottatop
45bf9b698c Move state clearing on config start to front 2024-04-22 21:17:51 -05:00
Ottatop
1b09fe94ee Remove luarock from build.rs 2024-04-22 20:45:42 -05:00
Ottatop
ac15e2d566 Fix Rust API not exiting correctly
My goodness was that not fun to debug
2024-04-22 20:34:06 -05:00
Ottatop
43891a2a48 Ignore layout stream errors 2024-04-22 14:14:22 -05:00