Bananymous 
							
						 
						
							
								2cbfe70a28 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't leak fds  
							
							
							
						 
						
							2025-04-20 18:18:32 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7edfae8583 
								
							 
						 
						
							
							
								
								Shell: Cleanup `export` builtin  
							
							
							
						 
						
							2025-04-19 21:23:26 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								28275d86ea 
								
							 
						 
						
							
							
								
								LibC/Shell: set PWD env in Shell, not libc  
							
							... 
							
							
							
							I have no idea why I was doing it in the libc 
							
						 
						
							2025-04-19 21:16:11 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8cd2d772b0 
								
							 
						 
						
							
							
								
								Shell: Print error if `execv` fails  
							
							
							
						 
						
							2025-04-19 00:39:42 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d73a270fb1 
								
							 
						 
						
							
							
								
								Shell: Save and restore stdin flags after child returns  
							
							... 
							
							
							
							If child makes stdin nonblocking, Shell now restores it back to "normal"
flags 
							
						 
						
							2025-04-18 18:26:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d9647868cc 
								
							 
						 
						
							
							
								
								Terminal: Fix ANSI SGR color invert  
							
							
							
						 
						
							2025-04-18 17:32:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4409d0f03f 
								
							 
						 
						
							
							
								
								Terminal: Implement ANSI CSI A, B, b, d, @  
							
							
							
						 
						
							2025-04-17 23:16:22 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ebd00b1eb2 
								
							 
						 
						
							
							
								
								Terminal: Implement ANSI SGR 10, 39, 49  
							
							
							
						 
						
							2025-04-17 23:15:44 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ac90800c3c 
								
							 
						 
						
							
							
								
								Kernel/LibC/DynamicLoader: Implement thread local storage  
							
							... 
							
							
							
							For some reason this does not work on 32 bit version, so it is disabled
on that platform. I'll have to look into it later to find the bug :) 
							
						 
						
							2025-04-15 23:33:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								254fd80088 
								
							 
						 
						
							
							
								
								DynamicLoader: Cleanup and prepare for TLS  
							
							
							
						 
						
							2025-04-15 23:31:17 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								36baf7b0af 
								
							 
						 
						
							
							
								
								Kernel/LibC/DynamicLoader: Update process start ABI  
							
							... 
							
							
							
							We now use SysV abi for process startup 
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e6026cb0b8 
								
							 
						 
						
							
							
								
								DynamicLoader: Handle circular dependencies  
							
							
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4f49d60e4a 
								
							 
						 
						
							
							
								
								DynamicLoader/LibC: lazy malloc environ  
							
							... 
							
							
							
							This allows DynamicLoader to just set the value of global environ symbol
without libc needing to malloc it at startup 
							
						 
						
							2025-04-15 23:05:52 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7fedd94cc5 
								
							 
						 
						
							
							
								
								ln: Don't require link target to exist for symlinks  
							
							
							
						 
						
							2025-01-28 17:46:36 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c6cd185cb5 
								
							 
						 
						
							
							
								
								DynamicLoader: Fix copy relocations  
							
							... 
							
							
							
							Weak symbols are now actually resolved to the same strong symbol between
shared objects and copy relocations now work! 
							
						 
						
							2025-01-24 19:23:33 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6f8f99f42c 
								
							 
						 
						
							
							
								
								Terminal: Set terminal size with TIOCSWINSZ when starting  
							
							... 
							
							
							
							This actually fixes the very broken vim port 
							
						 
						
							2024-12-21 03:23:21 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a7f3351c0e 
								
							 
						 
						
							
							
								
								TaskBar: Prevent possible division by zero  
							
							... 
							
							
							
							If battery reports its full capacity as zero, battery percentage
calculation did a division by zero crashing the TaskBar :) 
							
						 
						
							2024-12-18 18:36:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0642c569b4 
								
							 
						 
						
							
							
								
								TaskBar: Show battery percentage if available  
							
							
							
						 
						
							2024-12-18 14:06:32 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								51b6329c86 
								
							 
						 
						
							
							
								
								Kernel: Make backspace \b and delete 0x7F  
							
							... 
							
							
							
							This is what `vim` seems to expect and imo makes way more sense. 
							
						 
						
							2024-12-05 17:34:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cb7d5c9d09 
								
							 
						 
						
							
							
								
								userspace: Implement `dirname` utility  
							
							
							
						 
						
							2024-12-05 08:30:30 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								097ab82529 
								
							 
						 
						
							
							
								
								userspace: Implement `basename` utility  
							
							
							
						 
						
							2024-12-05 08:30:06 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								56cc5da9fb 
								
							 
						 
						
							
							
								
								userspace: Implement `ln` utility  
							
							
							
						 
						
							2024-12-05 08:14:45 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3a465cb94f 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't write to pltgot if it does not exist  
							
							... 
							
							
							
							This makes `tcc` compile runnable executables 
							
						 
						
							2024-12-04 21:11:43 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0fab7ad63b 
								
							 
						 
						
							
							
								
								Kernel: Fix SYS_FCNTL command handling :)  
							
							... 
							
							
							
							I had misunderstood how these work 
							
						 
						
							2024-12-03 16:12:26 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ffcc4fd03a 
								
							 
						 
						
							
							
								
								init: Make tty owned by logged in user  
							
							
							
						 
						
							2024-12-02 20:13:37 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e1b82e4e43 
								
							 
						 
						
							
							
								
								WindowServer: Don't allow focusing unfocusable windows after closing  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								df613775b6 
								
							 
						 
						
							
							
								
								WindowServer: Alpha blend background image in fullscreen mode  
							
							
							
						 
						
							2024-11-17 20:15:28 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c96aee5740 
								
							 
						 
						
							
							
								
								WindowServer: Make mod+f toggle focused window fullscreen state  
							
							
							
						 
						
							2024-11-15 20:45:56 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c08849667 
								
							 
						 
						
							
							
								
								WindowServer: Draw cursor in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:45:01 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								73349e5e75 
								
							 
						 
						
							
							
								
								WindowServer: don't set window location to (0,0) when fullscreening  
							
							
							
						 
						
							2024-11-15 20:43:41 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								74ae411b69 
								
							 
						 
						
							
							
								
								WindowServer: Skip invalidation on other windows in fullscreen mode  
							
							
							
						 
						
							2024-11-15 20:42:07 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								d458592fb1 
								
							 
						 
						
							
							
								
								WindowServer: Don't focus unfocusable windows on window creation  
							
							
							
						 
						
							2024-11-15 20:41:42 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf21eb4b39 
								
							 
						 
						
							
							
								
								TaskBar: Cleanup TaskBar string generation  
							
							
							
						 
						
							2024-11-08 02:57:35 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								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  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								f4be37700f 
								
							 
						 
						
							
							
								
								Kernel/userspace: rework floating point math  
							
							... 
							
							
							
							SSE is now unconditionally enabled any where and most of math.h is now
actually implemented. using __builtin_<func> lead to many hangs where
the builtin function would just call itself. 
							
						 
						
							2024-11-03 20:28:15 +02:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5fde2cf91a 
								
							 
						 
						
							
							
								
								TaskBar: Ignore window close events and exit on connection close  
							
							... 
							
							
							
							This prevents user from killing the task bar with keyboard shortcuts 
							
						 
						
							2024-10-18 17:19:05 +03:00  
				
					
						
							
							
								
								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