Commit Graph

50 Commits

Author SHA1 Message Date
a863b17746
wind+libui: Ignore alpha bits in the window buffer 2024-03-31 13:38:39 +02:00
5087b6db30
wind: Show which IPC function was called with an invalid window id 2024-03-31 13:38:08 +02:00
7d69ac56e2
apps+libos+shell+wind: Correct a bunch of format strings
All checks were successful
Build and test / build (push) Successful in 1m41s
2024-03-29 14:42:38 +01:00
02f8102d38
wind+libui+taskbar: Add a request for setting special window attributes
This lets the taskbar window stay unfocused even when it's clicked.
2024-02-04 13:35:50 +01:00
b9ccda132a
wind+libui: Rename SetTitlebarRect to SetTitlebarHeight
We only need the height to be customizable.
2024-02-04 13:13:21 +01:00
909d0ed289
libos+wind+apps: Make IPC code object-oriented and add functionality for properly receiving messages
This functionality previously had to be repeated across all server programs using the IPC API.
2024-02-03 19:16:39 +01:00
a7ff298852
wind: Add a second unix socket for privileged clients which need to be in a different group 2024-02-01 21:57:40 +01:00
443d8957f3
apps: Add startui
This service starts a complete UI session (wind, components, and init --user), all with their respective privileges.

This lets us move that responsibility away from wind and let it be only a window manager.
2024-01-31 22:42:24 +01:00
ea14dab7d7
wind: Stop using magic numbers for user and group IDs 2024-01-30 20:26:54 +01:00
f34dd56375
wind+libui: Implement client side decorations 2023-12-27 12:56:40 +01:00
73a7d4f2a1
wind+libui: Run wind as a separate user
All checks were successful
continuous-integration/drone/push Build is passing
2023-11-22 21:31:08 +01:00
c323a812a5
kernel+libc+terminal+wind: Add support for POSIX sessions
All checks were successful
continuous-integration/drone/push Build is passing
Fixes #42.
2023-10-14 20:41:34 +02:00
9097400c32
wind: Return more errors to the client when creating windows
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-13 22:33:36 +02:00
9a9c7e577a
wind+libui+taskbar: Add various window types and never focus the taskbar
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-27 18:14:32 +02:00
36fad85396
kernel+init+preinit+wind: Remove the kernel TTY and support only userspace terminals
All checks were successful
continuous-integration/drone/push Build is passing
Still allow printing text to the console, but without text input or ANSI escape fancy stuff.
2023-09-21 19:31:54 +02:00
9fd4fc7e91
wind+taskbar: Improve the dark color scheme 2023-09-20 19:45:01 +02:00
3540033dd3
wind: Translate Ctrl-key presses correctly 2023-09-20 07:06:01 +02:00
ab738772b9
wind: Stop tracking windows after they're closed 2023-09-20 07:05:59 +02:00
e2a1cb0d34
wind+libui: Add support for keyboard events 2023-09-20 07:05:59 +02:00
835c39bc47
apps: Add basic terminal app 2023-09-20 07:05:58 +02:00
669e2747a7
wind: Move more fallible operations before window creation 2023-09-20 07:05:57 +02:00
06f3affc71
wind: Make sure stdin is always a TTY 2023-09-20 07:05:57 +02:00
5db1c3722c
libui+wind+libos: Move shared memory handling code to os::SharedMemory 2023-09-20 07:05:57 +02:00
a023811c26
libui+wind: Handle mouse leave events when the mouse leaves a window 2023-09-20 07:05:57 +02:00
5385b1c337
wind: Stop using the removed 'signal' pledge 2023-09-20 07:05:57 +02:00
ad001b4ee7
wind: Show memory usage in debug output 2023-09-20 07:05:56 +02:00
88a202ba33
wind: Handle ftruncate() and mmap() errors properly 2023-09-20 07:05:56 +02:00
b656ceedfe
wind: Fix client references being out-of-date in windows when disconnecting other clients
Classic "keeping a pointer to an element inside a vector after the vector is updated" bug, ah yes.
2023-09-20 07:05:56 +02:00
6375fb965a
wind: Add debug keybind 2023-09-20 07:05:56 +02:00
7e7f0a96f5
wind+libos+libui: Handle interrupted reads properly 2023-09-20 07:05:55 +02:00
5703faf50f
wind+libui+taskbar: Add GetScreenRect IPC, non-decorated windows, taskbar 2023-09-20 07:05:54 +02:00
69bb22095f
ui+wind: Send mouse move events through IPC 2023-09-20 07:05:54 +02:00
062b09e20c
wind+libui: Add protocol for window close requests 2023-09-20 07:05:54 +02:00
2328987d81
libos+libui+wind: Use uppercase for static struct IDs to avoid confusion with fields 2023-09-20 07:05:54 +02:00
0fb47d90a7
wind+gclient: Add SetWindowTitle and support shm buffers 2023-09-20 07:05:53 +02:00
d3dd257dc1
wind: Handle CreateWindow IPC messages 2023-09-20 07:05:53 +02:00
e931d11ae1
wind: Monitor data on client connections 2023-09-20 07:05:52 +02:00
774177ba1f
wind: Use init --user and pledge() 2023-09-20 07:05:52 +02:00
1c50d5133f
libos: Remove some shared pointers and change them to owned/live on the stack 2023-09-20 07:05:52 +02:00
6cf5fa3097
wind: Spawn a new client process after startup
Also, create the socket after dropping privileges.
2023-09-20 07:05:52 +02:00
fbb66a9fc3
libui+wind: Move some static variables inside functions 2023-09-20 07:05:51 +02:00
3fefb74710
wind: Generate random windows on keypresses 2023-09-20 07:05:51 +02:00
11e0025a5b
wind: Make sure windows have a minimum size to fit the titlebar 2023-09-20 07:05:51 +02:00
25ad2b17aa
wind: Render an actual TGA mouse cursor 2023-09-20 07:05:50 +02:00
6d78fc64f9
wind: Add a close button to windows using a TGA icon 2023-09-20 07:05:50 +02:00
f6ef79e759
wind: Add window titlebars using ui::Font 2023-09-20 07:05:50 +02:00
277953065a
wind: Reorder drag sequence 2023-09-20 07:05:49 +02:00
8859fc3d6a
libui+wind: (Draggable) windows 2023-09-20 07:05:49 +02:00
335911c287
wind: Create a local server object 2023-09-20 07:05:49 +02:00
36cc84c50d
wind: Add a simple display server skeleton using libui
No client functionality yet, but it's a start.
2023-09-20 07:05:48 +02:00