Compare commits

..

37 Commits

Author SHA1 Message Date
64e6ee9489
wind: Use init --user and pledge()
Some checks failed
continuous-integration/drone/pr Build is failing
2023-08-14 11:07:19 +02:00
d56469441b
Update .gitignore 2023-08-14 10:56:55 +02:00
d896101268
libos: Remove some shared pointers and change them to owned/live on the stack
Some checks failed
continuous-integration/drone/pr Build is failing
2023-08-14 10:53:21 +02:00
ea25d823e5
wind: Spawn a new client process after startup
Also, create the socket after dropping privileges.
2023-08-14 10:53:21 +02:00
b278ae2dbc
apps: Add gclient 2023-08-14 10:53:21 +02:00
41bf27e510
libos: Add os::LocalClient 2023-08-14 10:53:20 +02:00
935aecb96f
libui: Change 'into' to 'onto' 2023-08-14 10:53:20 +02:00
3025eadc86
libui: Document ui::Font 2023-08-14 10:53:20 +02:00
4bc1530425
libui+wind: Move some static variables inside functions 2023-08-14 10:53:20 +02:00
40b0f8c6ec
wind: Generate random windows on keypresses 2023-08-14 10:53:20 +02:00
47c358555d
wind: Make sure windows have a minimum size to fit the titlebar 2023-08-14 10:53:19 +02:00
a411bb6594
libui: Properly cut off the last drawn character if necessary 2023-08-14 10:53:19 +02:00
2a06a12721
libui: Add Rect::contains(Rect) 2023-08-14 10:53:19 +02:00
cf6fd6ea29
libui: Render font characters properly with no spacing, matching the width calculations 2023-08-14 10:53:19 +02:00
0c2e9551ca
wind: Render an actual TGA mouse cursor 2023-08-14 10:53:19 +02:00
9fd5d0b874
wind: Add a close button to windows using a TGA icon 2023-08-14 10:53:18 +02:00
f8a5f24352
libui: Add support for TGA image loading 2023-08-14 10:53:18 +02:00
dbf014b351
libui: Add an interface to fill a Canvas with an array of pixels 2023-08-14 10:53:18 +02:00
0a630af250
wind: Add window titlebars using ui::Font 2023-08-14 10:53:18 +02:00
dbf9a6bad8
libui: Add PSF font loading and rendering 2023-08-14 10:53:18 +02:00
c3af9091b5
libui: Add Color::GRAY 2023-08-14 10:53:17 +02:00
9fa426eadf
libui: Rename Rect::absolute to normalized and add a new absolute function 2023-08-14 10:53:17 +02:00
7ddac3c36b
libluna: Add assignment operators to Buffer 2023-08-14 10:53:17 +02:00
9aad63474b
wind: Reorder drag sequence 2023-08-14 10:53:17 +02:00
fdc362d19c
libui: Add Rect::relative 2023-08-14 10:53:17 +02:00
6407ec76e0
libui: Remove redundant statement 2023-08-14 10:53:16 +02:00
8e36d25e8a
libui: Add getters for separate color values 2023-08-14 10:53:16 +02:00
a4b6e988b6
libui: Remove unnecessary stuff 2023-08-14 10:53:16 +02:00
442a188630
base: Remove startup items not necessary for GUI startup 2023-08-14 10:53:16 +02:00
871d8cce52
libui+wind: (Draggable) windows 2023-08-14 10:53:15 +02:00
6b32af81f7
wind: Create a local server object 2023-08-14 10:53:15 +02:00
dfe1697ae6
libos: Add a new LocalServer class for local domain sockets 2023-08-14 10:53:15 +02:00
ad0e8bad4a
kernel: Support listening sockets in poll() 2023-08-14 10:53:00 +02:00
987ebe3ef1
base: Start wind on startup instead of the shell 2023-08-14 10:52:59 +02:00
dd9f8afd5b
wind: Add a simple display server skeleton using libui
No client functionality yet, but it's a start.
2023-08-14 10:52:59 +02:00
4b277b38f0
libui: Add a GUI and graphics library 2023-08-14 10:52:59 +02:00
b4ae8bfaa1
kernel: Fix negative movement in the PS/2 mouse driver 2023-08-14 10:52:55 +02:00

View File

@ -339,7 +339,7 @@ Result<int> sysinit()
stdout = fopen("/dev/console", "w"); stdout = fopen("/dev/console", "w");
stderr = fopen("/dev/console", "w"); stderr = fopen("/dev/console", "w");
TRY(os::Security::pledge("stdio rpath wpath cpath fattr host mount proc exec signal id", nullptr)); TRY(os::Security::pledge("stdio rpath wpath cpath fattr host mount proc exec signal", nullptr));
mount_tmpfs(); mount_tmpfs();
mount_shmfs(); mount_shmfs();
@ -356,10 +356,12 @@ Result<int> sysinit()
if (signal(SIGTERM, sigterm_handler) == SIG_ERR) do_log("[init] failed to register handler for SIGTERM\n"); if (signal(SIGTERM, sigterm_handler) == SIG_ERR) do_log("[init] failed to register handler for SIGTERM\n");
if (signal(SIGQUIT, sigquit_handler) == SIG_ERR) do_log("[init] failed to register handler for SIGQUIT\n"); if (signal(SIGQUIT, sigquit_handler) == SIG_ERR) do_log("[init] failed to register handler for SIGQUIT\n");
TRY(os::Security::pledge("stdio rpath wpath cpath proc exec id", nullptr)); TRY(os::Security::pledge("stdio rpath wpath cpath proc exec", nullptr));
start_services("/etc/init"); start_services("/etc/init");
TRY(os::Security::pledge("stdio rpath wpath proc exec", nullptr));
while (1) while (1)
{ {
int status; int status;