Commit Graph

62 Commits

Author SHA1 Message Date
Oskari Alaranta bb7632d53f Fix input event state and child window
state represents state just before the event, not current

set child window to null if wid == child_wid
2026-02-23 03:00:08 +02:00
Oskari Alaranta 862eaa205a Fix parenthesis being flipped 2026-02-23 02:58:48 +02:00
Oskari Alaranta 61f8b2fa66 Implement per-client event masks
This allows multiple clients to listen for events on the same window.
Mostly used for listening events on the root window
2026-02-23 00:40:53 +02:00
Oskari Alaranta e376c57cda Remove unnecessary includes added by clangd 2026-02-22 22:16:33 +02:00
Oskari Alaranta 561aaecc3f Add support for changing window's fullscreen state 2026-02-22 22:16:33 +02:00
Oskari Alaranta 4886e71452 Cleanup WM_CLOSE_WINDOW atom handling
predefine needed atoms so we dont have to check if or when they are
made available
2026-02-22 22:15:48 +02:00
Oskari Alaranta 710b896a84 LibGUI/WindowServer: Add fullscreen events 2026-02-22 22:13:03 +02:00
Oskari Alaranta 8c2fea9edf Cleanup whitespace and suppress unused variable warnings 2026-02-22 22:13:03 +02:00
Oskari Alaranta 85bb292a31 Support WM_CLOSE_WINDOW 2026-02-22 22:13:03 +02:00
Oskari Alaranta 20f105f56c Fix predefined atom definitions
Atom names are not supposed to contain the XA_ prefix :D
2026-02-22 22:13:03 +02:00
Oskari Alaranta 3e0dc851c4 Link to system libraries on banan-os 2026-02-21 19:25:14 +02:00
Oskari Alaranta 26b65e1e6e Make glx and shm cmake options 2026-02-21 18:47:58 +02:00
Oskari Alaranta b90cbae5ae Add missing include 2026-02-21 18:39:11 +02:00
Oskari Alaranta 6119e8dc7a Implement FillPoly 2026-02-21 18:29:44 +02:00
Oskari Alaranta 4c1f869e32 Dont use c++26 extension 2026-02-21 17:18:25 +02:00
Oskari Alaranta 7018e1e17d Fix font pattern matching and add ListFontsWithInfo 2026-02-21 17:15:46 +02:00
Oskari Alaranta ccb2507ac3 Don't crash on failed Shm mapping 2026-02-21 17:15:02 +02:00
Oskari Alaranta a13b8617dc Implement line drawing PolyLine, PolySegment 2026-02-21 16:29:42 +02:00
Oskari Alaranta df32c7aa99 Add global safe getters for retrieving objects 2026-02-21 14:37:13 +02:00
Oskari Alaranta a52181e140 Implement GrabServer and UngrabServer
These seem very scary but they are part of the spec :)
2026-02-21 05:04:17 +02:00
Oskari Alaranta 8a0f287d8c Send NoExposure in CopyArea
Im not sure if/when i should be sending GraphicsExposure but this fixes
xterm hanging when scrolling
2026-02-21 04:32:48 +02:00
Oskari Alaranta 88ccba3dee BAN: Add reallocator and make Vector use it 2026-02-21 03:54:08 +02:00
Oskari Alaranta 778af77654 BAN: Add is_trivially_copyable trait 2026-02-21 03:53:41 +02:00
Oskari Alaranta 2f4c0e87a1 Disable verbose debugging logs for every X request 2026-02-21 03:53:25 +02:00
Oskari Alaranta 7088be0e51 Add mostly stubbed out GLX extensions
Surprisingly this lets most GLX apps run as they still render client
side, they just need the extension to exist
2026-02-21 03:53:25 +02:00
Oskari Alaranta 6da9cb7362 Add font support 2026-02-21 03:50:42 +02:00
Oskari Alaranta ed57950ee0 Get screen size from libGUI insted of hardcoding
Also use DPI 96 instead of 1 pixel == 1 milli meter
2026-02-21 03:48:05 +02:00
Oskari Alaranta d0b289d77b Cleanup objects created by extensions 2026-02-21 03:47:29 +02:00
Oskari Alaranta a32d509cde Fix CreateCursor masking
If there was no mask, cursor would be invisible
2026-02-21 03:46:14 +02:00
Oskari Alaranta 2016621f78 Implement SetClipRectangles
This fixes firefox flickering with SHM
2026-02-21 03:45:45 +02:00
Oskari Alaranta 406ea61be0 Implement ShmCreatePixmap 2026-02-21 03:43:06 +02:00
Oskari Alaranta 572a0b6bd5 Fix some crashes on invalid ids 2026-02-21 03:40:39 +02:00
Oskari Alaranta 631770725b Implement ReparentWindow, ListProperties, QueryBestSize 2026-02-21 03:39:57 +02:00
Oskari Alaranta 7c1b403e05 LibDEFLATE: Add GZip support
This allows compressing and decompressing with data using GZip headers
and footers
2026-02-20 00:00:32 +02:00
Oskari Alaranta 632787b142 Implement ShmGetImage
Also SHM extension is now only compiled if the system has shmat and
shmdt
2026-02-12 18:40:55 +02:00
Oskari Alaranta 188f9182ea Add stub OpenFont 2026-02-12 02:40:10 +02:00
Oskari Alaranta abaa239505 Add basic MIT-SHM support
Supports only Attach, Detach and PutImage but those seem to be enough
for firefox and chromium
2026-02-12 02:39:24 +02:00
Oskari Alaranta 545ddefcce Fix ListExtension string encoding 2026-02-12 02:38:35 +02:00
Oskari Alaranta 24baab2e84 Cleanup extensions 2026-02-12 02:38:08 +02:00
Oskari Alaranta 6124525439 Store per window depths 2026-02-12 02:37:12 +02:00
Oskari Alaranta b9c69d8456 Add proper support for QueryKeymap 2026-02-12 02:35:56 +02:00
Oskari Alaranta 93a101b235 Cleanup code 2026-02-11 17:43:47 +02:00
Oskari Alaranta b48f099aa2 BAN: Print timestamps with d{print,warn,error}ln 2026-02-11 17:43:47 +02:00
Oskari Alaranta a74d99de45 Fix keymaps, reported info and add custom cursors 2026-02-11 17:43:47 +02:00
Oskari Alaranta 28a68069fb Receive client auth info on initial message 2026-02-11 17:26:16 +02:00
Oskari Alaranta 3da8964a32 xbanan: Fix encoding of non byte sized containers 2026-02-11 17:23:46 +02:00
Oskari Alaranta 8ed4390598 BAN: Add value_type to String and StringView 2026-02-11 17:23:21 +02:00
Oskari Alaranta 49984f2844 BAN: Span remove unnecessary asserts 2026-02-11 17:22:57 +02:00
Oskari Alaranta 7a66eb44d4 LibGUI/WindowServer: Allow custom cursor origin 2026-02-10 23:09:19 +02:00
Oskari Alaranta 4801fd3e67 Only send key/mouse events to a single window
Firefox was getting mouse clicks as duplicates making every click a
double click
2026-02-10 03:05:15 +02:00