Commit graph

478 commits

Author SHA1 Message Date
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
Ottatop
576abc9844 Clean up stuff 2023-08-16 10:38:21 -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
251a96d1a0 Add config reloading 2023-08-15 17:26:17 -05:00
Ottatop
3623df002b Add pinnacle to default config dir, fix windows on udev 2023-08-14 21:01:00 -05:00
Ottatop
73d1916403 Extract state api handling 2023-08-14 20:43:35 -05:00
Ottatop
924588005c Add metaconfig 2023-08-14 20:33:10 -05:00
Ottatop
9fef27f749 Fix xwayland popups not raising 2023-08-14 15:07:11 -05:00
Ottatop
63a294f6b1 Clean up stuff 2023-08-14 14:54:34 -05:00
Ottatop
eb85c92164 Fix RefCell errors
I hate refcells, why am I putting everything in them
2023-08-14 13:59:51 -05:00
Ottatop
dbde8545c3 Rework fullscreen tracking again
Lots of stuff needs cleaning up
2023-08-14 13:54:50 -05:00
Ottatop
947ccdf464 Add maximized requests and fullscreen requests for xwayland 2023-08-12 18:13:30 -05:00
Ottatop
e2dea4dd15 Clean up stuff 2023-08-12 17:48:33 -05:00
Ottatop
c783efa819 Update api (breaking) 2023-08-12 17:43:37 -05:00
Ottatop
e4bf56026e Check for fullscreen in xdg_toplevel state 2023-08-12 17:19:44 -05:00
Ottatop
806e739ec2 Dedup render element generation code 2023-08-12 12:37:46 -05:00
Ottatop
d75e0dad22 Rework fullscreen tracking, fix fullscreen on udev 2023-08-12 12:01:55 -05:00
Ottatop
0ead02921f Add fullscreen, maximize to api 2023-08-11 18:48:51 -05:00
Ottatop
275d968e77 Restructure layout-ing 2023-08-11 10:08:38 -05:00
Ottatop
77695c666e Correct fullscreen mouse input on winit 2023-08-08 18:54:37 -05:00
Ottatop
7a8fc983a9 More work on fullscreen 2023-08-08 18:33:47 -05:00
Ottatop
a2887567a3 Move XdgShellHandler, begin work on fullscreen/maximized windows 2023-08-08 15:22:50 -05:00
Ottatop
159bebc526 Uncomment stuff I commented out 2023-08-08 14:28:09 -05:00
Ottatop
e51615ab73 Improve config erroring 2023-08-08 14:04:42 -05:00
Ottatop
ac57c6896c Improve run command 2023-08-08 13:40:01 -05:00
Ottatop
bfe4ca937b Use enum for actions instead of all callback ids 2023-08-08 12:50:43 -05:00
Ottatop
c153eb6abb Dedup and clean up code 2023-08-08 10:55:06 -05:00
Ottatop
7123ecf8ba Add vt switching 2023-08-07 19:48:18 -05:00
Ottatop
4c25f4702e Expand ~ in SOCKET_DIR 2023-08-07 19:06:10 -05:00
Ottatop
7f3ff7ae02 Send pointer events to layer surfaces 2023-08-07 18:28:41 -05:00
Ottatop
f0c77c9e88 Rearrange layer map on winit resize 2023-08-07 18:28:41 -05:00
Ottatop
766567cf48 Respect exclusive zones 2023-08-07 18:28:41 -05:00
Ottatop
f3b0c081dc Continue work 2023-08-07 18:28:41 -05:00
Ottatop
a053c55f82 Start on wlr-layer-shell 2023-08-07 18:28:41 -05:00
Ottatop
00ca4564be Reschedule ConnectForAllOutputs callbacks until stream exists 2023-08-07 12:58:06 -05:00
Ottatop
fe686af815 Add SOCKET_DIR env var 2023-08-07 11:53:56 -05:00
Ottatop
edba4d2424 Improve error handling 2023-08-06 19:41:48 -05:00
Ottatop
bbb711f1a9 Test shell.nix, change lua5.4 to lua 2023-08-05 21:25:58 -05:00
Ottatop
f99c8b886d Add output location setting 2023-08-04 13:45:38 -05:00
Ottatop
f9a32af4dc Update rustfmt.toml and stylua.toml 2023-08-04 09:36:40 -05:00
Ottatop
74646d4fc9 Clean up stuff and update README 2023-08-02 19:45:56 -05:00
Ottatop
ad30f4668b Add dnd icon 2023-08-02 18:18:51 -05:00
Ottatop
7048a89dbf Add drag-and-drop support between x11 windows 2023-08-02 15:12:10 -05:00
Ottatop
4e4eb0fe7c Add client-side move and resize for x11 windows 2023-08-02 13:16:17 -05:00
Ottatop
60767425a3 Fix x11 popup focus (again) 2023-08-02 12:47:27 -05:00
Ottatop
b0c52c0861 Fix floating windows not responding to tag changes 2023-08-02 10:13:18 -05:00
Ottatop
5f45e42111 Improve floating logic aka copy it from Sway 2023-08-01 21:23:30 -05:00
Ottatop
87951852c4 Make popups appear raised and centered 2023-08-01 20:02:57 -05:00
Ottatop
e4f9aee687 Fix cursor not updating in xwayland windows 2023-08-01 11:23:52 -05:00
Ottatop
f0218e7b4e Fix x11 context menu focus 2023-08-01 11:23:52 -05:00
Ottatop
e86228f4f8 Fix pointer focus on winit 2023-08-01 11:23:52 -05:00
Ottatop
94d7c4463e Move grab requests, clean up stuff 2023-08-01 11:23:29 -05:00
Ottatop
43d6cde926 Fix keyboard input to Steam games on winit 2023-08-01 11:22:39 -05:00
Ottatop
78e53abf95 Fix Steam black screen and some games not showing up
If you are making your own compositor and reading this and Steam opens up as a completely black screen, but you can still hover over popups, don't forget to do renderer.bind_wl_display() and bind the EGL display. I wasted an annoying amount of time trying to find that. In other news, udev is still a bit of a mess and stuff like popups still don't raise themselves. I also still need to fix some kinks with tracking xwayland windows.
2023-08-01 11:22:39 -05:00
Ottatop
fe2a08c704 Make x11 popups float, fix x11 windows not reappearing
Popups currently appear behind all other windows and apps like Steam show up as black on the winit backend, but stuff like Discord should work.
2023-08-01 11:22:39 -05:00
Ottatop
c2190f2e0c Fix x11 windows not removing when destroyed 2023-08-01 11:22:39 -05:00
Ottatop
f92153eb04 Get xterm to show up 2023-08-01 11:22:39 -05:00
Ottatop
52094c9504 Add WindowElement impls 2023-08-01 11:22:39 -05:00
Ottatop
a146d5a4ad Add WindowElement, xwayland stuff to state 2023-08-01 11:22:39 -05:00
Ottatop
35eb1c7652 Relicense to GPL 3.0 2023-08-01 11:18:08 -05:00
Ottatop
99ad98d1a8 Bump dependencies 2023-07-23 21:53:49 -05:00
Ottatop
71427228d0 Pull my hair out simplifying the API 2023-07-21 15:04:39 -05:00
Ottatop
fb63e7ada3 Re-add lost API functionality, fix msg ordering 2023-07-21 14:36:32 -05:00
Ottatop
3ddd57c63f Convert tag_name to use tag_id instead 2023-07-21 11:38:46 -05:00
Ottatop
2d42f01b8a Simplify tag in API 2023-07-20 16:05:26 -05:00
Ottatop
9475c9965d Move functions around 2023-07-20 15:22:22 -05:00
Ottatop
fcc33c60f0 Simplify window in API 2023-07-19 20:11:15 -05:00
Ottatop
53f29086b6 Add to and simplify output in API 2023-07-19 18:55:22 -05:00
Ottatop
f2b54be2fc Add more window methods to API 2023-07-18 21:10:43 -05:00
Ottatop
b2521f949c Streamline API naming 2023-07-18 15:12:23 -05:00
Ottatop
94674f0141 Fix tiled windows overlapping when jerking mouse 2023-07-18 12:57:04 -05:00
Ottatop
a6a62be446 Add per tag layouts 2023-07-18 12:37:40 -05:00
Ottatop
b1ee8e03c1 Add more stuff to API 2023-07-18 10:35:39 -05:00
Ottatop
f6784da8a8 Add corner layout 2023-07-18 10:35:39 -05:00
Ottatop
e6eb0c67ff Fix rounding errors when sizing windows 2023-07-18 10:35:39 -05:00
Ottatop
15d5778dab Fix windows not resizing when spawning very quickly 2023-07-18 10:35:39 -05:00
Ottatop
8621d87938 Update docs because I managed to not do that 2023-07-18 10:35:39 -05:00
Ottatop
0d8c30219c Rename enum members for clarity 2023-07-18 10:35:39 -05:00
Ottatop
cc8ec304d4 Add proper fix for windows not reappearing when unmapped and not sizing correctly when too small 2023-07-18 10:35:39 -05:00
Ottatop
e7f0210f40 Fix master stack layout having empty space on the bottom 2023-07-18 10:35:39 -05:00
Ottatop
91e9e77ff3 Add workaround for crash when windows become too short 2023-07-18 10:35:39 -05:00
Ottatop
f1508350e3 Add spiral layout 2023-07-18 10:35:39 -05:00
Ottatop
6f57d8d413 Add dwindle layout 2023-07-18 10:35:39 -05:00
Ottatop
3efdb9d73f Update output in API, modify tag tracking 2023-07-18 10:35:39 -05:00
Ottatop
d91c06dbe9 Add output to API 2023-07-18 10:35:39 -05:00
Ottatop
930925a8f1 Change all *State.with(thing, ...) to thing.with_state(...) 2023-07-18 10:35:39 -05:00
Seaotatop
ac6130408b Fix window not raising when toggled to floating 2023-07-18 10:35:39 -05:00
Seaotatop
7dac7ba8cd Fix windows flickering on tag change 2023-07-18 10:35:39 -05:00
Seaotatop
ba69b21c52 Rework window tracking 2023-07-18 10:35:39 -05:00
Seaotatop
d860172334 Clean up old layouts 2023-07-18 10:35:39 -05:00
Seaotatop
a14ce1ef2e Improve master stack layout and tags 2023-07-18 10:35:39 -05:00
Seaotatop
a3c71ef9d5 Begin work on layout system and fleshing out tag system 2023-07-18 10:35:39 -05:00
Seaotatop
824595637b Fiddle with stuff 2023-07-04 15:20:41 -05:00
Seaotatop
e28998afe4 Fix immediate crash on udev 2023-07-02 18:15:44 -05:00
Seaotatop
5f8352452b Clean up tracing logs 2023-07-02 17:15:16 -05:00
Seaotatop
d09d367b22 Fix windows not reappearing on tag changes 2023-07-02 17:10:15 -05:00
Seaotatop
8fcf86b886 Add moving windows to tags and toggling tags on windows 2023-07-02 10:26:07 -05:00
Seaotatop
ebe2313e2d Add basic tag support 2023-07-01 19:06:37 -05:00
Seaotatop
dc9b8e4ffc Begin work on tags 2023-06-30 21:34:07 -05:00
Seaotatop
2b50e7d31a Add unwrap warning, deal with some unwraps 2023-06-29 17:41:08 -05:00
Seaotatop
a07ea96f80 Clean up stuff 2023-06-29 12:29:00 -05:00
Seaotatop
24c13f6f7c Move from threads to async for process output 2023-06-29 11:58:33 -05:00
Seaotatop
8400f7dd5f Raise fd limit, extract spawn handling into own fn 2023-06-28 16:41:36 -05:00
Seaotatop
d2a1dc7de1 Add types, add missing MPL header that I skipped the check for 2023-06-26 21:19:02 -05:00
Seaotatop
b980315552 Add function to get windows in config, WIP 2023-06-26 18:48:29 -05:00
Seaotatop
12323ae029 Start work on tags, uncomment stuff 2023-06-25 20:26:52 -05:00
Seaotatop
541aab5755 Move tag file 2023-06-25 19:12:48 -05:00
Seaotatop
f3331de381 Test CI thing 2023-06-25 17:52:58 -05:00
Seaotatop
1fe510dbf1 Add SPDX identifiers 2023-06-25 17:49:06 -05:00
Seaotatop
a02cada324 Add license headers 2023-06-25 17:18:50 -05:00
Seaotatop
3e50d322f4 Add test workflow 2023-06-25 15:44:01 -05:00
Seaotatop
c77b086ddf Add stuff 2023-06-24 17:39:40 -05:00
Seaotatop
f724d4b340 Clean up stuff 2023-06-23 15:46:40 -05:00
Seaotatop
1dcffd286d Fix crash when making window height too small on some windows with client-side decorations 2023-06-23 15:43:40 -05:00
Seaotatop
4943d905a0 Shorten doc links 2023-06-23 10:27:24 -05:00
Seaotatop
363350805d Add some more documentation 2023-06-23 10:25:10 -05:00
Seaotatop
50cede7b70 Add documentation 2023-06-23 10:18:57 -05:00
Seaotatop
9f65bc386e Fix flickering when swapping tiled windows 2023-06-23 09:44:00 -05:00
Seaotatop
9df450843c Make tiled windows move like tiled windows 2023-06-21 21:49:20 -05:00
Seaotatop
de37349497 Le troll 2023-06-21 19:08:50 -05:00
Seaotatop
253ecd85ad Add documentation 2023-06-21 19:08:29 -05:00
Seaotatop
09742d1f76 Add documentation 2023-06-21 18:58:49 -05:00
Seaotatop
8c054e17ba Add quit function to api, update README and example_config 2023-06-21 17:36:51 -05:00
Seaotatop
c46159c77a Add process spawning to config api 2023-06-21 14:48:38 -05:00
Seaotatop
a885d8dec6 Restructure lua api for future work 2023-06-19 19:07:45 -05:00
Seaotatop
b8ccdb374f Add env variable for config and example config 2023-06-19 16:24:27 -05:00
Seaotatop
e0a858214c Add arguments for both winit and udev backends 2023-06-19 13:27:54 -05:00
Seaotatop
07d3c3c7fc Add argument to launch winit backend 2023-06-19 12:42:49 -05:00
Seaotatop
71f71feaf2 Simple floating window support 2023-06-18 19:30:52 -05:00
Seaotatop
3ea2452397 Work on focus mechanism 2023-06-17 21:02:58 -05:00
Seaotatop
d1bfb48885 Fixed stuff 2023-06-17 19:01:26 -05:00
Seaotatop
1a7b98a666 Merged crates, more work on api 2023-06-17 18:55:04 -05:00
Seaotatop
32db3bc238 Project restructure to prepare for config API 2023-06-11 17:56:34 -05:00
Seaotatop
748dadae01 Copied Anvil's udev support 2023-06-09 20:29:17 -05:00
Seaotatop
65760b2434 Added files that didn't get added, removed empty file 2023-06-07 12:39:58 -05:00
Seaotatop
8f5c55d3a0 Winit pointer drawing, start on udev backend 2023-06-07 12:12:54 -05:00
Seaotatop
e3b65456d6 Added tracing 2023-06-05 21:08:37 -05:00
Seaotatop
b6a3f183b0 figured out why alacritty's size flickered on open 2023-06-04 18:11:14 -05:00
Seaotatop
47ad2557cd damage tracking maybe? 2023-06-02 16:01:48 -05:00
Seaotatop
72e76dec61 Extracted input processing into new file 2023-06-02 12:26:33 -05:00
Seaotatop
89d83bd1e7 Added framework for different backends 2023-06-01 20:23:37 -05:00
Seaotatop
caa6930cd5 Move send_pending_configure out of new_toplevel() 2023-05-30 20:47:12 -05:00
Seaotatop
4b32c2f454 Really rudimentary master stack tiling 2023-05-29 12:45:04 -05:00
Seaotatop
b5d24956db First commit 2023-05-28 19:18:22 -05:00