e352bfbb23
mkdir: Don't fail the target exists and -p was given
2026-07-07 16:59:20 +03:00
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
879783052d
Terminal: Use gnu <start> ... <end> syntax in switch cases
2026-07-04 19:17:41 +03:00
a41a3eeb66
LibGUI: Add query keymap request
2026-07-04 19:12:56 +03:00
5256fd2e0a
LibInput: Add support for right super and application keys
2026-07-04 19:11:30 +03:00
b2169cbce6
WindowServer: Fix fd closing
...
Don't close fds in Window destructor :P
2026-07-04 07:33:41 +03:00
13bf1ba647
mkdir: Cleanup code and add better argument parsing
2026-07-02 22:54:45 +03:00
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
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
924576cf0d
WindowServer: Fix invalidation for fullscreen windows
2026-06-30 20:14:37 +03:00
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
689494db63
LibGUI/WindowServer: Allow querying global cursor position
2026-06-23 23:31:17 +03:00
763a742f6d
WindowServer: Fix client fd leaks
2026-06-23 21:08:57 +03:00
4ad586552d
LibGUI/WindowServer: Send window move events
2026-06-23 20:52:12 +03:00
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
c79e412215
resolver: Fix UB and resolve localhost
2026-05-25 03:19:20 +03:00
d5ee98708b
TaskBar: Show CPU load in task bar!
2026-05-20 19:14:21 +03:00
77796dd317
driver-install: implemented a simple installer
2026-05-20 17:52:19 +03:00
e9d6431728
DynamicLoader: Fix dynamic TLS init order
2026-05-20 05:03:20 +03:00
aa8be130f9
DynamicLoader: Cleanup lazy PLT relocations
2026-05-20 05:02:48 +03:00
d52ad29afa
Kernel: Add missing tr cmake file
2026-05-19 13:57:56 +03:00
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
9c3eb8d270
userspace: Implement tr utility
2026-05-17 00:29:20 +03:00
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
dc1d7e3fae
ls: Print total field with -l
2026-05-15 22:46:50 +03:00
8f8ba2751c
ls: Add support for -A and -h
2026-05-15 22:35:58 +03:00
928d3e3fe7
dirname: Fix help message
2026-05-15 22:34:48 +03:00
bf2121e166
LibC: Implement tc{get,set}winsize
...
These were added in POSIX issue 8 :^)
2026-05-15 17:08:02 +03:00
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
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
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
1bf5e6a051
WindowServer: Fix xbanan access check
2026-04-15 16:40:30 +03:00
394719a909
userspace: Fix some includes found when compiling to linux
2026-04-15 16:39:36 +03:00
2984927be5
WindowServer: Block without timeout when there is no damaged regions
2026-04-11 08:41:21 +03:00
2e654b53fa
WindowServer: Use rectangular framebuffer syncs
2026-04-11 08:30:15 +03:00
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
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
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
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
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
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
8c5fa1c0b8
DynamicLoader: Fix R_386_PC32 relocation
...
I was not accounting elf base with offset
2026-04-04 23:48:43 +03:00
d168492462
WindowServer: bind volume up/down to volume control
2026-04-02 15:24:02 +03:00
6f2e8320a9
TaskBar: Show current volume level
2026-04-02 15:22:42 +03:00
bf4831f468
AudioServer: Add support for volume control
2026-04-02 15:21:38 +03:00
21639071c2
kill: Allow killing with process name
2026-04-02 05:02:05 +03:00
c563efcd1c
AudioServer: Query pins of the asked device and not the current one
2026-03-23 22:57:49 +02:00
35e2a70de0
AudioServer: Handle client data before disconnecting clients
2026-03-23 20:41:13 +02:00
81d5c86a7a
WindowServer: Automatically launch xbanan if installed
2026-03-23 19:39:08 +02:00
cbe835a2c8
DynamicLoader: Add missing strlen definition
2026-03-23 18:23:31 +02:00