Commit Graph

22 Commits

Author SHA1 Message Date
Bananymous 36d07065fb WindowServer: Optimize msync calls to synchronize less bytes
This *probably* makes framebuffer much faster :D Window server does not
have to do page aligned and page sized syncs which used way too many
pixels.
2024-11-17 20:15:28 +02:00
Bananymous e1b82e4e43 WindowServer: Don't allow focusing unfocusable windows after closing 2024-11-17 20:15:28 +02:00
Bananymous df613775b6 WindowServer: Alpha blend background image in fullscreen mode 2024-11-17 20:15:28 +02:00
Bananymous c96aee5740 WindowServer: Make mod+f toggle focused window fullscreen state 2024-11-15 20:45:56 +02:00
Bananymous 1c08849667 WindowServer: Draw cursor in fullscreen mode 2024-11-15 20:45:01 +02:00
Bananymous 73349e5e75 WindowServer: don't set window location to (0,0) when fullscreening 2024-11-15 20:43:41 +02:00
Bananymous 74ae411b69 WindowServer: Skip invalidation on other windows in fullscreen mode 2024-11-15 20:42:07 +02:00
Bananymous d458592fb1 WindowServer: Don't focus unfocusable windows on window creation 2024-11-15 20:41:42 +02:00
Bananymous a859558840 LibGUI: Window Creation takes attributes as an argument
This reduces windows showing/moving once they are opened and setting
their attributes.
2024-11-14 20:57:34 +02:00
Bananymous bda2c663da WindowServer: Implement fullscreen windows
If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance.
2024-11-13 19:10:15 +02:00
Bananymous d19264eea8 WindowServer: Implement partial window resizing
This patch adds support for client side resizing, so clients can request
the server to resize their windows. WindowServer will respond with
resize event when and if the resizing is complete.
2024-11-13 17:30:12 +02:00
Bananymous da8170c5b6 LibGUI: Add support for focusable windows and mouse capturing
These are essential parts of a window server! This allows making TaskBar
non-focusable.
2024-11-08 02:55:10 +02:00
Bananymous d57e797147 WindowServer: Don't kill window on key event, instead send close event
This allows notifying the client about window close and let client
handle it as it wants
2024-10-18 17:17:58 +03:00
Bananymous d266c7f93b LibGUI: Implement attributes for windows
Windows can now change whether they have title bar, rounded corners,
alpha channel and whether they are movable. Also windows can also change
their own position
2024-10-18 03:32:12 +03:00
Bananymous d7e5c56e94 userspace: Use SOCK_STREAM instead of SOCK_SEQPACKET for WindowServer
This makes more sense if we have longer packages
2024-10-17 01:44:48 +03:00
Bananymous d36b64e0c8 LibImage: name color to u32 function to to_argb from to_rgba
This is the actual format that it returns
2024-10-13 22:01:46 +03:00
Bananymous cea6dedccc Userspace: Compile programs and libraries with -Wall -Wextra -Werror 2024-09-26 15:20:07 +03:00
Bananymous 97da386ed6 WindowServer: Make focused window bounce by pressing F2
This was an awesome idea by [@Dcraftbg](https://github.com/Dcraftbg)
2024-09-12 20:09:23 +03:00
Bananymous c706829a91 WindowServer: Make corner-radius a variable in config file! 2024-09-12 20:07:30 +03:00
Bananymous 6cd246a38e WindowServer: Add support for rounded corners and transparency 2024-09-12 19:35:44 +03:00
Bananymous bf01b935bd WindowServer: Start Terminal with Super+Enter
this allows doing something in GUI after Terminal is closed

also WindowServer is now stopped with Super+Shift+E
2024-09-11 22:18:08 +03:00
Bananymous 8ddab05ed3 BuildSystem: Cleanup userspace directory layout
userspace programs are now in userspace/programs
userspace tests are now in userspace/tests

This makes listing userspace projects much cleaner. Libraries were
already separated to their own directory, so other programs should also.
2024-07-03 09:18:02 +03:00