Commit Graph

755 Commits

Author SHA1 Message Date
Bananymous aa0249fadb WindowServer: Support absolute position mouse 2025-07-19 18:01:23 +03:00
Bananymous 2c65590134 Kernel: Add support for absolute position mouse 2025-07-19 18:00:39 +03:00
Bananymous 11ae220dbe LibImage: Optimize image resizing algorithms 2025-07-18 18:20:37 +03:00
Bananymous 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
Bananymous 6b9dbf625d userspace: Add `audio` utility to play audio files 2025-07-15 16:12:03 +03:00
Bananymous 3aea2c007d Userspace: Add simple AudioServer and LibAudio 2025-07-15 16:12:03 +03:00
Bananymous 8a663cb94f Kernel: Implement basic AC97 driver 2025-07-15 14:17:49 +03:00
Bananymous 163fdcd582 LibC: Fix exec family function path resolution 2025-07-15 14:17:49 +03:00
Bananymous 8aff315c7b LibC: fflush file in setvbuf before updating the buffer 2025-07-02 01:54:03 +03:00
Bananymous 19897ffa26 userspace: Compile test utility :D 2025-06-28 22:40:00 +03:00
Bananymous 42a10b21c7 userspace: Implement true and false utilities 2025-06-28 22:39:19 +03:00
Bananymous 5df0e25c1f userspace: Implement chown utility 2025-06-28 21:32:59 +03:00
Bananymous 3e6a4f2b16 LibC: Add getgroups stub 2025-06-28 20:25:35 +03:00
Bananymous 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
Bananymous e4f025edd6 LibC: Implement deprecated bcmp, bcopy, bzero 2025-06-28 20:25:35 +03:00
Bananymous 96f3efbf86 LibC: Fix enviroment variable allocation 2025-06-28 20:25:35 +03:00
Bananymous 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
Bananymous 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
Bananymous f26a445ce6 LibC: Make malloc actually allign to s_malloc_default_align boundary 2025-06-28 16:55:13 +03:00
Bananymous 850b3284ac Terminal: Fix screen clearing when scrolling 2025-06-28 16:55:13 +03:00
Bananymous d68c88c3f9 LibC: Implement rewinddir 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 fb09aa4d06 LibInput: Correctly resize keyboard layout maps 0xFF->0x100 2025-06-28 16:55:13 +03:00
Bananymous 4d080b30ab LibInput: Pass raw scancode in KeyEvent 2025-06-28 16:55:13 +03:00
Bananymous 2d314e72fe LibGUI: Implement basic message box 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 7aa24b6157 LibGUI: Implement serialization for BAN::Vector 2025-06-28 16:55:13 +03:00
Bananymous d73a667437 LibGUI: Implement very bad widget system :D 2025-06-28 16:55:13 +03:00
Bananymous 7bf7bfbe13 Texture: Add invisible color when copying textures
This should probably support proper alpha blending but I'm lazy :)
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 bc06926702 LibC: Implement gethostbyaddr 2025-06-28 16:55:13 +03:00
Bananymous 9de27110e2 LibC: Add alloca.h 2025-06-28 16:55:13 +03:00
Bananymous 93e5d09a63 Kernel/LibC: Implement flock 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 85f200bd86 LibC: Add sched_get_priority_{min,max}
I don't support priority scheduling so these are just no-ops
2025-06-28 16:55:13 +03:00
Bananymous 0f2c02fb04 LibC: Add stubs for pthread_{get,set}schedparam 2025-06-28 16:55:13 +03:00
Bananymous 4677d7a1c6 LibC: Update RAND_MAX INT32_MAX -> INT_MAX 2025-06-19 19:06:24 +03:00
Bananymous 15e84f28ed LibC: Include strings.h in string.h 2025-06-19 19:01:45 +03:00
Bananymous 87f348b48e LibC: Fix my ugly and hacked posix_memalign 2025-06-18 14:17:17 +03:00
Bananymous ff289b25b6 LibC: Implement {,v}asprintf
These were added in POSIX issue 8
2025-06-17 13:56:30 +03:00
Bananymous a9f58e96d2 LibC: Add endian.h
This is part of POSIX issue 2024 and some software depends on it
2025-06-17 13:15:42 +03:00
Bananymous 7651ca747d LibC: Allow searching null char with wcschr 2025-06-16 15:09:55 +03:00
Bananymous 7ff7a4aa87 LibC: Fix locale handling in wcrtomb and mbrtowc 2025-06-16 15:09:39 +03:00
Bananymous cdcd226b1a LibC: Fix mbstowcs and add wcstombs 2025-06-16 15:08:49 +03:00
Bananymous f9451915b9 LibC: Use `pause` in pthread spinlock locking 2025-06-16 15:07:58 +03:00