Commit Graph

2426 Commits

Author SHA1 Message Date
Robin Burchell
4dad585609 LibC: Allow {AF,PF}_UNIX as well as {AF,PF}_LOCAL
Seems that these are equivilent. POSIX specifies _LOCAL, but a lot of
software uses _UNIX.
2019-05-16 14:03:49 +02:00
Robin Burchell
cf41b0ef17 LibC: Add INET_ADDRSTRLEN define 2019-05-16 14:03:49 +02:00
Robin Burchell
619489da62 LibC: Define a SOMAXCONN value in socket.h
No idea if this is sensible; but some software will look for it.
2019-05-16 14:03:49 +02:00
Robin Burchell
f0f5dd6cef LibC: Implement str{n}casecmp 2019-05-16 14:03:49 +02:00
Andreas Kling
2f4e7edee5 Kernel: Simplify dump_backtrace() API for clients.
It makes no sense that clients had to worry about whether or not KSyms
were loaded.
2019-05-16 13:41:16 +02:00
Andreas Kling
7a2da54c07 Only the kernel needs to build with default includes disabled. 2019-05-16 13:40:43 +02:00
Robin Burchell
cef161c2bc TextEditor: Make use of GFilePicker to select a file to open 2019-05-16 13:31:19 +02:00
Robin Burchell
23c90da26c GFilePicker: Make the path selected accessible externally 2019-05-16 13:31:19 +02:00
Andreas Kling
176f683f66 Kernel: Move Inode to its own files. 2019-05-16 03:02:37 +02:00
Robin Burchell
8aecebe8f3 GTextEditor: Introduce triple click to select all 2019-05-16 01:24:34 +02:00
Robin Burchell
c4610b825d WSWindowManager: Fix a small whoopsie with double click delivery
We must reset the click clock to invalid after delivering the double
click event. Otherwise, a subsequent click will make us (incorrectly)
deliver another double click.
2019-05-16 01:24:34 +02:00
Robin Burchell
966c5d10b1 GTextEditor: Minor cleanup
Remove an unnecessary layer of nesting
2019-05-16 01:24:34 +02:00
Robin Burchell
f55965b5e8 WindowServer/GMenu: Adjust the popup position to fit the window inside the screen
Rather than passing a "top_anchored" bool. Fixes #22.
2019-05-16 01:22:54 +02:00
Robin Burchell
a4b0dfff43 Move double click events from LibGUI to the window server 2019-05-15 22:45:28 +02:00
Andreas Kling
3cba2a8a78 Kernel: Add a beep() syscall that beeps the PC speaker.
Hook this up in Terminal so that the '\a' character generates a beep.
Finally emit an '\a' character in the shell line editing code when
backspacing at the start of the line.
2019-05-15 21:40:41 +02:00
Robin Burchell
dcf490ecab ReadMe: Add build/run instructions from "old" wiki
Saves having to go hunting for them
2019-05-15 21:14:09 +02:00
Robin Burchell
ac2a3b65bb makeall: Use set -e to exit on failure
And pretty the building/installing up a little, rather than a huge chain of &&
2019-05-15 21:14:09 +02:00
Robin Burchell
c6bc23a748 makeall: Like BuildIt, respect MAKEJOBS 2019-05-15 21:14:09 +02:00
Robin Burchell
f9515d56e7 BuildIt: Allow specifying MAKEJOBS rather than forcing to nprocs 2019-05-15 20:16:58 +02:00
Robin Burchell
bfd94dbf54 UseIt: allow sourcing from outside the Toolchain dir 2019-05-15 20:16:58 +02:00
Robin Burchell
219f2f988e BuildIt: use set -e to fail immediately on error
This saves time if something goes wrong very early in the build process.
2019-05-15 20:16:58 +02:00
Andreas Kling
3cd1db09d4 Documentation: Add a brief description of Serenity's smart pointer types. 2019-05-15 14:07:14 +02:00
Andreas Kling
65e56eb72b GButton: Allow triggering a "click" by pressing Return when focused. 2019-05-15 04:25:53 +02:00
Andreas Kling
ad731cc08f LibGUI: Support cycling through focusable widgets with Tab and Shift-Tab. 2019-05-15 02:39:58 +02:00
Andreas Kling
01ffcdfa31 Kernel: Encapsulate the Region's COW map a bit better. 2019-05-14 17:31:57 +02:00
Andreas Kling
2fa5e2b66b ProcessManager: Keep /proc/all open to reduce CPU impact of ProcessManager. 2019-05-14 17:12:35 +02:00
Andreas Kling
2e0d8ee98f GEventLoop: Rename s_event_fd => s_windowserver_fd. 2019-05-14 17:12:09 +02:00
Andreas Kling
5f7bb9d072 malloc: Make it possible to recycle big allocation blocks as well.
This patch makes us recycle up to 8 blocks of 4KB size. This should
probably be extended to handle other sizes.
2019-05-14 16:38:06 +02:00
Andreas Kling
1e0f9d325c LibCore: Avoid a big malloc in CIODevice's internal buffering.
This heap allocation was totally avoidable and can be replaced by a stack
buffer instead. Dodges a bunch of mmap() traffic.
2019-05-14 16:36:29 +02:00
Andreas Kling
7c10a93d48 Kernel: Make allocate_kernel_region() commit the region automatically.
This means that kernel regions will eagerly get physical pages allocated.
It would be nice to zero-fill these on demand instead, but that would
require a bunch of MemoryManager changes.
2019-05-14 15:38:00 +02:00
Andreas Kling
7198e35465 AK: InlineLRUCache was always filling up one short of capacity. 2019-05-14 15:33:21 +02:00
Andreas Kling
9e2116ff6b Kernel: Signal stacks are lazily allocated so don't crash in getter. 2019-05-14 12:17:59 +02:00
Andreas Kling
486c675850 Kernel: Allocate kernel signal stacks using the region allocator as well. 2019-05-14 12:06:09 +02:00
Andreas Kling
c8a216b107 Kernel: Allocate kernel stacks for threads using the region allocator.
This patch moves away from using kmalloc memory for thread kernel stacks.
This reduces pressure on kmalloc (16 KB per thread adds up fast) and
prevents kernel stack overflow from scribbling all over random unrelated
kernel memory.
2019-05-14 11:51:00 +02:00
Andreas Kling
8c3ad802d8 Kernel: Have Lock dump backtrace on lock-while-interrupts-disabled error. 2019-05-14 11:50:15 +02:00
Andreas Kling
dab9901235 WindowServer+LibGUI: Handle mouse wheel deltas in the mouse event stream.
The wheel events will end up in GWidget::mousewheel_event(GMouseEvent&)
on the client-side. This patch also implements basic wheel scrolling in
GScrollableWidget via this mechanism. :^)
2019-05-13 19:52:57 +02:00
Andreas Kling
dae8eb6454 Kernel: Add support for the PS/2 mouse wheel if detected. 2019-05-13 19:48:14 +02:00
Andreas Kling
852d648912 Fix "make clean" not deleting app binaries. 2019-05-13 14:56:18 +02:00
GuillaumeGas
801d6f572a Feature/pidof (#31)
* Added killall command

* Fixed feedbacks of awesomekling

* Implemented pidof program and helper to parse arguments called ArgsParser.

* Fixed feedbacks in pidof implem.

Fixes #26
2019-05-13 14:31:23 +02:00
Andreas Kling
b7166385de RetroFetch: Add a silly neofetch-like program.
The idea is to print out various system info suitable for screenshots. :^)
2019-05-13 04:54:48 +02:00
Andreas Kling
43604bf71a LibC+Shell: Make system() actually work.
system() will now fork off a child process and execute the command via
/bin/sh -c. There are probably some things to fix here, but it's a start.
2019-05-13 04:52:55 +02:00
Andreas Kling
42cf09fdf1 WindowServer: Don't add maximize button to non-resizable windows.
The minimize button can stay though, since it doesn't change the window
size, just the visibility. :^)
2019-05-13 00:48:54 +02:00
Andreas Kling
8c4b7fe385 WindowServer: Make the ordering in the window switcher a bit more sane. 2019-05-13 00:08:56 +02:00
Andreas Kling
a20ce4d2b8 WindowServer: Rearrange minimize/maximize/close buttons (in that order.) 2019-05-12 21:33:25 +02:00
Andreas Kling
641893104a WindowServer: Add a maximize/unmaximize button to windows. 2019-05-12 21:32:02 +02:00
Andreas Kling
dddf45f563 Change String&& arguments to const String& in a couple of places.
String&& is more nuisance than anything, and the codegen improvement is
basically negligible since the underlying type is already retainable.
2019-05-12 14:57:15 +02:00
Andreas Kling
23e6c45e87 WindowServer: Show downscaled window thumbnails in the window switcher. 2019-05-12 04:15:25 +02:00
Andreas Kling
641d55c7ef Painter: Always optimize with -O3.
Use a GCC #pragma to always optimize the Painter code with -O3.
This code is performance critical and hotter than anything else in the
system, and this helps quite a bit.

The 2x, 3x and 4x upscaling fast paths benefit greatly from this.
2019-05-11 17:00:46 +02:00
Andreas Kling
788fb7699b Painter: Simplify the draw_scaled_bitmap() fast path for integer scale.
Iterate over the source image instead of the destination image, and blow it
up pixel by pixel. This code will only run for upscaling so we don't need
to worry about anything else.
2019-05-11 16:55:30 +02:00
Andreas Kling
1652cb7db9 Painter: Fix typo in 4x scaling fast path. 2019-05-11 16:00:25 +02:00