Bananymous
850b3284ac
Terminal: Fix screen clearing when scrolling
2025-06-28 16:55:13 +03:00
Bananymous
5f07d53034
WindowServer: Send mod key to clients
...
Also roll back accidental mod key update from super->alt
2025-06-28 16:55:13 +03:00
Bananymous
cf07b747fe
LibGUI/WindowServer: Implement per-window custom cursors
2025-06-28 16:55:13 +03:00
Bananymous
273e9bbc92
LibGUI/WindowServer: Implement per-window cursor hiding
2025-06-28 16:55:13 +03:00
Bananymous
7dcf1797e9
WindowServer: Cleanup packet callback calling
2025-06-28 16:55:13 +03:00
Bananymous
397219c22e
LibC: Implement very hacky dlopen/dlsym/dclose
...
If ELF loading fails, this will just crash the program :D
And there is no support for RTLD_LOCAL
2025-06-28 16:55:13 +03:00
Bananymous
4fa40de557
WindowServer: Fix crash when moving mouse out of bounds
2025-06-28 16:55:13 +03:00
Bananymous
0cbc39698c
WindowServer: Ignore SIGPIPE so we don't crash unexpectedly
2025-06-28 16:55:13 +03:00
Bananymous
83069e433f
LibGUI/WindowServer: Implement window showing/hiding
2025-06-28 16:55:13 +03:00
Bananymous
bbb490b24f
LibGUI: Implement set_max_size
...
I already support set_min_size so why not this :)
2025-06-28 16:55:13 +03:00
Bananymous
4a00cb7d55
DynamicLoader: Add few more TLS relocations
2025-06-16 15:06:48 +03:00
Bananymous
ac22e006a4
Shell: Don't get stuck on broken state when failing to build command
2025-06-10 11:03:02 +03:00
Bananymous
30d5d85d1d
userspace: Add `test` utility
2025-06-08 23:56:39 +03:00
Bananymous
8ea0a67280
Terminal: Add support for tabs
2025-06-06 16:41:06 +03:00
Bananymous
5ad7d7edb1
DynamicLoader: Fix TLS on 32 bit platform
...
There were two problems with my previous implementation
- TLS was not allocated if nothing used it. There is a fallback
initialization in _init_libc, but this was not enough if one of the
init functions tried to access errno.
- __tls_get_addr was not resolved. If __tls_get_addr was called through
a plt entry, everything would just break :(
2025-06-06 16:27:07 +03:00
Bananymous
cfeabc4580
Kernel/Terminal: Fix ANSI SGR 8 bit color parsing
2025-06-05 20:43:57 +03:00
Bananymous
49f203d61d
Terminal: Add ANSI CSI P and ANSI SGR 22
2025-06-05 02:41:48 +03:00
Bananymous
a912a4dc67
LibGUI: Remove fill_color from texture copy API
...
Nothing was using this and it just overcomplicated everything
2025-06-05 02:40:51 +03:00
Bananymous
8de19aff3c
Kernel/Terminal: Fix 24 bit ANSI SGR color parsing
2025-06-05 02:38:07 +03:00
Bananymous
775c77c0fa
Shell: Get default backspace key from c_cc[VERASE]
2025-06-02 15:55:20 +03:00
Bananymous
e473118ec8
userspace: Add nologin "shell"
2025-06-02 12:26:16 +03:00
Bananymous
fdcb38ac1f
Shell: Accept '\r' as enter
...
This happens with some terminals and i don't want to bother with fixing
my termios :D
2025-06-02 11:42:06 +03:00
Bananymous
e9f8471a28
BAN: Return UTF::invalid from byte_length instead of 0
2025-06-02 11:39:18 +03:00
Bananymous
1c882ea361
DynamicLoader: Don't print TODOs on PT_GNU_ headers
...
These should be either handled by kernel or just used as optimizations.
There is no requirement to handle them in dynamic loader
2025-06-01 13:48:03 +03:00
Bananymous
37dea8aee7
userspace: Implement basic `less` program
...
This is very simple and only supports couple of flags and scrolling
2025-05-29 01:00:28 +03:00
Bananymous
e7f0cd0c4b
stat: Fix return value when one of stats fails
2025-05-13 10:19:13 +03:00
Bananymous
a8844ddd28
WindowServer: Send mouse release to same window as mouse press
2025-05-13 10:16:21 +03:00
Bananymous
40617f0d5c
WindowServer: Make mod+d open program launcher
2025-05-06 00:42:15 +03:00
Bananymous
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
Bananymous
57f6f50939
Terminal: Implement dumb font bolding
...
This is just drawing character twice at one pixel offset
2025-05-05 23:09:53 +03:00
Bananymous
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
Bananymous
eb79c6c47c
mkdir: Add -p option
2025-05-05 19:16:29 +03:00
Bananymous
bf1cbb4cde
Terminal: Update terminal size and send SIGWINCH on resize
2025-05-05 19:09:21 +03:00
Bananymous
0689954433
Terminal: Set minimum size to 8x2 cells
2025-05-05 18:20:22 +03:00
Bananymous
5c37f198cb
WindowServer/LibGUI: Allow windows to set minimum size
2025-05-05 18:19:59 +03:00
Bananymous
3b02a9d4fe
WindowServer: Resize from closest corner
2025-05-05 18:19:19 +03:00
Bananymous
c9057aa498
WindowServer: Cleanup code and resize on fullscreen
2025-05-05 16:42:15 +03:00
Bananymous
2b0d198b05
Terminal: Allow resizing of the terminal
2025-05-05 03:15:30 +03:00
Bananymous
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
Bananymous
76d4e6bd18
LibGUI: Add support for changing window title
2025-05-05 01:10:05 +03:00
Bananymous
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
Bananymous
73f9de6635
Terminal: Add support for ANSI SGR 8bit and 24bit
2025-04-23 22:03:53 +03:00
Bananymous
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
Bananymous
28bf2d6374
Kernel/Terminal: Add support for ANSI DSR
2025-04-23 06:14:56 +03:00
Bananymous
8a00b53050
Kernel/Terminal: Fix ANSI SGR m for multiple values
2025-04-23 05:29:22 +03:00
Bananymous
33a0f562d3
resolver: Add support for CNAME
...
Also rework resolver's send format and convert test-tcp and nslookup to
use getaddrinfo
2025-04-22 08:36:44 +03:00
Bananymous
34e680d792
ports/ncurses: Set some needed environment variables
...
ncurses depends on these being set to function properly
2025-04-22 01:56:34 +03:00
Bananymous
f467a9a309
resolver: Resolve hostname to loopback address
...
We don't currently support loopback adapters, but some ports were trying
to resolve it.
2025-04-22 00:48:26 +03:00
Bananymous
2cbfe70a28
DynamicLoader: Don't leak fds
2025-04-20 18:18:32 +03:00
Bananymous
7edfae8583
Shell: Cleanup `export` builtin
2025-04-19 21:23:26 +03:00