d787afb7e3
Disable shared pixmaps on MIT-SHM
...
Our internal pixmap representation does not match what we advertice in
out pixmap formats, and there is no way to only enable 24 and 32 depth
pixmaps for SHM so just disable them all together. MIT-SHM can still be
used through Shm{Get,Put}Image. We probably should store pixmaps as we
say we do, but its too much work for now :^)
2026-06-01 04:55:43 +03:00
f6a87f064f
Add support for system cursors
...
When a client creates a cursor from the default cursor font, we try to
detect which cursor it is and create a native system cursor based on
that.
2026-06-01 04:55:43 +03:00
7fe5b0174f
Allow sending enter/leave events between different native windows
...
This fixes hovering on popups
2026-06-01 03:01:31 +03:00
6450fd9a2f
Add initial support for window types
...
This makes popup windows work much better
2026-06-01 03:01:31 +03:00
2ddd67dede
Start work on making xbanan portable
...
This will allow usage of xbanan on non banan-os platforms. I added a
"native" SDL2 port so it can be used without the window manager
2026-06-01 01:27:49 +03:00
b2c642f03d
Don't make SHM extension dependent option
...
This was here because I though banan-os didn't define them, but they do
exist there :^)
2026-04-15 19:23:34 +03:00
654e878165
Allow compiling with just xorgproto installed
2026-04-15 19:22:56 +03:00
5076d3bbaf
Add missing sys/socket.h include
2026-04-15 18:53:45 +03:00
7be8edada7
Add child window id to its parent
...
I had accidentally removed this in b228ef13c4 and it broke all programs
that were using child windows :D
2026-04-15 18:43:03 +03:00
07f2b5dbb7
Add hacky way to die when WindowServer dies
...
We keep a dummy window around which will receive a close event that
exits once WindowServer dies :^)
2026-04-15 18:21:03 +03:00
a497e4267f
Add README and LICENSE
2026-04-15 17:54:40 +03:00
7252c985b8
Add banan-os as a submodule instead of manually copying libraries
2026-04-15 17:54:31 +03:00
f5e52b5ac8
Remove accidentally commited debug script ;)
2026-04-13 02:58:30 +03:00
b228ef13c4
Fix null depth on CreateWindow
2026-03-23 17:15:57 +02:00
f7150056c4
Cleanup debug prints
2026-02-23 03:02:07 +02:00
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
862eaa205a
Fix parenthesis being flipped
2026-02-23 02:58:48 +02:00
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
e376c57cda
Remove unnecessary includes added by clangd
2026-02-22 22:16:33 +02:00
561aaecc3f
Add support for changing window's fullscreen state
2026-02-22 22:16:33 +02:00
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
710b896a84
LibGUI/WindowServer: Add fullscreen events
2026-02-22 22:13:03 +02:00
8c2fea9edf
Cleanup whitespace and suppress unused variable warnings
2026-02-22 22:13:03 +02:00
85bb292a31
Support WM_CLOSE_WINDOW
2026-02-22 22:13:03 +02:00
20f105f56c
Fix predefined atom definitions
...
Atom names are not supposed to contain the XA_ prefix :D
2026-02-22 22:13:03 +02:00
3e0dc851c4
Link to system libraries on banan-os
2026-02-21 19:25:14 +02:00
26b65e1e6e
Make glx and shm cmake options
2026-02-21 18:47:58 +02:00
b90cbae5ae
Add missing include
2026-02-21 18:39:11 +02:00
6119e8dc7a
Implement FillPoly
2026-02-21 18:29:44 +02:00
4c1f869e32
Dont use c++26 extension
2026-02-21 17:18:25 +02:00
7018e1e17d
Fix font pattern matching and add ListFontsWithInfo
2026-02-21 17:15:46 +02:00
ccb2507ac3
Don't crash on failed Shm mapping
2026-02-21 17:15:02 +02:00
a13b8617dc
Implement line drawing PolyLine, PolySegment
2026-02-21 16:29:42 +02:00
df32c7aa99
Add global safe getters for retrieving objects
2026-02-21 14:37:13 +02:00
a52181e140
Implement GrabServer and UngrabServer
...
These seem very scary but they are part of the spec :)
2026-02-21 05:04:17 +02:00
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
88ccba3dee
BAN: Add reallocator and make Vector use it
2026-02-21 03:54:08 +02:00
778af77654
BAN: Add is_trivially_copyable trait
2026-02-21 03:53:41 +02:00
2f4c0e87a1
Disable verbose debugging logs for every X request
2026-02-21 03:53:25 +02:00
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
6da9cb7362
Add font support
2026-02-21 03:50:42 +02:00
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
d0b289d77b
Cleanup objects created by extensions
2026-02-21 03:47:29 +02:00
a32d509cde
Fix CreateCursor masking
...
If there was no mask, cursor would be invisible
2026-02-21 03:46:14 +02:00
2016621f78
Implement SetClipRectangles
...
This fixes firefox flickering with SHM
2026-02-21 03:45:45 +02:00
406ea61be0
Implement ShmCreatePixmap
2026-02-21 03:43:06 +02:00
572a0b6bd5
Fix some crashes on invalid ids
2026-02-21 03:40:39 +02:00
631770725b
Implement ReparentWindow, ListProperties, QueryBestSize
2026-02-21 03:39:57 +02:00
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
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