Andreas Kling
b8e705da0e
LibCore: CObjects without is<T> specialization shouldn't LARP as others.
2019-06-01 14:11:31 +02:00
Christopher Dumas
6a4cb25557
Terminal: Settings windows can be opened multiple times
2019-06-01 00:07:45 +02:00
Christopher Dumas
f8a02d4733
Terminal: Audible vs Visible beep option
2019-06-01 00:07:45 +02:00
Andreas Kling
3a1d5fa112
ELFLoader: Fix typo in segment naming.
...
Executable segments now get an "x" character in their region name.
2019-05-30 16:23:48 +02:00
Andreas Kling
baaede1bf9
Kernel: Make the Process allocate_region* API's understand "int prot".
...
Instead of having to inspect 'prot' at every call site, make the Process
API's take care of that so we can just pass it through.
2019-05-30 16:14:37 +02:00
Andreas Kling
08926e59b3
Kernel: Add InodeFile, a File subclass for regular files.
...
Finally everything that can be held by a FileDescriptor actually inherits
from the File class.
2019-05-30 13:39:17 +02:00
Robin Burchell
0dc9af5f7e
Add clang-format file
...
Also run it across the whole tree to get everything using the One True Style.
We don't yet run this in an automated fashion as it's a little slow, but
there is a snippet to do so in makeall.sh.
2019-05-28 17:31:20 +02:00
Andreas Kling
cbd858544d
LibC: Move struct timeval to sys/time.h. #POSIX
2019-05-28 13:48:06 +02:00
Robin Burchell
9947ee9566
Shell: Allow * and ? wildcard expansion in arguments
...
Should also presumably allow for escaping and such, but this is a start.
Fixes #112 .
2019-05-28 00:17:39 +02:00
Andreas Kling
12120167a9
AK: Add ensure_capacity() for HashMap and HashTable.
...
These functions make sure that the underlying table can accomodate at least
'capacity' entries before needing a rehash.
2019-05-27 13:07:20 +02:00
Andreas Kling
5ba2dba392
FileSystemPath: Add a has_extension() helper.
...
This code:
if (path.string().to_lowercase().ends_with(".foo"))
Can now be written as:
if (path.has_extension(".foo"))
2019-05-27 01:53:42 +02:00
Faissal Bensefia
411cdf067b
AK: Implement String::to_int ( #99 )
2019-05-26 04:08:36 +02:00
Robin Burchell
23a5ce3319
QuickSort: Don't sort a single item, nothing to do
2019-05-26 01:47:41 +02:00
Andreas Kling
ad908f1395
WindowServer: Factor out compositing from WSWindowManager into WSCompositor.
...
This is far from finished and the two classes are awkwardly grabbing at each
other's innards, but here's a first step in the right direction.
2019-05-24 19:32:46 +02:00
Robin Burchell
6917c42140
Kernel/AK: Move ELF loader to AK
...
This is in preparation for eventually using it in userspace.
LinearAddress.h has not been moved for the time being (as it seems to be
only used by a very small part of the code).
2019-05-23 16:57:34 +02:00
Andreas Kling
a8313ae0a3
AK: Always inline convert_between_host_and_network<T>.
2019-05-21 16:14:02 +02:00
Andreas Kling
52f135fe13
AK: Add some more features to Vector iterators.
2019-05-21 01:36:36 +02:00
Andreas Kling
6e305bf838
AK: Simplify quick_sort() and improve Vector iterators a bit.
2019-05-19 01:53:51 +02:00
Robin Burchell
df74a9222f
Kernel: Fix timeout support in select
...
The scheduler expects m_select_timeout to act as a deadline. That is, it
should contain the time that a task should wake at -- but we were
directly copying the time from userspace, which meant that it always
returned virtually immediately.
At the same time, fix CEventLoop to not rely on the broken select behavior
by subtracting the current time from the time of the nearest timer.
2019-05-18 02:57:38 +02:00
Robin Burchell
5babcac289
Build: Install most headers to Root (and libcore.a/libgui.a)
...
This makes out-of-tree linking possible. And at the same time, add a
CMakeToolchain.txt file that can be used to build arbitrary cmake-using
applications on Serenity by pointing to the CMAKE_TOOLCHAIN_FILE when
running cmake:
-DCMAKE_TOOLCHAIN_FILE=~/code/serenity/Toolchain/CMakeToolchain.txt
2019-05-17 21:59:48 +02:00
Robin Burchell
77dfd419e9
LibCore: Move AK/ArgsParser to LibCore/CArgsParser
...
Also rename the classes to match LibCore naming style.
This means that it's no longer incorrectly linked into LibC and Kernel.
2019-05-17 15:49:37 +02:00
Robin Burchell
bffed9e3cb
ArgsParser: Expand to be able to handle multiple single arguments
...
This is needed for e.g. ln
2019-05-17 15:49:37 +02:00
Robin Burchell
6dd7ee53ea
AK/Userland: Add single value to ArgsParser usage, and port tail to use ArgsParser
2019-05-17 15:49:37 +02:00
Robin Burchell
c478503581
ArgsParser: Remove prefix from constructor
...
It makes sense to keep this consistent between applications, and the
purpose of the string is not immediately obvious from an API perspective.
If we need to make it configurable later, that can come from a setter.
2019-05-17 15:49:37 +02:00
Robin Burchell
729507f2bd
ArgsParser: Remove boolean trap on add_arg
...
Rather than requiring a boolean for whether or not the argument is
required, add some new methods to make the purpose of the bool explicit.
2019-05-17 15:49:37 +02:00
Robin Burchell
5cad215919
ArgsParser: Style fixup
...
Remove tabs, make whitespace lines a little more in fitting with the rest of the codebase.
2019-05-17 15:49:37 +02:00
Andreas Kling
cc5ee3bff4
Vector: Add insert() overload that takes a const T&.
2019-05-17 04:59:56 +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
7198e35465
AK: InlineLRUCache was always filling up one short of capacity.
2019-05-14 15:33:21 +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
19eeaf807d
AK: Add InlineLinkedList::remove_tail().
2019-05-07 16:06:48 +02:00
Andreas Kling
cec16105cc
Make sure all GraphicsBitmap scanlines are 16-byte aligned.
...
This is a prerequisite for some optimizations.
2019-05-06 14:04:54 +02:00
Andreas Kling
fafdda8902
AK: Change HashTable and HashMap size/capacity to be ints.
2019-05-06 13:28:52 +02:00
Andreas Kling
71770e000b
GTextEditor: Add very basic automatic indentation.
...
This is off by default, but enabled by TextEditor. It simply inserts the
same number of leading spaces as the previous line when hitting Enter. :^)
2019-04-25 22:56:09 +02:00
Andreas Kling
44673c4f3b
Kernel: Add a write cache to DiskBackedFS.
...
This way you can spam small write()s on a file without the kernel writing
to disk every single time. Flushes are included in the FS::sync() operation
and will get triggered regularly by syncd. :^)
2019-04-25 22:05:53 +02:00
Andreas Kling
58240fdb33
Do a pass of compiler warning fixes.
...
This is really making me question not using 64-bit integers more.
2019-04-23 13:00:53 +02:00
Andreas Kling
2d7cad6a16
Kernel: Make sure we don't use any FPU/MMX/SSE instructions.
2019-04-22 23:38:33 +02:00
Andreas Kling
6693cfb26a
Kernel: Don't use MMX memcpy() in the kernel.
...
I just discovered the hard way that clobbering FPU/MMX/SSE registers in the
kernel makes things very confusing for userspace (and other kernel threads.)
Let's banish all of those things from the kernel to keep things simple.
2019-04-22 17:13:18 +02:00
Andreas Kling
ab94a6be00
AK: Add String::copy(BufferType) helper.
...
This will create a String from any BufferType that has data() and size().
2019-04-20 14:13:40 +02:00
Andreas Kling
7faf8fabf2
AK: Give Vector the ability to have an inline capacity.
...
This makes Vector malloc-free as long as you stay within the templated
inline capacity. :^)
2019-04-20 13:34:37 +02:00
Andreas Kling
6d4874cb2e
LibC: Get rid of the now-unneeded AK/kmalloc.cpp
2019-04-20 13:00:25 +02:00
Andreas Kling
301a269ca0
Get rid of SERENITY macro since the compiler already defines __serenity__
...
This makes it a bit easier to use AK templates out-of-tree.
2019-04-20 12:58:49 +02:00
Andreas Kling
09c087177c
Snake: Clear the movement queue on game reset.
2019-04-20 03:47:35 +02:00
Andreas Kling
b41e95b578
Snake: Use a queue for the movement inputs.
...
This makes it a lot less finicky to make rapid moves like staircasing and
sudden turns.
2019-04-20 03:44:56 +02:00
Andreas Kling
e001954193
AK: And one more RetainPtr::operator==() G++ complains about in LibGUI.
2019-04-19 21:36:11 +02:00
Andreas Kling
b985d0ec6e
AK: Add RetainPtr::operator==() overload G++ is whining about.
2019-04-19 21:34:47 +02:00
Andreas Kling
3a33b8ea08
VisualBuilder: Hook up everything needed for widget property editing.
...
It's now possible to edit widget properties inline in the properties window.
We're currently relying on the basic GVariant conversion functions to do
all the "parsing" but that's not gonna be good enough.
2019-04-19 01:05:59 +02:00
Andreas Kling
6f9df89c92
AK: MappedFile should open with O_CLOEXEC.
2019-04-18 22:19:42 +02:00
Andreas Kling
18ef6b111b
WindowServer: Mouse switching between system menu and app menu was broken.
2019-04-17 12:06:09 +02:00
Andreas Kling
d31b47b371
AK: Add Vector::prepend().
2019-04-16 03:47:24 +02:00