Commit Graph

68 Commits

Author SHA1 Message Date
4087c7510e
libui: Fix wrong return type
All checks were successful
Build and test / build (push) Successful in 2m26s
2024-06-08 22:18:42 +02:00
280b0c90af
apps+editor+libui+terminal: Rework the layout system
Some checks failed
Build and test / build (push) Failing after 1m49s
2024-05-19 14:21:30 +02:00
0a46cfc80c
libui: Remove the server->client message "WindowCloseRequest"
Some checks are pending
Build and test / build (push) Waiting to run
This is no longer used as the client manages its own close buttons.
2024-05-01 18:19:34 +02:00
2f56a52489
libui: Add support for keyboard shortcuts natively 2024-04-15 19:33:32 +02:00
489d54c531 libui: Add a TextInput base class to handle most input fields and add an InputField class for single-line inputs 2024-04-15 17:06:04 +00:00
a863b17746
wind+libui: Ignore alpha bits in the window buffer 2024-03-31 13:38:39 +02: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
9bb66716a4
libui: Move WindowType from ipc/Server.h to Window.h as it is no longer used in IPC 2024-02-04 13:16: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
ca5b4de2d8
libui+apps: Change ui::App::init() to take the socket path directly instead of command-line arguments 2024-02-01 21:15:31 +01:00
cee677b1f7
libui: Make App::process_events() private
Previously this was public as some applications (mainly terminal) needed to run some code in-between events, but this is no longer needed, due to the EventLoop providing these services (timers and file descriptor notifiers)
2024-01-08 19:13:47 +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
37e046d766
libui: Make Label initialization step-by-step instead of setting everything in the constructor
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-11 22:56:14 +02:00
7812a4a44a
apps+libui: Make app.run() call window->draw() automatically
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-10 22:24:11 +02:00
0b2a835336
libui+libos: Move Action to libos 2023-10-07 15:31:50 +02:00
5892a6bf09
libos+libui: Add event loops
All checks were successful
continuous-integration/drone/push Build is passing
2023-10-06 22:06:34 +02:00
041d15a547
libui+taskbar: Make Buttons use Actions and clean up taskbar code 2023-09-27 18:52:17 +02:00
3d46e56386
libui: Add Margins to layouts 2023-09-27 18:51:54 +02:00
d4e834f734
libui: Add Actions
This allows components like Buttons to take in capturing lambdas
2023-09-27 18:51:38 +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
b370a99aa6
libui: Allow specifying the color of Labels, and use that in about 2023-09-20 19:45:19 +02:00
7631b81681
libui: Allow not filling the window with a background color every time 2023-09-20 07:06:00 +02:00
dd3359b09b
libui: Properly request redraws from the server
Before this, the call to update() was always skipped.
2023-09-20 07:06:00 +02:00
e2a1cb0d34
wind+libui: Add support for keyboard events 2023-09-20 07:05:59 +02:00
bb5d726fe8
libui: Add option to run event processing in a loop instead of in app.run() 2023-09-20 07:05:58 +02:00
08b56319c7
libui: Reduce redraw calls by doing them only when events are actually handled 2023-09-20 07:05:58 +02:00
4cf0fac16e
libui: Add a basic Label component 2023-09-20 07:05:58 +02:00
67eac983b5
libui: Clarify that Font is only used for low-level glyph rendering 2023-09-20 07:05:57 +02:00
2643f050eb
libui: Zero-initialize counter variables in Layout 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
17248e4ccc
libui: Add default handlers for events in Widget 2023-09-20 07:05:57 +02:00
5908b07ee2
libui: Propagate Container events only if they are in the child widget's rect 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
5bd2b3d81d
libui: Install the built library into the system root 2023-09-20 07:05:56 +02:00
7e7f0a96f5
wind+libos+libui: Handle interrupted reads properly 2023-09-20 07:05:55 +02:00
345cf5cae3
libui: Add Buttons 2023-09-20 07:05:55 +02:00
d6f63c0a5d
libui: Handle other mouse events 2023-09-20 07:05:55 +02:00
35c7011997
libui: Add aligned items using Containers, ImageWidget 2023-09-20 07:05:55 +02:00
f657ee9ba9
libui: Add VerticalLayout 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
4d068beaaf
libui: Actually fill window backgrounds with the correct color 2023-09-20 07:05:54 +02:00
819baa0cd5
libui: Add basic widget and layout system =D 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
820b1ae2ba
libui+gclient: Add basic OOP wrappers around the IPC protocol 2023-09-20 07:05:53 +02:00
0fb47d90a7
wind+gclient: Add SetWindowTitle and support shm buffers 2023-09-20 07:05:53 +02:00
1eb00eabfa
libui: Add CreateWindow IPC message definitions 2023-09-20 07:05:53 +02:00