Commit Graph

2268 Commits

Author SHA1 Message Date
441e04076a
kernel: Do not allow sending signals to dying threads
This was causing a kernel panic when closing the terminal by directly exiting the shell (either EOF or the exit command)
2023-09-22 22:40:24 +02:00
36fad85396
kernel+init+preinit+wind: Remove the kernel TTY and support only userspace terminals
All checks were successful
continuous-integration/drone/push Build is passing
Still allow printing text to the console, but without text input or ANSI escape fancy stuff.
2023-09-21 19:31:54 +02:00
b52f96ab64
kernel: Schedule cache clears only on certain checkpoints
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-21 19:14:13 +02:00
14f0c93175
kernel: Allow mapping the framebuffer even if its size is not page-aligned
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 22:41:48 +02:00
b4a9ea3857
terminal: Avoid doing too many redraws + support non-canonical mode
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 22:01:26 +02:00
9636b5d8da
Update README.md
All checks were successful
continuous-integration/drone/push Build is passing
2023-09-20 21:07:37 +02:00
36bd556406
all: Bump release version to 0.6.0 and start calling it "Andromeda"
All checks were successful
continuous-integration/drone/push Build is passing
I changed my mind, some alpha releases can have unique names now.
2023-09-20 20:56:59 +02:00
b09226b8ba
gol: Use the windowing system
All checks were successful
continuous-integration/drone/pr Build is passing
continuous-integration/drone/push Build is passing
2023-09-20 20:17:11 +02:00
52b04bd33b
kernel: Increase the OOM threshold to 4 MiB free
All checks were successful
continuous-integration/drone/pr Build is passing
2023-09-20 19:58:26 +02:00
b42497e05e
kernel: Start clearing caches when free memory is lower than 1MiB
All checks were successful
continuous-integration/drone/pr Build is passing
This is done to avoid returning ENOMEM errors when cache memory can still be reclaimed.
2023-09-20 19:49:13 +02:00
b370a99aa6
libui: Allow specifying the color of Labels, and use that in about 2023-09-20 19:45:19 +02:00
9fd4fc7e91
wind+taskbar: Improve the dark color scheme 2023-09-20 19:45:01 +02:00
bc14b01bf8
terminal: Fix certain keys being incorrectly inputted 2023-09-20 19:43:53 +02:00
0cb21c2e90
terminal: Send signals on ^C and ^\
Some checks failed
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