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 |
Bananymous
|
28275d86ea
|
LibC/Shell: set PWD env in Shell, not libc
I have no idea why I was doing it in the libc
|
2025-04-19 21:16:11 +03:00 |
Bananymous
|
8cd2d772b0
|
Shell: Print error if `execv` fails
|
2025-04-19 00:39:42 +03:00 |
Bananymous
|
d73a270fb1
|
Shell: Save and restore stdin flags after child returns
If child makes stdin nonblocking, Shell now restores it back to "normal"
flags
|
2025-04-18 18:26:09 +03:00 |
Bananymous
|
d9647868cc
|
Terminal: Fix ANSI SGR color invert
|
2025-04-18 17:32:24 +03:00 |
Bananymous
|
4409d0f03f
|
Terminal: Implement ANSI CSI A, B, b, d, @
|
2025-04-17 23:16:22 +03:00 |
Bananymous
|
ebd00b1eb2
|
Terminal: Implement ANSI SGR 10, 39, 49
|
2025-04-17 23:15:44 +03:00 |
Bananymous
|
ac90800c3c
|
Kernel/LibC/DynamicLoader: Implement thread local storage
For some reason this does not work on 32 bit version, so it is disabled
on that platform. I'll have to look into it later to find the bug :)
|
2025-04-15 23:33:39 +03:00 |
Bananymous
|
254fd80088
|
DynamicLoader: Cleanup and prepare for TLS
|
2025-04-15 23:31:17 +03:00 |
Bananymous
|
36baf7b0af
|
Kernel/LibC/DynamicLoader: Update process start ABI
We now use SysV abi for process startup
|
2025-04-15 23:05:52 +03:00 |
Bananymous
|
e6026cb0b8
|
DynamicLoader: Handle circular dependencies
|
2025-04-15 23:05:52 +03:00 |
Bananymous
|
4f49d60e4a
|
DynamicLoader/LibC: lazy malloc environ
This allows DynamicLoader to just set the value of global environ symbol
without libc needing to malloc it at startup
|
2025-04-15 23:05:52 +03:00 |
Bananymous
|
7fedd94cc5
|
ln: Don't require link target to exist for symlinks
|
2025-01-28 17:46:36 +02:00 |
Bananymous
|
c6cd185cb5
|
DynamicLoader: Fix copy relocations
Weak symbols are now actually resolved to the same strong symbol between
shared objects and copy relocations now work!
|
2025-01-24 19:23:33 +02:00 |
Bananymous
|
6f8f99f42c
|
Terminal: Set terminal size with TIOCSWINSZ when starting
This actually fixes the very broken vim port
|
2024-12-21 03:23:21 +02:00 |
Bananymous
|
a7f3351c0e
|
TaskBar: Prevent possible division by zero
If battery reports its full capacity as zero, battery percentage
calculation did a division by zero crashing the TaskBar :)
|
2024-12-18 18:36:26 +02:00 |
Bananymous
|
0642c569b4
|
TaskBar: Show battery percentage if available
|
2024-12-18 14:06:32 +02:00 |
Bananymous
|
51b6329c86
|
Kernel: Make backspace \b and delete 0x7F
This is what `vim` seems to expect and imo makes way more sense.
|
2024-12-05 17:34:37 +02:00 |
Bananymous
|
cb7d5c9d09
|
userspace: Implement `dirname` utility
|
2024-12-05 08:30:30 +02:00 |
Bananymous
|
097ab82529
|
userspace: Implement `basename` utility
|
2024-12-05 08:30:06 +02:00 |
Bananymous
|
56cc5da9fb
|
userspace: Implement `ln` utility
|
2024-12-05 08:14:45 +02:00 |
Bananymous
|
3a465cb94f
|
DynamicLoader: Don't write to pltgot if it does not exist
This makes `tcc` compile runnable executables
|
2024-12-04 21:11:43 +02:00 |
Bananymous
|
0fab7ad63b
|
Kernel: Fix SYS_FCNTL command handling :)
I had misunderstood how these work
|
2024-12-03 16:12:26 +02:00 |
Bananymous
|
415b20f884
|
LibC: Remove errno EEXISTS
I don't know why I had added this. It doesn't seem to be a thing on
either POSIX or linux. This was literally equivalent to EXIST
|
2024-12-02 20:13:38 +02:00 |
Bananymous
|
ffcc4fd03a
|
init: Make tty owned by logged in user
|
2024-12-02 20:13:37 +02:00 |