Bananymous 
							
						 
						
							
								b334259a07 
								
							 
						 
						
							
							
								
								AudioServer: Don't allow client to fully halt audio  
							
							
							
						 
						
							2025-08-19 16:23:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ca9361abc1 
								
							 
						 
						
							
							
								
								DynamicLoader: Add support for dladdr  
							
							
							
						 
						
							2025-08-19 16:23:30 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e5786fe435 
								
							 
						 
						
							
							
								
								init: Start AudioServer on boot  
							
							
							
						 
						
							2025-08-11 14:07:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af0bca74e4 
								
							 
						 
						
							
							
								
								Kernel/LibC: Implement {get,set,init}groups  
							
							... 
							
							
							
							This allows dropping /etc/group parsing from the kernel :D 
							
						 
						
							2025-08-10 19:57:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								92e962430b 
								
							 
						 
						
							
							
								
								LibC: Make sockaddr and sockaddr_in compatible with other systems  
							
							... 
							
							
							
							sockaddr:
make sa_data is 14 bytes on all systems
sockaddr_in:
add sin_zero 
							
						 
						
							2025-08-10 19:57:31 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7a5cfe1728 
								
							 
						 
						
							
							
								
								LibAudio/AudioServer: Add support for playing real time audio  
							
							
							
						 
						
							2025-08-07 16:43:05 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								66d3a1d025 
								
							 
						 
						
							
							
								
								ls: Output in columns  
							
							
							
						 
						
							2025-08-07 02:50:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								45ad6082bc 
								
							 
						 
						
							
							
								
								DynamicLoader: Support dlopen(NULL, ...)  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								82b351469b 
								
							 
						 
						
							
							
								
								DynamicLoader: Setup thread id when initializing TLS  
							
							... 
							
							
							
							This allows pre-libc code use pthread functions
(__cxa_guard_release calls pthread_cond_broadcast) 
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ea91bdcce7 
								
							 
						 
						
							
							
								
								WindowServer: Make relative mouse no-op with absolute mouse  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								af0a46e79c 
								
							 
						 
						
							
							
								
								LibGUI/WindowServer: Rename mouse capture -> mouse relative  
							
							... 
							
							
							
							My terminology was incorrect and this is more correct 
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4519c48284 
								
							 
						 
						
							
							
								
								WindowServer: Fix custom cursors  
							
							... 
							
							
							
							Custom cursor is now only set if the cursor is in the client area
instead of anyehere in the window. This makes hidden cursor visible
when it is on top of the title bar! 
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8ea32c7650 
								
							 
						 
						
							
							
								
								WindowServer: Fix relative mouse vertical flip  
							
							
							
						 
						
							2025-08-05 03:09:24 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7831c74e8c 
								
							 
						 
						
							
							
								
								DynamicLoader: Add support for LD_LIBRARY_PATH  
							
							... 
							
							
							
							Also fix a bug with dlopen with TLS 
							
						 
						
							2025-07-31 22:47:29 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c1978f9133 
								
							 
						 
						
							
							
								
								Shell: Implement redirections  
							
							... 
							
							
							
							This works well enough. At the moment redirections can appear anywhere
in the command **after** environment variables and possible alias
command. This means commands like `>foo echo hello` are not supported.
I don't think this is big enough problem for now (99% time redirections
are given after arguments) that i would rewrite the environment and
alias parsing. 
							
						 
						
							2025-07-22 16:54:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1e65f02ff7 
								
							 
						 
						
							
							
								
								Terminal: Handle bell and warn on unimplemented control characters  
							
							
							
						 
						
							2025-07-21 14:28:09 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								aa0249fadb 
								
							 
						 
						
							
							
								
								WindowServer: Support absolute position mouse  
							
							
							
						 
						
							2025-07-19 18:01:23 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								22542a3a71 
								
							 
						 
						
							
							
								
								BuildSystem: Enable sse and sse2 for all programs and libraries  
							
							... 
							
							
							
							This is default on x86_64 but not on the 32 bit target. banan-os
already requires the CPU to support SSE even on 32 bit platforms. 
							
						 
						
							2025-07-18 18:20:37 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								6b9dbf625d 
								
							 
						 
						
							
							
								
								userspace: Add `audio` utility to play audio files  
							
							
							
						 
						
							2025-07-15 16:12:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								3aea2c007d 
								
							 
						 
						
							
							
								
								Userspace: Add simple AudioServer and LibAudio  
							
							
							
						 
						
							2025-07-15 16:12:03 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								19897ffa26 
								
							 
						 
						
							
							
								
								userspace: Compile test utility :D  
							
							
							
						 
						
							2025-06-28 22:40:00 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								42a10b21c7 
								
							 
						 
						
							
							
								
								userspace: Implement true and false utilities  
							
							
							
						 
						
							2025-06-28 22:39:19 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5df0e25c1f 
								
							 
						 
						
							
							
								
								userspace: Implement chown utility  
							
							
							
						 
						
							2025-06-28 21:32:59 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								c7c3dd7662 
								
							 
						 
						
							
							
								
								init/ports: Fix environment variables in init/ncurses  
							
							... 
							
							
							
							init no longer sets NCURSES_NO_UTF8_ACS
