0cb21c2e90
terminal: Send signals on ^C and ^\
continuous-integration/drone/pr Build is failing
2023-09-20 07:06:01 +02:00
3540033dd3
wind: Translate Ctrl-key presses correctly
2023-09-20 07:06:01 +02:00
c5227d585c
kernel: Allow sending signals to process groups from userspace
2023-09-20 07:06:01 +02:00
d93e9f6b4b
kernel: Fix sending signals to threads that are in a long syscall
2023-09-20 07:06:00 +02:00
7631b81681
libui: Allow not filling the window with a background color every time
2023-09-20 07:06:00 +02:00
7f23931028
terminal: Draw directly onto the window canvas
2023-09-20 07:06:00 +02:00
945dc6c732
terminal: Add cursor support
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
9b1e19ef72
terminal: Use pseudoterminals and add keyboard support
2023-09-20 07:06:00 +02:00
75ea81bfbc
libc: Add pseudoterminal-related functions
2023-09-20 07:06:00 +02:00
29a341d8f3
init: Mount /dev/pts on startup
2023-09-20 07:05:59 +02:00
a93626fc41
kernel: Add pseudoterminals and a /dev/pts filesystem
2023-09-20 07:05:59 +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
1b633212f6
apps: Remove gclient
2023-09-20 07:05:59 +02:00
5a49e97483
taskbar: Add a button to open terminal instead of gclient
2023-09-20 07:05:59 +02:00
a4b5e68e1b
kernel: Allow performing extra actions when opening an inode
2023-09-20 07:05:58 +02:00
835c39bc47
apps: Add basic terminal app
2023-09-20 07:05:58 +02:00
0e8183d2bb
shell: Allow running as interactive even if not running in a TTY
2023-09-20 07:05:58 +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
a5790d0fb1
apps: Add about
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
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
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
5385b1c337
wind: Stop using the removed 'signal' pledge
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
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
d43d06604d
taskbar: Wait for terminated child windows
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
8c4e9dff96
base: Actually add the start icon to source control
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
0127068177
gclient: Create two example windows
2023-09-20 07:05:53 +02:00
d3dd257dc1
wind: Handle CreateWindow IPC messages
2023-09-20 07:05:53 +02:00
1eb00eabfa
libui: Add CreateWindow IPC message definitions
2023-09-20 07:05:53 +02:00
9125561cab
libos: Add basic IPC message framework
2023-09-20 07:05:53 +02:00
3d90d7f98e
kernel: Fix poll syscall
2023-09-20 07:05:52 +02:00
e931d11ae1
wind: Monitor data on client connections
2023-09-20 07:05:52 +02:00
6a35cad8d5
kernel: Add POLLHUP and store it when a polled socket's peer disconnects
2023-09-20 07:05:52 +02:00
5e6ce50c70
libui: Add copyright/author text
2023-09-20 07:05:52 +02:00
02b9dc579b
libos: Add copyright/author comments to LocalServer and LocalClient
2023-09-20 07:05:52 +02:00
774177ba1f
wind: Use init --user and pledge()
2023-09-20 07:05:52 +02:00
7d883fe33b
Update .gitignore
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
60c3bcb3a9
apps: Add gclient
2023-09-20 07:05:51 +02:00
03096680ae
libos: Add os::LocalClient
2023-09-20 07:05:51 +02:00
639eb30c7b
libui: Change 'into' to 'onto'
2023-09-20 07:05:51 +02:00
0bb96985bf
libui: Document ui::Font
2023-09-20 07:05:51 +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
98aaf1f7ff
libui: Properly cut off the last drawn character if necessary
2023-09-20 07:05:51 +02:00
c0ada40e2c
libui: Add Rect::contains(Rect)
2023-09-20 07:05:50 +02:00
35d2bd6931
libui: Render font characters properly with no spacing, matching the width calculations
2023-09-20 07:05:50 +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
dc91d047de
libui: Add support for TGA image loading
2023-09-20 07:05:50 +02:00
916b19825d
libui: Add an interface to fill a Canvas with an array of pixels
2023-09-20 07:05:50 +02:00
f6ef79e759
wind: Add window titlebars using ui::Font
2023-09-20 07:05:50 +02:00
23f7210a87
libui: Add PSF font loading and rendering
2023-09-20 07:05:50 +02:00
c6c32f34f2
libui: Add Color::GRAY
2023-09-20 07:05:50 +02:00
16fa55899e
libui: Rename Rect::absolute to normalized and add a new absolute function
2023-09-20 07:05:50 +02:00
7ab0c6b72b
libluna: Add assignment operators to Buffer
2023-09-20 07:05:49 +02:00
277953065a
wind: Reorder drag sequence
2023-09-20 07:05:49 +02:00
2b3e9b778a
libui: Add Rect::relative
2023-09-20 07:05:49 +02:00
7441e396b3
libui: Remove redundant statement
2023-09-20 07:05:49 +02:00
07dc7064f8
libui: Add getters for separate color values
2023-09-20 07:05:49 +02:00
01da7be57c
libui: Remove unnecessary stuff
2023-09-20 07:05:49 +02:00
b6c85595be
base: Remove startup items not necessary for GUI startup
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
b6fe96e364
libos: Add a new LocalServer class for local domain sockets
2023-09-20 07:05:49 +02:00
15192837c0
kernel: Support listening sockets in poll()
2023-09-20 07:05:48 +02:00
5b89fccb6a
base: Start wind on startup instead of the shell
2023-09-20 07:05:48 +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
9df88bac3e
libui: Add a GUI and graphics library
2023-09-20 07:05:48 +02:00
4af337e92d
kernel: Improve the mutex system
continuous-integration/drone/push Build is running
2023-09-20 07:05:33 +02:00