Commit Graph

38 Commits

Author SHA1 Message Date
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
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