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
d58ca5f37a
Kernel/LibC: Implement symlink{,at}
2024-12-02 20:13:38 +02:00
11b6ee423e
LibC: Define timezone structure
2024-12-02 20:13:37 +02:00
a10ca47657
Kernel/LibC: Implement {,f}statvfs
2024-12-02 20:13:37 +02:00
ad1f175a39
Kernel/LibC: Implement getppid
2024-12-02 20:13:37 +02:00
fd3246113a
LibC: Implement missing execlp and cleanup exec code
2024-12-02 20:13:37 +02:00
b8013c883c
LibC: Implement getpass
2024-12-02 20:13:37 +02:00
ffcc4fd03a
init: Make tty owned by logged in user
2024-12-02 20:13:37 +02:00
9d97964998
LibC: Fix getpwend gid field :)
2024-12-02 20:13:37 +02:00
f0e54cdd51
LibC: Implement {asctime,ctime,gmtime,localtime}_r
...
Old non _r prefixed functions are now just wrappers around these new
functions :)
2024-12-02 20:13:37 +02:00
0360fd1efe
LibC: Implement mk{,d,s}temp
2024-12-02 20:13:37 +02:00
4508e099ff
LibC: Implement getpagesize
2024-12-02 20:13:37 +02:00
6ed1435aeb
Kernel/LibC: Implement tcgetpgrp
2024-12-02 20:13:37 +02:00
6346e288ad
LibC: Implement getrlimit
2024-12-02 20:13:37 +02:00
d2b503910f
userspace: fix aoc2023 and aoc2024 linking
...
This patch makes aoc projects not link against system libc but the cmake
libc target. This allows compilation before libc is installed
2024-12-02 20:13:37 +02:00
747c3b2a4b
Kernel/LibC: Implement fsync
2024-12-02 20:13:37 +02:00
cccb4e6d5e
LibC: Implement basename and dirname
2024-12-02 20:13:37 +02:00
f4c6afbdae
LibC: Add definitions to LibC that are used by some ports
2024-12-02 20:13:37 +02:00
d1ef380e6b
LibC: Add missing definitions for ifreq members
2024-12-02 20:13:37 +02:00
c02de2580d
Kernel: Add support for SIOCGIFNAME ioctl
2024-12-02 20:13:37 +02:00
a231f8587e
aoc2024: Implement day2 solution
2024-12-02 20:13:37 +02:00
783627c315
LibC: Fix time.h sigevent defition
2024-12-01 21:31:27 +02:00
1ff6aa1748
aoc2024: cleanup day1 solution
2024-12-01 07:58:40 +02:00
6662dc4a8d
aoc2024: fix full runner search path for solutions
2024-12-01 07:58:40 +02:00
d6b170e274
aoc2024: implement day1 solution
2024-12-01 07:41:25 +02:00
11cac7a646
aoc2024: prepare programming environment
2024-12-01 07:41:25 +02:00
04f49a6819
LibC: Implement {,v}dprintf
2024-11-27 21:33:10 +02:00
d465ea2a67
LibC: Fix headers :)
2024-11-27 21:32:10 +02:00
f985673dc3
LibGUI: Add API to retrieve Window's underlying framebuffer
2024-11-27 13:29:42 +02:00
aaff5a65e1
Kernel/init: /dev/tty is now custom symlink to controlling terminal
...
kernel now passes the name of default console to init process so init
knows which file to open as stdio. before /dev/tty was referencing the
system wide current terminal which was inherited from cmdline. This
doesn't work anymore as we have pseudo terminals implemented that can
chage the current terminal during runtime :D
2024-11-17 22:38:52 +02:00
36d07065fb
WindowServer: Optimize msync calls to synchronize less bytes
...
This *probably* makes framebuffer much faster :D Window server does not
have to do page aligned and page sized syncs which used way too many
pixels.
2024-11-17 20:15:28 +02:00
411f32c766
WindowServer: Make select timeout more precise to hit target FPS
...
Previously window server was only running at around 40 FPS while
targetting 60. This makes the select timeout properly sleep so that
target FPS is reached!
2024-11-17 20:15:28 +02:00
e1b82e4e43
WindowServer: Don't allow focusing unfocusable windows after closing
2024-11-17 20:15:28 +02:00
df613775b6
WindowServer: Alpha blend background image in fullscreen mode
2024-11-17 20:15:28 +02:00
c96aee5740
WindowServer: Make mod+f toggle focused window fullscreen state
2024-11-15 20:45:56 +02:00
1c08849667
WindowServer: Draw cursor in fullscreen mode
2024-11-15 20:45:01 +02:00
73349e5e75
WindowServer: don't set window location to (0,0) when fullscreening
2024-11-15 20:43:41 +02:00
74ae411b69
WindowServer: Skip invalidation on other windows in fullscreen mode
2024-11-15 20:42:07 +02:00
d458592fb1
WindowServer: Don't focus unfocusable windows on window creation
2024-11-15 20:41:42 +02:00
627c89a62d
LibGUI: Actually set window attributes when creating a window
2024-11-14 23:33:12 +02:00
a859558840
LibGUI: Window Creation takes attributes as an argument
...
This reduces windows showing/moving once they are opened and setting
their attributes.
2024-11-14 20:57:34 +02:00
bda2c663da
WindowServer: Implement fullscreen windows
...
If window size does not match framebuffer size, window data will be
scaled to framebuffer using nearest sampling for best performance.
2024-11-13 19:10:15 +02:00
5e041e6e5a
WindowServer: Make all terminating signals exit cleanly
...
This allows window server to restore input handling to TTY if window
server crashes on page fault or some other unexpected exception.
2024-11-13 17:32:13 +02:00
d19264eea8
WindowServer: Implement partial window resizing
...
This patch adds support for client side resizing, so clients can request
the server to resize their windows. WindowServer will respond with
resize event when and if the resizing is complete.
2024-11-13 17:30:12 +02:00
7542e55cb2
LibC: Add option to debug userspace malloc family calls
2024-11-10 14:03:25 +02:00
6bd51ac345
LibGUI: Client window now exits if it loses connection from server
...
This can be prevented by installing callback for socket errors.
2024-11-10 14:02:23 +02:00
cf21eb4b39
TaskBar: Cleanup TaskBar string generation
2024-11-08 02:57:35 +02:00
da8170c5b6
LibGUI: Add support for focusable windows and mouse capturing
...
These are essential parts of a window server! This allows making TaskBar
non-focusable.
2024-11-08 02:55:10 +02:00
12bc7480e0
LibC: Implement _Exit
...
This just calls _exit as POSIX says they can be equivalent
2024-11-08 02:52:12 +02:00
92862fdf39
LibC: Implement nan{,f,l} as functions
...
One port was using function pointers to these functions so macros don't
work.
2024-11-08 02:49:21 +02:00