Commit Graph

2215 Commits

Author SHA1 Message Date
8ab823fc43
wind: Move more fallible operations before window creation
All checks were successful
continuous-integration/drone/pr Build is passing
2023-09-02 14:02:06 +02:00
a2b6149f50
wind: Make sure stdin is always a TTY
All checks were successful
continuous-integration/drone/pr Build is passing
2023-08-31 14:55:40 +02:00
d5d21e1eb0
libui+wind+libos: Move shared memory handling code to os::SharedMemory
All checks were successful
continuous-integration/drone/pr Build is passing
2023-08-29 16:25:30 +02:00
e85dc97e91
libui: Add default handlers for events in Widget
All checks were successful
continuous-integration/drone/pr Build is passing
2023-08-29 15:32:33 +02:00
2c7ae3c61b
libui: Propagate Container events only if they are in the child widget's rect 2023-08-29 15:29:17 +02:00
f0f1a9c46c
libui+wind: Handle mouse leave events when the mouse leaves a window 2023-08-29 15:26:34 +02:00
1d4055411d
wind: Stop using the removed 'signal' pledge
All checks were successful
continuous-integration/drone/pr Build is passing
2023-08-28 12:51:16 +02:00
033b4c3db8
libui: Install the built library into the system root 2023-08-28 12:51:16 +02:00
744ca07799
wind: Show memory usage in debug output 2023-08-28 12:51:16 +02:00
8f0356700c
wind: Handle ftruncate() and mmap() errors properly 2023-08-28 12:51:16 +02:00
dad573f1fe
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-08-28 12:51:16 +02:00
870cb867ee
taskbar: Wait for terminated child windows 2023-08-28 12:51:16 +02:00
11d47c3982
wind: Add debug keybind 2023-08-28 12:51:16 +02:00
2eb973ca2b
wind+libos+libui: Handle interrupted reads properly 2023-08-28 12:51:16 +02:00
a227578107
base: Actually add the start icon to source control 2023-08-28 12:51:16 +02:00
8e28d45b9c
libui: Add Buttons 2023-08-28 12:51:15 +02:00
f8e6b45dd2
libui: Handle other mouse events 2023-08-28 12:51:15 +02:00
ff68f574ff
libui: Add aligned items using Containers, ImageWidget 2023-08-28 12:51:15 +02:00
da6daff8c7
libui: Add VerticalLayout 2023-08-28 12:51:15 +02:00
09cb378a7a
wind+libui+taskbar: Add GetScreenRect IPC, non-decorated windows, taskbar 2023-08-28 12:51:15 +02:00
d58a56a1d1
libui: Actually fill window backgrounds with the correct color 2023-08-28 12:51:15 +02:00
096a4e7953
libui: Add basic widget and layout system =D 2023-08-28 12:51:15 +02:00
9c30641587
ui+wind: Send mouse move events through IPC 2023-08-28 12:51:15 +02:00
75b3e78d34
wind+libui: Add protocol for window close requests 2023-08-28 12:51:15 +02:00
d801fe6bb8
libos+libui+wind: Use uppercase for static struct IDs to avoid confusion with fields 2023-08-28 12:51:14 +02:00
41f9d8cadd
libui+gclient: Add basic OOP wrappers around the IPC protocol 2023-08-28 12:51:14 +02:00
36cc66c2e9
wind+gclient: Add SetWindowTitle and support shm buffers 2023-08-28 12:51:14 +02:00
d6b75f5981
gclient: Create two example windows 2023-08-28 12:51:14 +02:00
c6bff6f8b4
wind: Handle CreateWindow IPC messages 2023-08-28 12:51:14 +02:00
03bde69c65
libui: Add CreateWindow IPC message definitions 2023-08-28 12:51:14 +02:00
9752ab29d3
libos: Add basic IPC message framework 2023-08-28 12:51:14 +02:00
2445c2f6aa
kernel: Fix poll syscall 2023-08-28 12:51:14 +02:00
7aaa05ded6
wind: Monitor data on client connections 2023-08-28 12:51:14 +02:00
3253151cb7
kernel: Add POLLHUP and store it when a polled socket's peer disconnects 2023-08-28 12:51:13 +02:00
e28f8f7520
libui: Add copyright/author text 2023-08-28 12:51:13 +02:00
65aa931931
libos: Add copyright/author comments to LocalServer and LocalClient 2023-08-28 12:51:13 +02:00
2192399ca2
wind: Use init --user and pledge() 2023-08-28 12:51:13 +02:00
0df32b92b3
Update .gitignore 2023-08-28 12:51:13 +02:00
baab157431
libos: Remove some shared pointers and change them to owned/live on the stack 2023-08-28 12:51:00 +02:00
0fcc5b9a5e
wind: Spawn a new client process after startup
Also, create the socket after dropping privileges.
2023-08-28 12:51:00 +02:00
92a4174f02
apps: Add gclient 2023-08-28 12:51:00 +02:00
48e97de59c
libos: Add os::LocalClient 2023-08-28 12:51:00 +02:00
f092e41247
libui: Change 'into' to 'onto' 2023-08-28 12:51:00 +02:00
c5ffbae6a0
libui: Document ui::Font 2023-08-28 12:51:00 +02:00
790d9d119b
libui+wind: Move some static variables inside functions 2023-08-28 12:50:59 +02:00
554a8ee300
wind: Generate random windows on keypresses 2023-08-28 12:50:59 +02:00
1caf80bde2
wind: Make sure windows have a minimum size to fit the titlebar 2023-08-28 12:50:59 +02:00
5b496791c5
libui: Properly cut off the last drawn character if necessary 2023-08-28 12:50:59 +02:00
fd99fc88ee
libui: Add Rect::contains(Rect) 2023-08-28 12:50:59 +02:00
4ac0adee57
libui: Render font characters properly with no spacing, matching the width calculations 2023-08-28 12:50:59 +02:00