Bananymous
0242a4f968
DynamicLoader: Fix master and initial TLS setup
2026-07-20 04:07:23 +03:00
Bananymous
3148c28c3d
userspace: Add basic find utility
...
This is mostly working but is missing -exec and -ok support. It can
search files though :^)
2026-07-08 21:48:14 +03:00
Bananymous
fa89645542
userspace: Implement simple sort utility
...
This supports most(?) options except for the separate fields. Should
work for simple use cases
Also merge is currently just a wrapper around sort so its not optimized
:D
2026-07-08 21:48:14 +03:00
Bananymous
2e9f7077c9
TaskBar: Fix division by zero error
...
If a CPU does not have updated stats to show, just display ??.??%
2026-07-07 17:50:00 +03:00
Bananymous
e352bfbb23
mkdir: Don't fail the target exists and -p was given
2026-07-07 16:59:20 +03:00
Bananymous
ea4e016b1e
DynamicLoader: Fix TLS memory initialization
...
I was reading the TLS data before performing relocations so any TLS
variables pointing to relocated objects would not get the correct data
2026-07-05 13:53:20 +03:00
Bananymous
879783052d
Terminal: Use gnu <start> ... <end> syntax in switch cases
2026-07-04 19:17:41 +03:00
Bananymous
a41a3eeb66
LibGUI: Add query keymap request
2026-07-04 19:12:56 +03:00
Bananymous
5256fd2e0a
LibInput: Add support for right super and application keys
2026-07-04 19:11:30 +03:00
Bananymous
b2169cbce6
WindowServer: Fix fd closing
...
Don't close fds in Window destructor :P
2026-07-04 07:33:41 +03:00
Bananymous
13bf1ba647
mkdir: Cleanup code and add better argument parsing
2026-07-02 22:54:45 +03:00
Bananymous
b19b7f064a
LibC: Make pthread_t pointer to uthread instead of a thread id
...
This will allow getting info about other threads in userspace!
2026-07-02 20:02:24 +03:00
Bananymous
f449ca8161
Kenrel: Separate pthread API from kernel API
...
It didn't really make sense for the syscalls to be named as the pthread
equivalents. Now the kernel just uses thread ids
2026-07-02 20:02:24 +03:00
Bananymous
924576cf0d
WindowServer: Fix invalidation for fullscreen windows
2026-06-30 20:14:37 +03:00
Bananymous
32c10f7db2
Userspace: Add very simple top program
...
This is very bare bones but does show what programs use most cpu and
memory
2026-06-30 20:14:37 +03:00
Bananymous
689494db63
LibGUI/WindowServer: Allow querying global cursor position
2026-06-23 23:31:17 +03:00
Bananymous
763a742f6d
WindowServer: Fix client fd leaks
2026-06-23 21:08:57 +03:00
Bananymous
4ad586552d
LibGUI/WindowServer: Send window move events
2026-06-23 20:52:12 +03:00
Bananymous
8bc93069be
Terminal: Fix foreground and background colors when inverted
...
I was not checking for inverted colors in a lot of places :P
2026-06-23 20:16:25 +03:00
Bananymous
c79e412215
resolver: Fix UB and resolve localhost
2026-05-25 03:19:20 +03:00
Bananymous
d5ee98708b
TaskBar: Show CPU load in task bar!
2026-05-20 19:14:21 +03:00
DcraftBg and Bananymous
77796dd317
driver-install: implemented a simple installer
2026-05-20 17:52:19 +03:00
Bananymous
e9d6431728
DynamicLoader: Fix dynamic TLS init order
2026-05-20 05:03:20 +03:00
Bananymous
aa8be130f9
DynamicLoader: Cleanup lazy PLT relocations
2026-05-20 05:02:48 +03:00
Bananymous
d52ad29afa
Kernel: Add missing tr cmake file
2026-05-19 13:57:56 +03:00
Bananymous
ff75c15ba3
LibC: Move pthread keys to TCB
...
This removes all TLS relocations from libc which may become handy ;)
2026-05-17 00:29:20 +03:00
Bananymous
9c3eb8d270
userspace: Implement tr utility
2026-05-17 00:29:20 +03:00
Bananymous
68479bf07e
userspace: Fix getopt_long usage
...
- Add missing null entry after the last long option
- Don't duplicate illegal option message, getopt already prints
the message as I do not suppress it. Also handle missing arguments.
2026-05-17 00:29:20 +03:00
Bananymous
dc1d7e3fae
ls: Print total field with -l
2026-05-15 22:46:50 +03:00
Bananymous
8f8ba2751c
ls: Add support for -A and -h
2026-05-15 22:35:58 +03:00
Bananymous
928d3e3fe7
dirname: Fix help message
2026-05-15 22:34:48 +03:00
Bananymous
bf2121e166
LibC: Implement tc{get,set}winsize
...
These were added in POSIX issue 8 :^)
2026-05-15 17:08:02 +03:00
Bananymous
912647ce68
Shell: Fix type builtin PATH resolution
...
We were not adding a '/' between PATH dir and the command
2026-05-06 17:30:43 +03:00
Bananymous
3a05a29294
dirname: Support options and multiple strings
...
This is not needed by POSIX but sdl2-config uses `dirname -- "$0"`
2026-05-05 01:42:28 +03:00
Bananymous
40f3546aca
BAN: Rewrite HashMap as a wrapper around HashSet
...
There is really no need to have two implementation of the same thing.
Only difference now is that HashMap's value type has to be movable but
this wasn't an issue
2026-04-21 00:18:18 +03:00
Bananymous
1bf5e6a051
WindowServer: Fix xbanan access check
2026-04-15 16:40:30 +03:00
Bananymous
394719a909
userspace: Fix some includes found when compiling to linux
2026-04-15 16:39:36 +03:00
Bananymous
2984927be5
WindowServer: Block without timeout when there is no damaged regions
2026-04-11 08:41:21 +03:00
Bananymous
2e654b53fa
WindowServer: Use rectangular framebuffer syncs
2026-04-11 08:30:15 +03:00
Bananymous
2b97587e9f
WindowServer: Rewrite damaged region tracking
...
Instead of immediately doing rerender of client data and syncing 60 Hz,
we now only keep track of the damaged regions and also do the rerender
step 60 Hz.
2026-04-11 08:26:22 +03:00
Bananymous
4bde088b28
WindowServer: Store rectangles as min and max bounds
...
This makes some math easier than x,y and w,h
2026-04-11 06:35:45 +03:00
Bananymous
a4ba1da65a
LibGUI/WindowServer: Rework packet serialization
...
Instead of sending while serializing (what even was that), we serialize
the whole packet into a buffer which can be sent in one go. First of all
this reduces the number of sends by a lot. This also fixes WindowServer
ending up sending partial packets when client is not responsive.
Previously we would just try sending once, if any send failed the send
was aborted while partial packet was already transmitted. This lead to
packet stream being out of sync leading to the client killing itself.
Now we allow 64 KiB outgoing buffer per client. If this buffer ever fills
up, we will not send partial packets.
2026-04-11 03:30:52 +03:00
Bananymous
2f9b8b6fc9
Kernel/LibC: Rework userspace syscall interface
...
Kernel syscall API no longer zeros all unused argument registers and
libc now uses inlined syscall macro internally. This significantly
cleans up generated code for basic syscall wrapper functions.
2026-04-11 03:30:52 +03:00
Bananymous
2a4a688c2d
WindowServer: Optimize rendering
...
We now use SSE2 to do alpha blending on 4 pixels at a time where
possible and use memcpy instead of manual loops for non blended regions.
2026-04-06 19:29:34 +03:00
Bananymous
85f676c30a
DynamicLoader: Calulate max loaded file count based on dtv size
...
dtv should be dynamic but i dont care right now :)
2026-04-04 23:48:43 +03:00
Bananymous
8c5fa1c0b8
DynamicLoader: Fix R_386_PC32 relocation
...
I was not accounting elf base with offset
2026-04-04 23:48:43 +03:00
Bananymous
d168492462
WindowServer: bind volume up/down to volume control
2026-04-02 15:24:02 +03:00
Bananymous
6f2e8320a9
TaskBar: Show current volume level
2026-04-02 15:22:42 +03:00
Bananymous
bf4831f468
AudioServer: Add support for volume control
2026-04-02 15:21:38 +03:00
Bananymous
21639071c2
kill: Allow killing with process name
2026-04-02 05:02:05 +03:00