Bananymous
d57e797147
WindowServer: Don't kill window on key event, instead send close event
...
This allows notifying the client about window close and let client
handle it as it wants
2024-10-18 17:17:58 +03:00
Bananymous
e99a271465
Userspace: Implement basic task bar
...
This bar only shows current time but its something to work on later!
2024-10-18 03:36:03 +03:00
Bananymous
d266c7f93b
LibGUI: Implement attributes for windows
...
Windows can now change whether they have title bar, rounded corners,
alpha channel and whether they are movable. Also windows can also change
their own position
2024-10-18 03:32:12 +03:00
Bananymous
d7e5c56e94
userspace: Use SOCK_STREAM instead of SOCK_SEQPACKET for WindowServer
...
This makes more sense if we have longer packages
2024-10-17 01:44:48 +03:00
Bananymous
91381546d5
Shell: Don't crash if history file does not exist :D
2024-10-16 00:41:28 +03:00
Bananymous
41e2b898ab
Shell: Implement history file for persistent history storage
2024-10-16 00:21:58 +03:00
Bananymous
6e981d1222
Shell: Add support for inline environment variables
...
e.g. `foo=$(echo lol) Shell -c 'echo $foo'` will now print lol!
2024-10-15 23:45:08 +03:00
Bananymous
8317bb13ca
Shell: Cleanup code by defining argument types as nested types
2024-10-15 23:44:06 +03:00
Bananymous
c40f244dff
Shell: remove `env` builtin and add `type`
...
other shells don't seem to implement as a builtin, so i won't either
2024-10-15 23:42:01 +03:00
Bananymous
a6aa048be0
userspace: Implement `env` as an executable
2024-10-15 23:42:01 +03:00
Bananymous
6a46a25f48
image: Add benchmark flag to measure performance of image operations
2024-10-13 22:05:13 +03:00
Bananymous
88b8ca5b29
LibC: Fix some string functions
...
I was not casting some required values to char or handling length of
zero
2024-10-13 22:04:08 +03:00
Bananymous
fdddb556ae
LibC: Implement system() more properly
...
Old implementation did not ignore and block needed signals
2024-10-13 22:03:15 +03:00
Bananymous
d36b64e0c8
LibImage: name color to u32 function to to_argb from to_rgba
...
This is the actual format that it returns
2024-10-13 22:01:46 +03:00
Bananymous
8adc97980a
Shell: rewrite the whole shell to use tokens instead of raw strings
...
tab completion is still running with raw strings and that has to be
fixed in the future.
2024-10-13 22:00:16 +03:00
Bananymous
3e68981b0b
userspace: Remove start-gui from shell builtins and make it an alias
...
This makes way more sense :D
2024-10-07 18:01:33 +03:00
Bananymous
6fd76e8d1e
Shell: Rewrite alias parsing to allow chained commands
...
You can now have "chained" commands in alias
e.g. `alias foo='echo hello && ls`
2024-10-07 18:01:33 +03:00
Bananymous
dfcd15e7c4
Shell: Implement background processes with &
2024-10-07 18:01:33 +03:00
Bananymous
5fa359c28d
ls: Print file name in quotes if it contains spaces
2024-10-07 18:01:32 +03:00
Bananymous
5bcfc9dd50
Shell: Always print prompt to new line
...
This is only done on non banan-os targets if terminal is detected to
support cursor position querying
2024-10-07 18:01:32 +03:00
Bananymous
f67cad326a
Shell: Don't crash when there are no tab completions available :D
2024-10-07 14:26:07 +03:00
Bananymous
9775e83374
Shell: Fix tab space escaping in tab completion
2024-10-07 04:19:36 +03:00
Bananymous
264d1798dc
Shell: Clenup code and fix some bugs
...
Don't list tab completion multiple times, allow `clear` to work even
when ANSI CSI 3K is not supported, reset buffer index when cancelling
command with ctrl+c
2024-10-07 04:10:25 +03:00
Bananymous
1824988b9a
Shell: Add support for simple aliases
...
Aliases do not support chained commands with pipes, &&, ... but this is
a good start.
2024-10-07 04:09:38 +03:00
Bananymous
c54d9b3f60
Shell: Implement simple tab completion for commands and files
2024-10-07 01:44:44 +03:00
Bananymous
4f7828bab9
Shell: Allow escaping spaces in commands
2024-10-07 01:44:44 +03:00
Bananymous
ae073a336d
Shell: Move builtin commands to a hash map
...
This allows accessing builtin commands outside of `execute_builtin`
2024-10-07 01:44:44 +03:00
Bananymous
4f3c05851c
Shell: Expand ~ to home if its at the start of non quoted argument
2024-10-06 01:38:43 +03:00
Bananymous
4b13055125
Shell: Make builtin exit command read exit value from argument
...
Shell used to unconditionally return with exit code of 0
2024-10-06 01:24:34 +03:00
Bananymous
d542cd811d
Shell: Add support for &&, || and ;
2024-10-06 01:24:24 +03:00
Bananymous
f75cebac7e
Shell: Mark all functions as static
2024-10-05 19:11:58 +03:00
Bananymous
e302b6b635
Shell: Use sigaction instead of signal
...
This allows ctrl-c to work on linux :D
2024-10-05 19:07:59 +03:00
Bananymous
f709e88994
Shell: Cleanup argument handling and exiting
2024-10-04 17:54:01 +03:00
Bananymous
ab9a6d583b
Userspace: Set SHELL environment variable in init instead of shell
2024-10-04 17:24:37 +03:00
Bananymous
26d6bf338e
Shell: Ignore SIGTTOU and set pgroup from parent instead of child
...
This allows using the shell in linux!
2024-10-04 17:23:31 +03:00
Bananymous
b6e040dfc2
Kernel/Shell: Fix backspace and delete key byte sequences
2024-10-04 04:14:47 +03:00
Bananymous
7223e581a2
WindowServer: Fix 32 bit compilation with -Werror
...
There was a always false statement on 32 bit that the compliler was
warning about.
2024-09-27 15:33:25 +03:00
Bananymous
e4982a1a5c
LibC: Fix printf with alternate format and zero values
2024-09-26 15:25:16 +03:00
Bananymous
cea6dedccc
Userspace: Compile programs and libraries with -Wall -Wextra -Werror
2024-09-26 15:20:07 +03:00
Bananymous
57ae74f908
Terminal: Implement more ANSI escape handling
...
This patch adds L and M codes for inserting and deleting lines and SGR 7
for inverting colors
2024-09-26 15:07:08 +03:00
Bananymous
1a6804b4b4
Terminal: Make Terminal::handle_csi() return invalidated rectangle
...
When I updated Terminal to only do a single invalidation after all of
input text was printed, I forgot to change handle_csi
2024-09-26 15:05:11 +03:00
Bananymous
82e6a3582d
LibGUI: cleanup Window::shift_vertical and add copy_horizontal_slice
2024-09-26 15:00:14 +03:00
Bananymous
11a4e4faa2
LibImage: Add Adam7 support for PNG decoder
2024-09-26 11:47:34 +03:00
Bananymous
50a3533322
LibInput: Add value for ESC in key_to_utf8_ansi
...
This allows exiting vim when using this function for key mappings :D
2024-09-24 18:08:34 +03:00
Bananymous
4e9f39384a
LibC: Initialize libc only once
...
This was breaking stuff with dynamic loader initializing libc and main
executable reinitializing it later :D
2024-09-24 17:56:12 +03:00
Bananymous
1b0086217c
Terminal: Do scrolling in putchar if necessary
...
I overlooked that handling *newline* scrolls would be enough. You can
definitely scroll more if printing a lot of text which wraps to the next
line.
2024-09-23 15:00:47 +03:00
Bananymous
1280528e4e
BuildSystem: Use -O2 for all libraries
...
I don't know why I had not specified optimization level for libraries.
Only LibImage was using explicit -O3. LibImage doesn't need O3 anymore
as O2 seems to be around the same speed.
2024-09-20 20:04:49 +03:00
Bananymous
fbb99de728
ls: Show symlink target with `-l`
2024-09-17 19:12:34 +03:00
Bananymous
a6b973003b
WindowServer: chmod the correct file
2024-09-17 18:35:27 +03:00
Bananymous
e431e90b20
Kernel/LibC: Implement all chown family function with fchownat
2024-09-17 18:35:01 +03:00