Commit graph

317 commits

Author SHA1 Message Date
Ottatop
2e5853eabe Return from batch if requests is empty
Fixes a hang if you tried to close a window with the keybind with no windows open
2024-02-24 15:23:42 -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
67ee5021bd Port Lua client fix 2024-02-23 18:10:28 -06:00
Ottatop
b7c60a9e79 Fixup Lua docs again 2024-02-23 17:54:53 -06:00
Ottatop
3959a87019 Fixup Lua docs 2024-02-23 17:49:09 -06:00
Ottatop
d1e7c92774 Add Lua docs 2024-02-23 17:36:55 -06:00
Ottatop
1abc17b5b4 Add docs 2024-02-23 17:15:55 -06:00
Ottatop
2427ba620e Yield after running signal callbacks 2024-02-23 16:51:56 -06:00
Ottatop
5db8b1c54d Merge main deadlock fix 2024-02-23 16:30:59 -06:00
Ottatop
2e0a8b940a ong I don't remember 2024-02-23 16:24:43 -06:00
Ottatop
01a9874ecd Fix deadlock again (maybe)
This took like 4 hours to figure out, async sucks wtf
2024-02-23 16:17:22 -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
729ad66429 Merge branch 'main' into signal_minimal 2024-02-21 18:09:25 -06:00
Ottatop
563bf7d92a Scaffold signals 2024-02-21 18:08:23 -06:00
Ottatop
a70e686bdf Fix docs 2024-02-20 21:50:59 -06:00
Ottatop
b8c5ec751b Add basic API batching for Rust
Function coloring is fun
2024-02-20 21:35:51 -06:00
Ottatop
20af3a116c Add basic API batching for Lua 2024-02-20 15:59:04 -06:00
Ottatop
9b5eac55d1 Fixup Cargo workspace 2024-02-17 23:50:36 -06:00
Ottatop
fa2eed1adc Change config objects to modules 2024-02-07 21:39:56 -06:00
Ottatop
a41517101e Replace all futures::executor::block_on with tokio equivalent 2024-01-25 20:14:20 -06:00
Ottatop
dae790f54c Update Smithay, add MPL licenses to API libs 2024-01-22 21:04:08 -06:00
Ottatop
236f40b364 Add comments, improve macro error msgs 2024-01-22 20:27:22 -06:00
Ottatop
8356f99d84 Split tag.get, impl PartialEq, Eq, Hash for handles 2024-01-22 18:36:04 -06:00
Ottatop
9f067a0996 Fix wording 2024-01-22 00:12:32 -06:00
Ottatop
ba1b3feefb Fix typo 2024-01-22 00:09:11 -06:00
Ottatop
1cdeb59a38 Nuke the old Rust API form orbit 2024-01-21 23:45:09 -06:00
Ottatop
9acd0e5ce3 Add finishing touches 2024-01-21 23:07:10 -06:00
Ottatop
111cc76fa5 Add more docs 2024-01-21 22:54:32 -06:00
Ottatop
a8ffecab2f Improve config macro 2024-01-21 22:34:17 -06:00
Ottatop
c742807a34 Add window rules
And a lot of docs
2024-01-21 21:01:41 -06:00
Ottatop
ac5b5c939f Add the rest of the docs 2024-01-20 23:19:01 -06:00
Ottatop
82ef55024c Add process docs, set_env 2024-01-20 23:05:50 -06:00
Ottatop
1192512230 Add window docs 2024-01-20 22:48:44 -06:00
Ottatop
b55c9e7813 Add output docs 2024-01-20 22:14:49 -06:00
Ottatop
b262f11f4d Add layout cycler 2024-01-20 21:27:22 -06:00
Ottatop
af1c3148f1 Add tag docs 2024-01-20 20:13:38 -06:00
Ottatop
575201e316 Add input docs 2024-01-20 17:37:54 -06:00
Ottatop
e08c653ab4 Add convenience methods 2024-01-20 16:30:52 -06:00
Ottatop
8a469fb525 Make things work 2024-01-20 15:31:45 -06:00
Ottatop
80edacd6e2 Remove nested block_on 2024-01-20 12:37:22 -06:00
Ottatop
ac56abf549 Losing my mind 2024-01-19 19:37:00 -06:00
Ottatop
2eea7bf71b Add a bunch more functions 2024-01-18 23:11:25 -06:00
Ottatop
2bf8e25e21 Add a bunch of functions 2024-01-17 21:55:34 -06:00
Ottatop
2c5c500786 Start rewriting Rust API 2024-01-16 18:46:54 -06:00
Ottatop
048835837d Add note 2024-01-16 16:24:34 -06:00
Ottatop
643f694478 Remove stuff that shouldn't be in docs 2024-01-16 16:21:38 -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
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
8ae7f44580 Clean up docs 2024-01-14 20:03:58 -06:00
Ottatop
fbef4007ea Add doc-gen comment stuff
Somehow the doc-gen tool still works, kinda crazy
2024-01-14 19:53:43 -06:00
Ottatop
35e7b73646 Attempt to salvage guaranteed-to-fail workflow 2024-01-14 19:35:54 -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
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
97f9cf82d6 Write half of new Lua API 2024-01-12 17:20:34 -06:00
Ottatop
3b88b3ff11 Add working Lua gRPC client 2024-01-11 21:58:35 -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
48da903a0f Create proto files 2024-01-08 18:55:59 -06:00
Ottatop
23f80be22a Begin moving configuration to gRPC 2024-01-08 12:51:04 -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
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
3427fe5d7c Do other misc stuff
These are some horrible commit messages
2023-12-14 22:00:04 -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
8d0598c678 Make TagProperties fields pub 2023-10-21 03:03:03 -05:00
Ottatop
3e36c7bea4 Remove pinnacle file 2023-10-20 20:23:55 -05:00
Ottatop
d1ee24894b Add example config docs 2023-10-20 19:37:44 -05:00
Ottatop
f1c9d19708 Fix layout cycler 2023-10-20 19:32:08 -05:00
Ottatop
1680acc5e9 Change static callback vec to local 2023-10-20 19:15:49 -05:00
Ottatop
4e36637e19 Remove setup function 2023-10-20 17:56:34 -05:00
Ottatop
0e32f52972 Transition from struct methods to module functions 2023-10-20 17:02:00 -05:00
Ottatop
788910e503 Add missing methods 2023-10-19 23:10:02 -05:00
Ottatop
f0e2282445 Add documentation 2023-10-19 22:35:12 -05:00
Ottatop
f5b626e14d Get example config mostly working 2023-10-19 21:44:33 -05:00
Ottatop
fc7132c0e4 Add libinput stuff 2023-10-19 20:51:45 -05:00
Ottatop
8fd50eff5a Add window rules 2023-10-19 20:43:35 -05:00
Ottatop
9da918bc40 Move stuff to where they should be 2023-10-19 20:19:00 -05:00
Ottatop
87574a40e3 Add remaining window methods 2023-10-19 20:00:46 -05:00
Ottatop
f54f73b105 Simplify window methods 2023-10-19 19:55:14 -05:00
Ottatop
17975cbbda Add output loc methods 2023-10-19 19:49:36 -05:00
Ottatop
cd602fee09 Add tag and some other stuff 2023-10-19 19:26:12 -05:00
Ottatop
c62d090f9f Add most of the output stuff 2023-10-19 18:18:34 -05:00
Ottatop
2c3fb2dbd7 Add input and window stuff 2023-10-19 17:43:37 -05:00
Ottatop
3e56450e29 Start on rust API 2023-10-18 23:05:07 -05:00
Ottatop
0564342a6a Update example config 2023-10-18 20:35:36 -05: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
ed5447d5b6 Rename API modules and classes internally 2023-10-18 03:44:42 -05:00
Ottatop
0e5a4f0621 Save output state on disconnect 2023-09-29 04:38:32 -05:00
Ottatop
40f90e45d9 Update example config, remove mouse button type 2023-09-28 18:56:54 -05:00
Ottatop
de6bf3ee82 Remove meta tag 2023-09-28 18:46:56 -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
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
019e606584 Add some docs, make socket_dir update on reload 2023-09-20 17:55:21 -05:00
Ottatop
7f53a4b73e Update README and metaconfig comments 2023-09-11 04:05:16 -05:00
Ottatop
74afb769ca Move table because doc gen doesn't support that 2023-09-10 22:01:40 -05:00
Ottatop
1c1898f0b1 Add mousebinds to API 2023-09-10 21:54:58 -05:00
Ottatop
aaf2921363 Add env setting to API 2023-09-10 04:49:31 -05:00
Ottatop
0f42e403ae Make focus tag-specific 2023-09-09 22:47:59 -05:00
Ottatop
9d73151ca9 Update API docs 2023-09-09 20:52:52 -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
9c3df5ce88 Fix documentation 2023-09-09 04:09:28 -05:00
Ottatop
a18b9856bb Simplify layout cycling, fix wins not updating on maximize 2023-09-09 04:01:55 -05:00
Ottatop
b3cab091da Clarify documentation 2023-09-08 20:27:03 -05:00
Ottatop
b88424ea24 Fix typo 2023-09-07 21:00:07 -05:00
Ottatop
fb09f088a9 Explain placement of window.rules.add() 2023-09-07 20:59:22 -05:00
Ottatop
7d2849abac Clean up example_config 2023-09-07 20:56:43 -05:00
Ottatop
bae8f32d44 Fix documentation formatting that I missed 2023-09-07 20:55:25 -05:00
Ottatop
84326c29b8 Fix documentation formatting 2023-09-07 20:48:41 -05:00
Ottatop
fa011fe3d4 Add documentation 2023-09-07 20:38:57 -05:00
Ottatop
d76cb13a1f Simplify window rules API 2023-09-07 20:36:49 -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
2793c5f50c Remove boilerplate = true 2023-08-28 20:46:04 -05:00
Ottatop
b61f3a2fb2 Fix some formatting issues maybe 2023-08-28 20:28:17 -05:00
Ottatop
a7309eb20b Clean up stuff 2023-08-28 20:12:26 -05:00
Ottatop
c38272222a Add more documentation 2023-08-28 19:47:29 -05:00
Ottatop
c295bf5df9 Restore config.ld and ldoc.css 2023-08-26 23:08:26 -05:00
Ottatop
a9fd0f725c Remove doc dir 2023-08-26 23:05:30 -05:00
Ottatop
694134582d Attempt automatic doc gen 2023-08-26 22:26:32 -05:00
Ottatop
bfa4e2743b Work on LDoc documentation 2023-08-21 21:30:51 -05:00
Ottatop
f8d0ffed89 Fix window methods 2023-08-21 21:04:57 -05:00
Ottatop
01a110d97c Update example_config 2023-08-21 20:58:02 -05:00
Ottatop
fd09e20ced Allow new tag helpers for window API 2023-08-21 20:47:51 -05:00
Ottatop
7154a0bb95 Clean up window documentation 2023-08-21 20:37:15 -05:00
Ottatop
382a3056a0 Add helpers for getting outputs and tags 2023-08-21 20:17:27 -05:00
Ottatop
9a09040fac Add socket_dir to metaconfig 2023-08-16 10:34:50 -05:00
Ottatop
e423d1e345 Add metaconfig comments, PINNACLE_DIR env 2023-08-15 21:30:49 -05:00
Ottatop
924588005c Add metaconfig 2023-08-14 20:33:10 -05:00
Ottatop
85fd31a317 Fix fullscreen and maximized toggling floating instead
This is why you never copy paste code
2023-08-14 20:23:23 -05:00
Ottatop
3ba760ed4f Update example_config 2023-08-14 14:44:10 -05:00