ff525c9044
libui: Reduce redraw calls by doing them only when events are actually handled
continuous-integration/drone/pr Build is passing
2023-09-12 22:09:45 +02:00
8a7a2c2a53
apps: Add about
2023-09-12 22:09:45 +02:00
ec501359df
libui: Add a basic Label component
2023-09-12 22:09:45 +02:00
c26887c03c
libui: Clarify that Font is only used for low-level glyph rendering
2023-09-12 22:09:45 +02:00
45c8e05809
libui: Zero-initialize counter variables in Layout
2023-09-12 22:09:45 +02:00
10786f08ee
wind: Move more fallible operations before window creation
2023-09-12 22:09:44 +02:00
b1aab83f63
wind: Make sure stdin is always a TTY
2023-09-12 22:09:44 +02:00
c3907af53f
libui+wind+libos: Move shared memory handling code to os::SharedMemory
2023-09-12 22:09:44 +02:00
2bd5b2425e
libui: Add default handlers for events in Widget
2023-09-12 22:09:44 +02:00
f563977438
libui: Propagate Container events only if they are in the child widget's rect
2023-09-12 22:09:44 +02:00
35a7308c69
libui+wind: Handle mouse leave events when the mouse leaves a window
2023-09-12 22:09:44 +02:00
949b6bb9e5
wind: Stop using the removed 'signal' pledge
2023-09-12 22:09:44 +02:00
58f7c101bb
libui: Install the built library into the system root
2023-09-12 22:09:44 +02:00
17f6eb898e
wind: Show memory usage in debug output
2023-09-12 22:09:44 +02:00
306e387938
wind: Handle ftruncate() and mmap() errors properly
2023-09-12 22:09:44 +02:00
41e47c6b5b
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-12 22:09:43 +02:00
17c6ff9a97
taskbar: Wait for terminated child windows
2023-09-12 22:09:43 +02:00
e4dfa418d2
wind: Add debug keybind
2023-09-12 22:09:43 +02:00
f0db982c14
wind+libos+libui: Handle interrupted reads properly
2023-09-12 22:09:43 +02:00
8c08acc2d9
base: Actually add the start icon to source control
2023-09-12 22:09:43 +02:00
1447fe3e35
libui: Add Buttons
2023-09-12 22:09:43 +02:00
550a80b8b3
libui: Handle other mouse events
2023-09-12 22:09:43 +02:00
e5b7c72145
libui: Add aligned items using Containers, ImageWidget
2023-09-12 22:09:43 +02:00
b50b17e831
libui: Add VerticalLayout
2023-09-12 22:09:43 +02:00
7c01bb2a0d
wind+libui+taskbar: Add GetScreenRect IPC, non-decorated windows, taskbar
2023-09-12 22:09:43 +02:00
a337f3fb6e
libui: Actually fill window backgrounds with the correct color
2023-09-12 22:09:42 +02:00
7c30cda667
libui: Add basic widget and layout system =D
2023-09-12 22:09:42 +02:00
4f25509465
ui+wind: Send mouse move events through IPC
2023-09-12 22:09:42 +02:00
04626e189f
wind+libui: Add protocol for window close requests
2023-09-12 22:09:42 +02:00
03d7e8d84e
libos+libui+wind: Use uppercase for static struct IDs to avoid confusion with fields
2023-09-12 22:09:42 +02:00
a4e1dc24f5
libui+gclient: Add basic OOP wrappers around the IPC protocol
2023-09-12 22:09:42 +02:00
ed572a86c6
wind+gclient: Add SetWindowTitle and support shm buffers
2023-09-12 22:09:42 +02:00
5994b52192
gclient: Create two example windows
2023-09-12 22:09:42 +02:00
e08667b2d5
wind: Handle CreateWindow IPC messages
2023-09-12 22:09:42 +02:00
8b2fbc6613
libui: Add CreateWindow IPC message definitions
2023-09-12 22:09:42 +02:00
71ea55f4c0
libos: Add basic IPC message framework
2023-09-12 22:09:42 +02:00
6839213df2
kernel: Fix poll syscall
2023-09-12 22:09:41 +02:00
8daa2e7b6f
wind: Monitor data on client connections
2023-09-12 22:09:41 +02:00
542c97accb
kernel: Add POLLHUP and store it when a polled socket's peer disconnects
2023-09-12 22:09:41 +02:00
2c46be036f
libui: Add copyright/author text
2023-09-12 22:09:41 +02:00
4fee72ea24
libos: Add copyright/author comments to LocalServer and LocalClient
2023-09-12 22:09:41 +02:00
f0876f4e3f
wind: Use init --user and pledge()
2023-09-12 22:09:41 +02:00
b72d024c02
Update .gitignore
2023-09-12 22:09:41 +02:00
9354a87739
libos: Remove some shared pointers and change them to owned/live on the stack
2023-09-12 22:09:41 +02:00
d7fd0e716c
wind: Spawn a new client process after startup
...
Also, create the socket after dropping privileges.
2023-09-12 22:09:41 +02:00
13754b764f
apps: Add gclient
2023-09-12 22:09:41 +02:00
fd2d7c4d9e
libos: Add os::LocalClient
2023-09-12 22:09:40 +02:00
a4bff3381b
libui: Change 'into' to 'onto'
2023-09-12 22:09:40 +02:00
013fdfe553
libui: Document ui::Font
2023-09-12 22:09:40 +02:00
194a5c7817
libui+wind: Move some static variables inside functions
2023-09-12 22:09:40 +02:00
cb35de2d8a
wind: Generate random windows on keypresses
2023-09-12 22:09:40 +02:00
70bf977dcc
wind: Make sure windows have a minimum size to fit the titlebar
2023-09-12 22:09:40 +02:00
8d58234854
libui: Properly cut off the last drawn character if necessary
2023-09-12 22:09:40 +02:00
29e3b8bcf7
libui: Add Rect::contains(Rect)
2023-09-12 22:09:40 +02:00
281d703c04
libui: Render font characters properly with no spacing, matching the width calculations
2023-09-12 22:09:40 +02:00
179dde4cd5
wind: Render an actual TGA mouse cursor
2023-09-12 22:09:40 +02:00
802c6255d9
wind: Add a close button to windows using a TGA icon
2023-09-12 22:09:40 +02:00
360beaf877
libui: Add support for TGA image loading
2023-09-12 22:09:39 +02:00
279ba16880
libui: Add an interface to fill a Canvas with an array of pixels
2023-09-12 22:09:39 +02:00
18e255da39
wind: Add window titlebars using ui::Font
2023-09-12 22:09:39 +02:00
371830ce14
libui: Add PSF font loading and rendering
2023-09-12 22:09:39 +02:00
3112d2114c
libui: Add Color::GRAY
2023-09-12 22:09:39 +02:00
5097110df7
libui: Rename Rect::absolute to normalized and add a new absolute function
2023-09-12 22:09:39 +02:00
9e88632fe7
libluna: Add assignment operators to Buffer
2023-09-12 22:09:39 +02:00
d117a18328
wind: Reorder drag sequence
2023-09-12 22:09:39 +02:00
670cffd107
libui: Add Rect::relative
2023-09-12 22:09:39 +02:00
68c3dd9787
libui: Remove redundant statement
2023-09-12 22:09:39 +02:00
81d4f0431d
libui: Add getters for separate color values
2023-09-12 22:09:38 +02:00
d0c910e3ad
libui: Remove unnecessary stuff
2023-09-12 22:09:38 +02:00
c9867dc703
base: Remove startup items not necessary for GUI startup
2023-09-12 22:09:38 +02:00
821d9ed2f0
libui+wind: (Draggable) windows
2023-09-12 22:09:38 +02:00
9ec4d1c971
wind: Create a local server object
2023-09-12 22:09:38 +02:00
12dedfc3f2
libos: Add a new LocalServer class for local domain sockets
2023-09-12 22:09:38 +02:00
487c04ba12
kernel: Support listening sockets in poll()
2023-09-12 22:09:38 +02:00
48b7e20023
base: Start wind on startup instead of the shell
2023-09-12 22:09:38 +02:00
f1533d4f9a
wind: Add a simple display server skeleton using libui
...
No client functionality yet, but it's a start.
2023-09-12 22:09:38 +02:00
fbd55d1c41
libui: Add a GUI and graphics library
2023-09-12 22:09:37 +02:00
3e896b0f62
kernel:Remove unused legacy variable from sys_mmap()
continuous-integration/drone/push Build is passing
2023-09-12 22:07:17 +02:00