Ottatop
f4a5328c2c
Move all mods into lib
...
For future testing
2024-03-05 23:25:04 -06:00
Ottatop
ecd08f6023
Add minor winit improvements
2024-03-05 23:14:33 -06:00
Ottatop
8bbb36f512
Rename and move stuff around
2024-03-04 20:38:20 -06:00
Ottatop
d02c138414
Fix focused_window
not returning None
if no window is focused
2024-03-04 19:34:00 -06:00
Ottatop
9b5b242aea
Fix pointer not moving on udev
...
oops
2024-03-04 19:17:21 -06:00
Ottatop
c96b01f733
Clean up stuff
2024-03-04 19:16:10 -06:00
Ottatop
2a25ab2319
Remove state.pointer_location
2024-03-04 16:43:54 -06:00
Ottatop
d9116da20d
Unify event loop running
2024-03-04 15:54:30 -06:00
Ottatop
f9ca886ed9
Change minor things
2024-03-04 14:44:33 -06:00
Ottatop
a6820ce00e
Add default dir for config gen, fix test
2024-03-03 03:38:45 -06:00
Ottatop
24696595af
Finish better CLI
2024-03-03 02:25:19 -06:00
Ottatop
63c0ef1e85
Start on a better CLI
2024-03-02 01:23:31 -06:00
Ottatop
8c429f4077
Split FocusTarget
into keyboard and pointer variants
2024-03-01 00:07:01 -06:00
Ottatop
48cd3d0df9
Remove space_elements!
...
so uh when you impl SpaceElement you gotta actually remember to impl the geometry fn, which is why Alacritty was 44 pixels off in the other attempt at this
2024-02-29 20:10:23 -06:00
Ottatop
16fff3f7e3
Update Smithay
2024-02-29 16:28:25 -06:00
Ottatop
e734a716c0
Set window focused only if it's on the focused output
2024-02-24 14:58:58 -06:00
Ottatop
1f909ac81b
Remove unused import
...
QUICK BEFORE THE CI FAILS
2024-02-24 14:42:43 -06:00
Ottatop
14a36b9738
Rework focus and add Window.set_focused
...
This has to be one of the most unreviewable commits I think I've created yet
2024-02-24 14:41:52 -06:00
Ottatop
2e0a8b940a
ong I don't remember
2024-02-23 16:24:43 -06:00
Ottatop
d76777a633
Add window pointer enter and leave signals
2024-02-21 23:56:19 -06:00
Ottatop
6b2b7066ac
Make connect_for_all
use signals
2024-02-21 23:30:28 -06:00
Ottatop
7d94fc4362
Add output connect signal
...
untested
2024-02-21 22:48:09 -06:00
Ottatop
1539f73e45
Get a signal to work
2024-02-21 19:40:11 -06:00
Ottatop
563bf7d92a
Scaffold signals
2024-02-21 18:08:23 -06:00
Ottatop
e52af7a841
Change default stdout log level to INFO, file level to DEBUG
2024-02-19 00:17:26 -06:00
Ottatop
fc3d15178d
Dedup API handling
2024-02-18 23:05:37 -06:00
Ottatop
832165b838
Fix doc paths
...
Also some other random cleanup
2024-02-17 23:57:02 -06:00
Ottatop
cea9d9048a
Add some config unit tests
2024-02-17 00:00:25 -06:00
Ottatop
8a2a6a3185
Remove CalloopData
...
This was a remnant of Anvil
2024-02-16 22:37:53 -06:00
Ottatop
f20c3cd847
Update dependencies
2024-02-07 19:38:15 -06:00
Ottatop
08436f3e12
Get rid of blockers
...
omg I hate these things, they're so dang finicky and I'm not big brain enough to make them not finicky
2024-02-05 21:30:00 -06:00
Ottatop
32b8c0dd30
Set sysinfo
's open files limit to 0
2024-01-29 20:46:18 -06:00
Ottatop
e2a8f8ebfe
Load default config on config crash
2024-01-29 20:38:46 -06:00
Ottatop
e6bdb01757
Actually return the data control state
...
I can feel my IQ dropping as we speak
2024-01-24 15:43:10 -06:00
Ottatop
d8b2544eca
Impl wlr_data_control
2024-01-24 14:54:30 -06:00
Ottatop
7012b86a2d
Return when mousebind is triggered
2024-01-22 21:49:20 -06:00
Ottatop
22e708b77b
Remove commented code
2024-01-22 21:40:50 -06:00
Ottatop
66c59db410
Unconditionally set floating size
2024-01-22 21:40:24 -06:00
Ottatop
dae790f54c
Update Smithay, add MPL licenses to API libs
2024-01-22 21:04:08 -06:00
Ottatop
0b88ad298b
Completely rip out the old msgpack stuff
...
Did this break anything? ¯\_(ツ)_/¯
2024-01-21 23:42:48 -06:00
Ottatop
2dd170cf10
Rename all lua_grpc
to lua
2024-01-16 14:23:18 -06:00
Ottatop
c444ae9585
Remove old Lua API
2024-01-15 23:37:17 -06:00
Ottatop
e18b2a12d3
Add rockspec, remove graceful shutdown stuff
2024-01-15 20:30:59 -06:00
Ottatop
5b116c68be
Toggle tags on windows correctly
2024-01-15 18:01:02 -06:00
Ottatop
b67867c066
Move grpc socket to XDG_RUNTIME_DIR
2024-01-15 17:46:08 -06:00
Ottatop
7841ea3422
Add libinput to new API
...
I forgor 💀
2024-01-14 23:38:05 -06:00
Ottatop
3f87784248
Debug stuff
2024-01-14 22:28:02 -06:00
Ottatop
f7068a1146
Get mousebinds to work
2024-01-14 20:25:57 -06:00
Ottatop
a8239f171e
Add docs to new Lua API
...
1000% sure I'm gonna have to rewrite my LDoc generation tool to actually work
2024-01-14 18:01:41 -06:00
Ottatop
7fe56ed949
Gracefully shutdown after ctrl-c
2024-01-14 13:34:00 -06:00
Ottatop
3ff1f4e737
Filter threads from process count
...
Found like 85 sockets in /run/user/1000 that weren't getting cleaned up
2024-01-14 12:01:11 -06:00
Ottatop
1cdc6fe42d
No clue
...
I'm sick and my brain is fried rn no clue what's in this commit
2024-01-13 23:15:14 -06:00
Ottatop
efa846d40b
Remove re-exports
2024-01-13 15:42:15 -06:00
Ottatop
0c4fc3ad1d
Start on new example config
...
TODO: write the docs, fix input keysym reading, make a luarocks module
2024-01-12 21:48:07 -06:00
Ottatop
f10bd933ca
Write rest of new Lua API
2024-01-12 20:15:58 -06:00
Ottatop
b1109b57a7
Fix compile errors
...
Something something "build before you push" blah blah
2024-01-11 13:46:58 -06:00
Ottatop
3236f455b9
Impl remaining services
2024-01-11 13:40:17 -06:00
Ottatop
31d3ffc10d
Impl services for input, tag, and process
2024-01-10 20:21:59 -06:00
Ottatop
46ba7d9ad0
Extract proto into crate, start impl'ing services
2024-01-09 19:25:51 -06:00
Ottatop
3d05338c82
Add tonic-reflection
2024-01-08 20:11:02 -06:00
Ottatop
48da903a0f
Create proto files
2024-01-08 18:55:59 -06:00
Ottatop
b08b979fe9
Migrate all async to tokio
2024-01-08 13:43:38 -06:00
Ottatop
23f80be22a
Begin moving configuration to gRPC
2024-01-08 12:51:04 -06:00
Ottatop
186d435923
Update dependencies
2024-01-08 12:42:29 -06:00
Ottatop
bfcfe99ccb
Move spawn_once logic into compositor, add spawn_once to Rust API, bump tracing
2023-12-25 21:02:50 -06:00
Ottatop
e4df0f9488
Remove commented out code
2023-12-25 19:52:17 -06:00
Ottatop
f9e81d4c1d
Use space_elements
to remove boilerplate
...
Unsure if this helped or not because I had to add `_ => unreachable!()` everywhere I matched on `WindowElement`
2023-12-23 22:17:35 -06:00
Ottatop
31172c5a4e
Fix multi-monitor fullscreen rendering and pointer input
2023-12-23 22:03:20 -06:00
Ottatop
f8d1e59c06
Correctly offset render elements
2023-12-21 21:15:21 -06:00
Ottatop
5ac7157f61
Scedule render on SetLayout
2023-12-21 19:00:21 -06:00
Ottatop
e8702f9c0c
Remove unused import
2023-12-21 18:50:28 -06:00
Ottatop
ef4b1d3d51
Update workflow action
...
Evidently I was using a version from 2020 for some reason
2023-12-20 19:54:34 -06:00
Ottatop
24034e7051
Make blocker work on udev
...
Also apparently stylua updated or something cuz I formatted the example_config and it's different now. Also need to fix the slight flickering when closing windows
2023-12-20 19:48:49 -06:00
Ottatop
b1a97e81ed
Fix clippy stuff
2023-12-19 15:32:33 -06:00
Ottatop
4dbf1a313b
Fix compiler errors
2023-12-19 12:05:36 -06:00
Ottatop
59c33075cd
Use a Blocker
implementation
2023-12-19 12:05:36 -06:00
Vladislav Nepogodin
96930eb7e5
apply rustfmt
2023-12-19 15:09:36 +04:00
Vladislav Nepogodin
3fb0a744a2
update dependencies and adjust for smithay changes
2023-12-19 15:08:52 +04:00
Ottatop
e0f7e85b83
Clean up stuff and add more docs
2023-12-16 21:20:29 -06:00
Ottatop
3427fe5d7c
Do other misc stuff
...
These are some horrible commit messages
2023-12-14 22:00:04 -06:00
Ottatop
93f601ca5c
Fix prev commit not removing xwayland windows properly
2023-12-14 16:43:04 -06:00
Ottatop
b2ebda85f0
Simplify render elements
...
FIXME: evidently I no longer remove windows correctly from the main window vec because layouting takes into account a nonexistent window
2023-12-14 16:38:07 -06:00
Ottatop
76ef7580c2
Tidy up stuff
2023-12-14 15:23:37 -06:00
Ottatop
0acffbf79d
Extract tagging new windows
2023-12-14 14:42:55 -06:00
Ottatop
79221d3c06
Extract libinput stuff
2023-12-13 20:33:16 -06:00
Ottatop
d7b783877f
Merge override redirect windows into main window vec
...
I previously stuck all X11 override redirect windows in their own stack which is really lazy. Still need to make it so child OR windows will render above their parents, even when fullscreen.
2023-12-13 20:07:19 -06:00
Ottatop
4569c21a5f
Move stuff to window/rules.rs
2023-12-09 21:11:29 -06:00
Ottatop
8b0d7f1427
Make output API functions non-nil
2023-10-18 20:31:37 -05:00
Ottatop
474da43280
Make tag API functions non-nil
2023-10-18 20:16:26 -05:00
Ottatop
17ca00f6be
Make window API functions non-nil
...
This does not apply to functions that return an array; you'll have to do a for loop or check for nil on index in that case.
2023-10-18 20:08:55 -05:00
Ottatop
e7ebc40fc7
Run disconnect and reconnect on connectors when switching tty back
2023-10-17 23:34:14 -05:00
Ottatop
ec0e892bf3
Clear overlay planes on tty switch
2023-10-17 23:20:35 -05:00
Ottatop
06a96849e7
Move a render schedule
...
As you can see I don't pay attention to the compiler yelling at me
2023-10-17 23:00:19 -05:00
Ottatop
97616ef0c1
Remove a render schedule
2023-10-17 22:59:07 -05:00
Ottatop
a475c0c4ac
Schedule render in some more places
2023-10-17 22:57:28 -05:00
Ottatop
27692997ed
Schedule render on tag change, update window stack on udev
2023-10-17 22:29:59 -05:00
Ottatop
7572523cfc
Fix winit rendering
2023-10-15 03:13:21 -05:00
Ottatop
7fbacbd52f
Remove old mod
2023-10-15 02:35:03 -05:00
Ottatop
26ce7309de
Add render scheduling
2023-10-15 02:27:41 -05:00
Ottatop
698d13bfda
Change renders to take outputs
2023-10-12 22:26:58 -05:00
Ottatop
ebe745d091
Add doc comments
2023-10-12 22:14:56 -05:00
Ottatop
3f05b2b608
Add udev fn
2023-10-12 22:08:45 -05:00
Ottatop
93e139e746
Send pointer frame on pointer events
2023-10-12 19:15:47 -05:00
Ottatop
cd31059ef8
Update dependencies
2023-10-12 17:10:23 -05:00
Ottatop
e8401e3b57
Add docs, clean up stuff
2023-10-02 19:37:14 -05:00
Ottatop
3fe11a4b75
Remove delay on render schedule
...
Also refresh time calculations that may or may not do something useful
2023-10-02 18:58:59 -05:00
Ottatop
8e8f3efa97
Change unwraps to expects
2023-10-02 15:39:10 -05:00
Ottatop
da69b5130a
Use high precision event loop
2023-10-02 15:19:13 -05:00
Ottatop
b5892d195d
Remove no vulkan flag
2023-10-02 15:03:28 -05:00
Ottatop
37537d1b3b
Remove SurfaceComposition
...
This was behind an env in Anvil that I'm pretty sure not many people will use.
2023-10-02 14:50:56 -05:00
Ottatop
acd846f5bc
Move Backend definition
2023-10-02 14:06:39 -05:00
Ottatop
8eeca5cc76
Revert nonexistent env interpolation ignoring whole env
2023-09-30 04:55:13 -05:00
Ottatop
0e5a4f0621
Save output state on disconnect
2023-09-29 04:38:32 -05:00
Ottatop
b7f096dd66
Update keyboard leds
2023-09-28 19:10:36 -05:00
Ottatop
d26b9b968c
Add libinput to API
2023-09-28 18:46:08 -05:00
Ottatop
2a13e736e4
Add xkbconfig to API
2023-09-28 10:17:28 -05:00
Ottatop
7dddfff7ff
Add minor tweaks
2023-09-27 03:29:30 -05:00
Ottatop
fb8c08663d
Apply flicker mitigations to udev
2023-09-25 04:18:01 -05:00
Ottatop
16787092a7
Crop windows, also pause rendering on a pending size
...
This is a series of attempts at preventing flickering. We wrap every window render element in a CropRenderElement so that windows don't render at the incorrect size for a frame. Additionally, we also pause rendering also when the window has a pending size different from the current. Fun fact: Firefox (and by extension Librewolf) renders content to child subsurfaces, so the root surface doesn't get most commits.
2023-09-25 03:15:13 -05:00
Ottatop
307813b062
Fix config reloading
2023-09-21 19:48:52 -05:00
Ottatop
cce7ca8314
Fallback to default config on metaconfig parse fail
2023-09-21 18:07:56 -05:00
Ottatop
799517bfb5
Load default config on config crash
2023-09-21 17:12:16 -05:00
Ottatop
9a415f6f07
Separate override redirect windows from main vec
2023-09-20 18:31:10 -05:00
Ottatop
019e606584
Add some docs, make socket_dir update on reload
2023-09-20 17:55:21 -05:00
Ottatop
a2a46596f4
Move config stuff into one struct
2023-09-20 17:40:36 -05:00
Ottatop
c06cb5b776
Remove WalkDir
2023-09-20 17:20:48 -05:00
Ottatop
4cffb28e25
Move take_presentation_feedback
2023-09-20 16:54:39 -05:00
Ottatop
c83f136cf7
Move config handling out of state.rs
2023-09-20 16:43:50 -05:00
Ottatop
5c88ceac83
Move pointer_grab_start_data into grab
2023-09-20 15:30:40 -05:00
Ottatop
ea913e898c
Move api stuff into single mod
2023-09-20 15:27:51 -05:00
Ottatop
a0a6efe45a
Move tag render elements
2023-09-20 15:18:26 -05:00
Ottatop
ce96d1d636
Simplify refcell usage
2023-09-20 15:13:03 -05:00
Ottatop
ade1a0609b
Run cargo fmt with new let-else capability
2023-09-20 03:36:50 -05:00
Ottatop
bd0c88ba0a
Clean up comments
2023-09-20 02:19:04 -05:00
Ottatop
3183bae6a5
Add and rename stuff
2023-09-15 02:50:42 -05:00
Ottatop
cd689fd7a6
Depend on tracing git
2023-09-14 01:34:20 -05:00
Ottatop
3ebb0cd133
Constrain popups on the y axis
2023-09-13 23:11:07 -05:00
Ottatop
f8b269d7c8
Constrain nested popups on the x axis
2023-09-13 02:41:56 -05:00
Ottatop
c3e6509a21
Constrain popups on the x axis
...
Currently doesn't work on the y axis or on sub-popups
2023-09-12 23:31:38 -05:00
Ottatop
5f2a660061
Update keyboard focus on tag change
2023-09-12 09:38:34 -05:00
Ottatop
7bf411a426
Add more logging
2023-09-12 09:29:21 -05:00
Ottatop
98796dde69
Remove unused import
2023-09-11 04:02:36 -05:00
Ottatop
4b66c6bd62
Give each Pinnacle instance its own socket
2023-09-11 03:58:43 -05:00
Ottatop
50716a9168
Use $XDG_RUNTIME_DIR
for socket
2023-09-11 03:22:51 -05:00
Ottatop
4f00a3c414
Change max log count
2023-09-11 03:05:45 -05:00
Ottatop
7fb3d798b9
Add file logging
2023-09-11 02:48:33 -05:00
Ottatop
b2b23a88c9
Use BaseDirectories for config dir
2023-09-10 23:40:22 -05:00
Ottatop
dd5992ed98
Remove itertools
2023-09-10 22:53:24 -05:00
Ottatop
1c1898f0b1
Add mousebinds to API
2023-09-10 21:54:58 -05:00
Ottatop
7f5d9e431c
Reverse scroll direction on winit
2023-09-10 05:02:29 -05:00
Ottatop
aaf2921363
Add env setting to API
2023-09-10 04:49:31 -05:00
Ottatop
f8fcfcd8ce
Update focus on xwayland window destroy
2023-09-10 02:04:36 -05:00
Ottatop
f811771fbe
Add tags to override-redirect windows
2023-09-09 23:43:29 -05:00
Ottatop
0f42e403ae
Make focus tag-specific
2023-09-09 22:47:59 -05:00
Ottatop
465e66067d
Update keybind handling and API docs
2023-09-09 20:41:21 -05:00
Ottatop
89fc2919f3
Simplify input API
2023-09-09 19:27:05 -05:00
Ottatop
8fd0469b82
Apply rendering fixes to udev
2023-09-09 16:58:07 -05:00
Ottatop
3b65ba5c1d
Send frame callbacks when not rendering
2023-09-09 16:28:58 -05:00
Ottatop
866f9eec5d
Fix window render order
2023-09-09 04:34:17 -05:00
Ottatop
a18b9856bb
Simplify layout cycling, fix wins not updating on maximize
2023-09-09 04:01:55 -05:00
Ottatop
5844665cb2
Fix windows on multiple tags not rendering
2023-09-08 22:43:55 -05:00
Ottatop
bbc2b4574f
Clean up stuff again
2023-09-08 22:27:00 -05:00
Ottatop
29c48bdfcd
Clean up stuff
2023-09-08 22:26:43 -05:00
Ottatop
430fb76fc8
Re-add stuff I removed
2023-09-08 22:16:17 -05:00
Ottatop
8f2ce70586
Fix black screen on discord on wayland
2023-09-08 22:16:15 -05:00
Ottatop
861bd68839
Fix reversed order of window rendering
2023-09-08 22:15:20 -05:00
Ottatop
03b1a4e3c1
Clean up stuff
2023-09-08 22:13:42 -05:00
Ottatop
b452b2f634
Render layer surfaces properly
2023-09-08 22:13:42 -05:00
Ottatop
ce7afef4d8
Ignore non-rendered windows for input
2023-09-08 22:13:42 -05:00
Ottatop
7b98b93d6e
Stop rendering instead of unmapping windows (regression)
...
Layer shell surfaces currently don't render anymore. I may need to manually render them instead of getting them through Space::space_render_elements.
2023-09-08 22:13:16 -05:00
Ottatop
bef6d92176
Prepare for cherry-pick
2023-09-08 22:08:56 -05:00
Ottatop
7dabc4d22c
Remove obsolete function
2023-09-08 21:04:09 -05:00
Ottatop
01ce9cf0aa
Bump dependencies
2023-09-08 20:46:01 -05:00
Ottatop
4d1085a720
Fix clap attributes
2023-09-08 20:20:00 -05:00
Ottatop
73c473e2d6
Pause rendering until windows are idle
2023-09-08 19:56:40 -05:00
Ottatop
4be1c0aae8
Use clap for cli
2023-09-08 00:21:09 -05:00
Ottatop
d76cb13a1f
Simplify window rules API
2023-09-07 20:36:49 -05:00
Ottatop
2eb69326cd
Remove old MPL header
2023-09-07 18:06:07 -05:00
Ottatop
5ba9a09ea2
Remove redundant xwayland window raise
2023-09-07 18:04:00 -05:00
Ottatop
5a9f15a4d4
Apply window rules to xwayland windows
2023-09-07 18:00:58 -05:00
Ottatop
178ee9464b
Add output to window rule
2023-09-07 17:42:03 -05:00
Ottatop
946f732502
Add tag constructors to window rules
2023-09-05 23:18:44 -05:00
Ottatop
ec651e24b3
Add client side window rules API
2023-09-05 22:13:43 -05:00
Ottatop
4f8d662dd3
Add server side window rules API
2023-09-05 20:45:29 -05:00
Ottatop
d9ce324606
Begin work on window rules
2023-09-04 22:14:18 -05:00
Ottatop
8a75769ca3
Map window if pending state isn't different
2023-09-04 02:12:42 -05:00
Ottatop
088a1f7fac
Map window in new_toplevel
2023-09-04 02:01:56 -05:00
Ottatop
5740295817
Revert "Stop rendering instead of unmapping windows (regression)"
...
This reverts commit 15e03b6c17
.
2023-09-04 02:00:12 -05:00
Ottatop
92e2886d45
Re-add stuff I removed
2023-09-04 01:54:10 -05:00
Ottatop
44d87d4725
Fix black screen on discord on wayland
2023-09-02 21:45:03 -05:00
Ottatop
87a8f29298
Fix reversed order of window rendering
2023-09-02 20:26:11 -05:00
Ottatop
ce5ed0db69
Clean up stuff
2023-09-02 18:35:35 -05:00
Ottatop
9152145bba
Render layer surfaces properly
2023-09-02 17:49:57 -05:00
Ottatop
41ea5e5230
Ignore non-rendered windows for input
2023-09-02 16:51:39 -05:00
Ottatop
15e03b6c17
Stop rendering instead of unmapping windows (regression)
...
Layer shell surfaces currently don't render anymore. I may need to manually render them instead of getting them through Space::space_render_elements.
2023-09-02 02:46:26 -05:00
Ottatop
5744654cb1
Respect initial configure
2023-08-31 20:42:58 -05:00
Ottatop
39d5454a7f
Move schedule to impl
2023-08-31 20:35:54 -05:00
Ottatop
afed3bd91f
Remove generics from state
2023-08-28 22:53:24 -05:00
Ottatop
12fc8ad2fc
Fix floating windows not reappearing
2023-08-21 17:56:18 -05:00
Ottatop
992daaea98
Use anyhow
2023-08-16 11:28:35 -05:00