ncurses no longer sets TERM 
							
						 
						
							2025-06-28 20:25:35 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e8491b34b8 
								
							 
						 
						
							
							
								
								Kernel/LibC: Rework TIOC{G,S}WINSZ more linux like  
							
							... 
							
							
							
							Userspace can freely set terminal size, kernel just updates it when for
example new font is loaded. Also SIGWINCH is now sent by kernel instead
of userspace. 
							
						 
						
							2025-06-28 19:40:54 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								521457eb92 
								
							 
						 
						
							
							
								
								DynamicLoader: Add support for calling destructors  
							
							... 
							
							
							
							After all libraries are initialized, their destructors are registered
using atexit 
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								850b3284ac 
								
							 
						 
						
							
							
								
								Terminal: Fix screen clearing when scrolling  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5f07d53034 
								
							 
						 
						
							
							
								
								WindowServer: Send mod key to clients  
							
							... 
							
							
							
							Also roll back accidental mod key update from super->alt 
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cf07b747fe 
								
							 
						 
						
							
							
								
								LibGUI/WindowServer: Implement per-window custom cursors  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								273e9bbc92 
								
							 
						 
						
							
							
								
								LibGUI/WindowServer: Implement per-window cursor hiding  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								7dcf1797e9 
								
							 
						 
						
							
							
								
								WindowServer: Cleanup packet callback calling  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								397219c22e 
								
							 
						 
						
							
							
								
								LibC: Implement very hacky dlopen/dlsym/dclose  
							
							... 
							
							
							
							If ELF loading fails, this will just crash the program :D
And there is no support for RTLD_LOCAL 
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4fa40de557 
								
							 
						 
						
							
							
								
								WindowServer: Fix crash when moving mouse out of bounds  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								0cbc39698c 
								
							 
						 
						
							
							
								
								WindowServer: Ignore SIGPIPE so we don't crash unexpectedly  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								83069e433f 
								
							 
						 
						
							
							
								
								LibGUI/WindowServer: Implement window showing/hiding  
							
							
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								bbb490b24f 
								
							 
						 
						
							
							
								
								LibGUI: Implement set_max_size  
							
							... 
							
							
							
							I already support set_min_size so why not this :) 
							
						 
						
							2025-06-28 16:55:13 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								4a00cb7d55 
								
							 
						 
						
							
							
								
								DynamicLoader: Add few more TLS relocations  
							
							
							
						 
						
							2025-06-16 15:06:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								ac22e006a4 
								
							 
						 
						
							
							
								
								Shell: Don't get stuck on broken state when failing to build command  
							
							
							
						 
						
							2025-06-10 11:03:02 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								30d5d85d1d 
								
							 
						 
						
							
							
								
								userspace: Add `test` utility  
							
							
							
						 
						
							2025-06-08 23:56:39 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8ea0a67280 
								
							 
						 
						
							
							
								
								Terminal: Add support for tabs  
							
							
							
						 
						
							2025-06-06 16:41:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								5ad7d7edb1 
								
							 
						 
						
							
							
								
								DynamicLoader: Fix TLS on 32 bit platform  
							
							... 
							
							
							
							There were two problems with my previous implementation
- TLS was not allocated if nothing used it. There is a fallback
  initialization in _init_libc, but this was not enough if one of the
  init functions tried to access errno.
- __tls_get_addr was not resolved. If __tls_get_addr was called through
  a plt entry, everything would just break :( 
							
						 
						
							2025-06-06 16:27:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								cfeabc4580 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Fix ANSI SGR 8 bit color parsing  
							
							
							
						 
						
							2025-06-05 20:43:57 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								49f203d61d 
								
							 
						 
						
							
							
								
								Terminal: Add ANSI CSI P and ANSI SGR 22  
							
							
							
						 
						
							2025-06-05 02:41:48 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								a912a4dc67 
								
							 
						 
						
							
							
								
								LibGUI: Remove fill_color from texture copy API  
							
							... 
							
							
							
							Nothing was using this and it just overcomplicated everything 
							
						 
						
							2025-06-05 02:40:51 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								8de19aff3c 
								
							 
						 
						
							
							
								
								Kernel/Terminal: Fix 24 bit ANSI SGR color parsing  
							
							
							
						 
						
							2025-06-05 02:38:07 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								775c77c0fa 
								
							 
						 
						
							
							
								
								Shell: Get default backspace key from c_cc[VERASE]  
							
							
							
						 
						
							2025-06-02 15:55:20 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e473118ec8 
								
							 
						 
						
							
							
								
								userspace: Add nologin "shell"  
							
							
							
						 
						
							2025-06-02 12:26:16 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								fdcb38ac1f 
								
							 
						 
						
							
							
								
								Shell: Accept '\r' as enter  
							
							... 
							
							
							
							This happens with some terminals and i don't want to bother with fixing
my termios :D 
							
						 
						
							2025-06-02 11:42:06 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								e9f8471a28 
								
							 
						 
						
							
							
								
								BAN: Return UTF::invalid from byte_length instead of 0  
							
							
							
						 
						
							2025-06-02 11:39:18 +03:00  
				
					
						
							
							
								
								Bananymous 
							
						 
						
							
								1c882ea361 
								
							 
						 
						
							
							
								
								DynamicLoader: Don't print TODOs on PT_GNU_ headers  
							
							... 
							
							
							
							These should be either handled by kernel or just used as optimizations.
There is no requirement to handle them in dynamic loader 
							
						 
						
							2025-06-01 13:48:03 +03:00