3040940e35
ports/tcc: Fix 32 bit build and add version name
...
tcc was using "Linux" for machine name in version string if it was not
explicitly specified.
2025-05-07 18:33:39 +03:00
df3d2d57c3
ports/quake2: Update to new LibGUI interface
2025-05-07 17:23:15 +03:00
92d26f2216
ports/doom: Update to new LibGUI interface
2025-05-07 17:21:29 +03:00
0380c68f89
ports/tinygb: Update to new LibGUI interface
2025-05-07 17:21:29 +03:00
2a6dc6a7b7
LibGUI: Add missing Texture files
2025-05-07 17:21:29 +03:00
40617f0d5c
WindowServer: Make mod+d open program launcher
2025-05-06 00:42:15 +03:00
09745a7835
userspace: Implement program launcher
...
This is kinda useless as I only have Terminal and test-window
implemented. Also the code is really messy as I don't have GUI widgets.
2025-05-06 00:41:22 +03:00
57f6f50939
Terminal: Implement dumb font bolding
...
This is just drawing character twice at one pixel offset
2025-05-05 23:09:53 +03:00
f959905adf
LibGUI: Rework window rendering
...
Abstract drawing surface to Texture. All windows now contain a texture
matching its size.
2025-05-05 23:08:01 +03:00
f78c7e7926
LibGUI: Add API to block until window events are available
2025-05-05 22:33:00 +03:00
96496da0ab
Kernel: Allow USB mouse to send extra2 button events
2025-05-05 22:32:26 +03:00
2dc4733ac1
test: improve pthread test
2025-05-05 19:21:47 +03:00
f14774d034
libc: fix tmpnam when no name is found
2025-05-05 19:17:16 +03:00
c08c63f420
libc: reorder destructor and fflush in exit
2025-05-05 19:16:52 +03:00
eb79c6c47c
mkdir: Add -p option
2025-05-05 19:16:29 +03:00
bf1cbb4cde
Terminal: Update terminal size and send SIGWINCH on resize
2025-05-05 19:09:21 +03:00
592675022e
Kernel: Allow tcgetpgrp on pseudo terminal masters
2025-05-05 19:09:01 +03:00
b2e10d7e6e
Kernel: Remove unnecessary locks
2025-05-05 19:08:57 +03:00
0689954433
Terminal: Set minimum size to 8x2 cells
2025-05-05 18:20:22 +03:00
5c37f198cb
WindowServer/LibGUI: Allow windows to set minimum size
2025-05-05 18:19:59 +03:00
3b02a9d4fe
WindowServer: Resize from closest corner
2025-05-05 18:19:19 +03:00
c9057aa498
WindowServer: Cleanup code and resize on fullscreen
2025-05-05 16:42:15 +03:00
2b0d198b05
Terminal: Allow resizing of the terminal
2025-05-05 03:15:30 +03:00
7798145c74
WindowServer: Implement window resizing
...
windows can now set resizable attribute which allows window server to
resize them
2025-05-05 03:14:50 +03:00
fcfadd7c74
LibGUI: Add background color for windows
...
This is used when resizing a window to fill the empty space
2025-05-05 03:12:31 +03:00
c0181820a9
ports/tinygb: Set title like sdl frontend does
2025-05-05 01:10:41 +03:00
76d4e6bd18
LibGUI: Add support for changing window title
2025-05-05 01:10:05 +03:00
ccb81de85d
snake: Use box drawing characters
...
This makes it look much better.
Also fix bug with apples generating on top of snake's tail
2025-05-05 00:30:58 +03:00
82f4975f45
LibC: Save callee saved registers on setjmp
2025-05-04 13:54:35 +03:00
d457e6ad6a
LibC: Fix printf e/E modifier for negative exponents
2025-05-04 13:42:17 +03:00
abf7c8e68a
LibC: Implement difftime
2025-05-04 13:42:17 +03:00
1a38d0c31e
LibC: Add g/G modifiers to printf
2025-05-04 13:42:17 +03:00
9ff9d679e9
Kernel: Fix text mode cursor
...
Apparently text mode renders cursor in the *foreground* color. My
current clear function used the same color for foreground and background
making the cursor effectively invisible.
Also cursor hiding is now done by moving the cursor off bounds (0, height)
some website I read said this to be valid even on VGA compatible cards
without disable bit.
http://www.osdever.net/FreeVGA/vga/textcur.htm
2025-04-25 02:31:33 +03:00
9f3f8f950a
Kernel: Add better panic message for failed shutdown
...
ACPI shutdown does not work on the web emulator and running `poweroff`
crashes on `ASSERT_NOT_REACHED()`.
2025-04-25 01:52:33 +03:00
006a196e4a
LibC: optimize strpbrk, str{,c}spn, strtok{,_r}
...
These matches are now detected with bitmasks instead of looping over the
second string
2025-04-24 01:39:49 +03:00
418678466c
Kernel: Fix text mode palette
...
ANSI and text mode color indices are not in the same order
2025-04-23 23:07:47 +03:00
9f4cb5c4dd
Kernel: Make pseudo terminals not overwrite old data
...
If pseudo terminal buffer was filled, old implementation would overwrite
old data. This is bad if producer is capable of producing more data than
consumer can handle.
2025-04-23 22:03:53 +03:00
73f9de6635
Terminal: Add support for ANSI SGR 8bit and 24bit
2025-04-23 22:03:53 +03:00
12b9c82086
Terminal: Don't wrap cursor right after x == cols
...
This prevents scrolling when bottom right scroll is written to
2025-04-23 22:03:53 +03:00
a8edb8870e
Kernel: Add support for 8bit and 24bit ANSI SGR
2025-04-23 22:03:53 +03:00
dabc3c6cc4
Kernel: Don't wrap cursor immediatly at cols()
...
This prevents unwanted scrolling when writing to bottom right cell
2025-04-23 22:03:53 +03:00
cc7c1ad30d
Kernel: Add per terminal palette for TerminalDriver
...
This allows better color approximation on text mode and in future will
allow user to possibly change the palette
2025-04-23 18:44:37 +03:00
4d840a8d9a
BAN: Make Array more constexpr
2025-04-23 18:40:20 +03:00
95a80bfe81
ports: Add tinygb port
...
This is awesome!
2025-04-23 13:19:28 +03:00
53e9eab0cd
ports/tcc: Fix building on 32 bit
2025-04-23 08:43:27 +03:00
35b3c3c98c
Kernel: Fix scheduler load balancing
...
I was not updating the current queue of the thread which lead to blocked
threads think they were in run queue
2025-04-23 08:09:51 +03:00
20e17a28cf
Kernel: Fix \b handling
...
Don't clear the character, only move cursor backwards
2025-04-23 06:33:11 +03:00
28bf2d6374
Kernel/Terminal: Add support for ANSI DSR
2025-04-23 06:14:56 +03:00
8a00b53050
Kernel/Terminal: Fix ANSI SGR m for multiple values
2025-04-23 05:29:22 +03:00
8834241417
LibC: Fix scanf %n modifier
...
Old code was always returning off by one
2025-04-22 09:55:38 +03:00