7f09e7d6b2
Clean up a few things
2025-07-28 17:18:55 -07:00
a50ef3ad8c
Transparency works now and my brain is too fried to explain why
2025-05-28 16:04:01 -07:00
1eff2cd4f7
Properly use premultiplied alpha
2025-05-28 14:34:21 -07:00
3bcccb2e87
Antialiasing works with transparent background
2025-05-22 09:17:15 -07:00
64fe7ec941
Properly double buffering
2025-05-21 15:50:52 -07:00
5b8475f1a3
Properly understand keys pressed and unpressed
2025-05-14 22:05:31 -07:00
9d0b9b97b5
Use structs with Drawable trait instead of methods on shm_pool
2025-05-13 21:54:59 -07:00
7dcf3d80bb
Use while loop instead of break so main loop can be exited and cleaned up from anywhere
2025-05-13 20:40:12 -07:00
a1aa3bc2eb
Exit on esc up
2025-05-13 13:53:02 -07:00
1efb3f661b
Parse keysyms from xkb config and interpret key in wl_keyboard.key
2025-05-11 18:20:15 -07:00
a7c2956313
mmap fd received from wl_keyboard.keymap
2025-05-09 01:45:37 -07:00
bde60fff90
read_loop now happens on its own thread, replace WlClient::new() with blocking run()
2025-05-08 00:32:17 -07:00
6cd5d1f256
socket is atomic
2025-05-07 16:06:45 -07:00
9583a87f2f
All members of WlClient except socket are atomic
2025-05-06 22:59:22 -07:00
375b44beee
current_id, registry_id, and ShmPool are atomic
2025-05-06 11:57:35 -07:00
cbe54334ca
Improve circle rendering and add antialiasing to rounded rect
2025-04-29 03:30:33 -07:00
e81ff0be66
Antialiasing kind of works on circles drawing each pixel individually
2025-04-28 00:02:23 -07:00
293e03e500
Graphics namespace includes rectangle, rounded rectangle, and circle
...
Also added methods to make writing to shm pool easier
2025-04-27 01:12:29 -07:00
1e5be37996
Move all wayland files into wayland namespace
2025-04-26 02:14:08 -07:00
0244bba6e7
Abolish Color struct in favour of plain u32s
2025-04-26 00:55:49 -07:00
spingus
0687016677
Add black color
2025-04-25 19:05:47 -07:00
fea56134b0
Use color struct to define argb colors
...
Also impl Debug for WlClient, preferred buffer scale and transform
2025-04-25 17:57:20 -07:00
0cf379c6f7
Set shm pool size based on layer surface width and height
2025-04-25 14:38:22 -07:00
adacd7a2ab
WE'RE FINALLY PUTTING SHIT ON THE SCREEN
...
Attach wl_buffer to layer_surface and commit it
2025-04-25 02:02:02 -07:00
5034e0fc24
Commit wl_surface, receive and ack configure on layer_surface
2025-04-25 01:45:10 -07:00
d0bb89e393
Allow writing to ShmPool and initialize shm to all 1's
2025-04-25 00:43:34 -07:00
0fa9864a1c
Set layer surface size and keyboard interactivity
2025-04-24 23:39:31 -07:00
970c59edee
Bind wlr layer shell global and get layer surface
2025-04-24 22:38:25 -07:00
1e7676ddb7
ping pong
2025-04-24 01:52:15 -07:00
0be889b758
Create wl_surface object and attach already created wl_buffer to it
2025-04-24 01:29:54 -07:00
spingus
aed1525c06
Separate methods of WlClient into multiple files for different wayland protocols
...
- WlMessage trait and impl for Vec moved to vec_utils.rs
- wl_shm_format, wl_shm_create_pool, and wl_shm_pool_create_buffer moved to wl_shm.rs
- wl_display_error, wl_display_get_registry, wl_registry_global, and wl_registry_bind moved to wl_registry.rs
- WlClient definition, WlClient::new, and WlClient.read_event moved to wl_client.rs
2025-04-23 16:41:33 -07:00
097a90c3dc
Move WlClient::{new, read_event} from main.rs to wl_client.rs
2025-04-23 16:35:15 -07:00
eef2bfdc97
Move wl::{display, error}, wl_registry::{global, bind} from main.rs to wl_registry.rs
2025-04-23 16:25:21 -07:00
b6b3cefd2d
Move format, create_pool, and create_buffer to wl_shm.rs
2025-04-23 13:20:08 -07:00
0d2db8f288
Move WlHeader trait and impl from main.rs to vec_utils.rs
2025-04-23 13:03:23 -07:00
2918fc9d30
Use object oriented WlClient instead of WlState
2025-04-22 18:32:35 -07:00
ad72c2855e
Create wl_buffer
2025-04-21 14:32:56 -07:00
7369c5f813
Create and map shared memory pool with libc
2025-04-03 13:38:12 -07:00
07e8089787
Print errors and bind to wl_shm
2025-03-26 11:50:59 -07:00
4402df8495
Use WlEvent trait to abstract read_u32 and read_string
2025-03-25 13:21:05 -07:00
857b40dda4
Read globals from wl_registry::global
2025-03-24 15:44:06 -07:00
4e9d63d415
Use WlHeader struct instead of reading bytes from buffer every time
2025-03-24 15:41:32 -07:00
1003a3a4ed
Use WlState struct to hold commonly used values
2025-03-24 10:59:59 -07:00
59def83bf3
Get wl_registry global object
2025-03-24 10:13:31 -07:00
6a0b47c57e
Connect to wayland socket
2025-03-24 10:11:57 -07:00
a5c757169f
Initial commit
2025-03-24 10:07:27 -07:00