db20801521
Shell: Add exec builtin
2025-11-17 05:26:07 +02:00
160a9278c9
LibC: Fix RTLD_* definitions
2025-11-17 05:26:07 +02:00
9803209ba1
WindowServer: Make clients nonblock
...
Also dont allow freezed windows to "steal" focus and lock up the window
server :D
2025-11-17 05:26:07 +02:00
46f9a9053f
DynamicLoader: Use canonical path for the main executable
2025-11-13 04:20:53 +02:00
89c0ff1a9d
Kernel/LibC: Replace SYS_{GET,SET}_TLS with SYS_{SET,GET}_{FS,GS}BASE
...
This allows userspace to use both registers
2025-11-13 04:20:53 +02:00
7a68ce7e94
DynamicLoader: Fix testing for possible base address
...
Replace MAP_FIXED with MAP_FIXED_NOREPLACE and only attempt to map
program headers with PT_LOAD
2025-11-13 04:20:53 +02:00
c6ef4b5840
userspace: Implement kill utility
2025-11-04 19:19:46 +02:00
acd792d8b4
userspace: Implement pwd utility
2025-11-04 18:46:13 +02:00
fc730679ed
userspace: Implement uname utility
2025-11-04 18:45:20 +02:00
e05a735589
DynamicLoader: Honour STB_LOCAL binding
2025-11-02 22:47:02 +02:00
0be18c4a53
DynamicLoader: Make everything thread safe
...
This is kinda dumb implementation, but it works. We grap a global lock
on functions :)
2025-11-02 22:47:02 +02:00
b822d42889
LibC: Define ESHUTDOWN
...
This is not used but some ports expect it to exist
2025-11-02 21:09:48 +02:00
37aef630d2
BAN: Fix Array and Vector span constness
2025-10-28 05:50:19 +02:00
f15f88ebd6
TaskBar: Don't leak fds when reading battery info
2025-08-28 15:57:10 +03:00
f11bb082e4
WindowServer/LibGUI: Add window focus events
2025-08-21 03:11:16 +03:00
8c9ab2d68c
WindowServer: Fix crash when window closes while being "button window"
2025-08-19 16:23:30 +03:00
8496726ab1
Terminal: Ignore some control characters
2025-08-19 16:23:30 +03:00
0f52f49188
Terminal: Remove unused code
2025-08-19 16:23:30 +03:00
b334259a07
AudioServer: Don't allow client to fully halt audio
2025-08-19 16:23:30 +03:00
ca9361abc1
DynamicLoader: Add support for dladdr
2025-08-19 16:23:30 +03:00
e5786fe435
init: Start AudioServer on boot
2025-08-11 14:07:37 +03:00
af0bca74e4
Kernel/LibC: Implement {get,set,init}groups
...
This allows dropping /etc/group parsing from the kernel :D
2025-08-10 19:57:31 +03:00
92e962430b
LibC: Make sockaddr and sockaddr_in compatible with other systems
...
sockaddr:
make sa_data is 14 bytes on all systems
sockaddr_in:
add sin_zero
2025-08-10 19:57:31 +03:00
7a5cfe1728
LibAudio/AudioServer: Add support for playing real time audio
2025-08-07 16:43:05 +03:00
66d3a1d025
ls: Output in columns
2025-08-07 02:50:24 +03:00
45ad6082bc
DynamicLoader: Support dlopen(NULL, ...)
2025-08-05 03:09:24 +03:00
82b351469b
DynamicLoader: Setup thread id when initializing TLS
...
This allows pre-libc code use pthread functions
(__cxa_guard_release calls pthread_cond_broadcast)
2025-08-05 03:09:24 +03:00
ea91bdcce7
WindowServer: Make relative mouse no-op with absolute mouse
2025-08-05 03:09:24 +03:00
af0a46e79c
LibGUI/WindowServer: Rename mouse capture -> mouse relative
...
My terminology was incorrect and this is more correct
2025-08-05 03:09:24 +03:00
4519c48284
WindowServer: Fix custom cursors
...
Custom cursor is now only set if the cursor is in the client area
instead of anyehere in the window. This makes hidden cursor visible
when it is on top of the title bar!
2025-08-05 03:09:24 +03:00
8ea32c7650
WindowServer: Fix relative mouse vertical flip
2025-08-05 03:09:24 +03:00
7831c74e8c
DynamicLoader: Add support for LD_LIBRARY_PATH
...
Also fix a bug with dlopen with TLS
2025-07-31 22:47:29 +03:00
c1978f9133
Shell: Implement redirections
...
This works well enough. At the moment redirections can appear anywhere
in the command **after** environment variables and possible alias
command. This means commands like `>foo echo hello` are not supported.
I don't think this is big enough problem for now (99% time redirections
are given after arguments) that i would rewrite the environment and
alias parsing.
2025-07-22 16:54:06 +03:00
1e65f02ff7
Terminal: Handle bell and warn on unimplemented control characters
2025-07-21 14:28:09 +03:00
aa0249fadb
WindowServer: Support absolute position mouse
2025-07-19 18:01:23 +03:00
22542a3a71
BuildSystem: Enable sse and sse2 for all programs and libraries
...
This is default on x86_64 but not on the 32 bit target. banan-os
already requires the CPU to support SSE even on 32 bit platforms.
2025-07-18 18:20:37 +03:00
6b9dbf625d
userspace: Add audio utility to play audio files
2025-07-15 16:12:03 +03:00
3aea2c007d
Userspace: Add simple AudioServer and LibAudio
2025-07-15 16:12:03 +03:00
19897ffa26
userspace: Compile test utility :D
2025-06-28 22:40:00 +03:00
42a10b21c7
userspace: Implement true and false utilities
2025-06-28 22:39:19 +03:00
5df0e25c1f
userspace: Implement chown utility
2025-06-28 21:32:59 +03:00
c7c3dd7662
init/ports: Fix environment variables in init/ncurses
...
init no longer sets NCURSES_NO_UTF8_ACS
ncurses no longer sets TERM
2025-06-28 20:25:35 +03:00
e8491b34b8
Kernel/LibC: Rework TIOC{G,S}WINSZ more linux like
...
Userspace can freely set terminal size, kernel just updates it when for
example new font is loaded. Also SIGWINCH is now sent by kernel instead
of userspace.
2025-06-28 19:40:54 +03:00
521457eb92
DynamicLoader: Add support for calling destructors
...
After all libraries are initialized, their destructors are registered
using atexit
2025-06-28 16:55:13 +03:00
850b3284ac
Terminal: Fix screen clearing when scrolling
2025-06-28 16:55:13 +03:00
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
cf07b747fe
LibGUI/WindowServer: Implement per-window custom cursors
2025-06-28 16:55:13 +03:00
273e9bbc92
LibGUI/WindowServer: Implement per-window cursor hiding
2025-06-28 16:55:13 +03:00
7dcf1797e9
WindowServer: Cleanup packet callback calling
2025-06-28 16:55:13 +03:00
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