joshua stein
dab78c90f3
LibGUI: Don't specify LibC/ for standard includes
2020-02-05 18:39:45 +01:00
joshua stein
534d27693c
LibGUI: Remove unused m_layout_dirty
2020-02-05 18:39:45 +01:00
joshua stein
7d06e37a63
LibDraw: Fix building with clang
2020-02-05 18:39:45 +01:00
joshua stein
f5ecb31fc8
LibDraw: Make [gs]et_pixel arguments used
2020-02-05 18:39:45 +01:00
joshua stein
9143208419
LibDraw: Don't specify LibC/ in standard include paths
2020-02-05 18:39:45 +01:00
joshua stein
482611766a
LibThread: Store thread id as pthread_t, use pthread_self()
...
Serenity calls pthread_self() for gettid() anyway but this makes it
portable.
2020-02-05 18:39:45 +01:00
joshua stein
b5fc1fcb46
LibIPC: Add support for 64-bit size_t in IEncoder
2020-02-05 18:39:45 +01:00
joshua stein
f6a8b1b69a
LibCore: Fix building with clang
2020-02-05 18:39:45 +01:00
joshua stein
868b1a24bb
LibC: Move struct stat to sys/stat.h
2020-02-05 18:39:45 +01:00
Sergey Bugaev
b3a24d732d
Kernel+LibC: Add sys$waitid(), and make sys$waitpid() wrap it
...
sys$waitid() takes an explicit description of whether it's waiting for a single
process with the given PID, all of the children, a group, etc., and returns its
info as a siginfo_t.
It also doesn't automatically imply WEXITED, which clears up the confusion in
the kernel.
2020-02-05 18:14:37 +01:00
Sergey Bugaev
a6cb7f759e
Kernel+LibC: Add some Unix signal types & definitions
2020-02-05 18:14:37 +01:00
Sergey Bugaev
aafa5a9d09
LibC: Fix misplaced brace
...
It doesn't really make a difference since waitpid() is declared to have
extern "C" linkage in the header anyway, but still.
2020-02-05 18:14:37 +01:00
Kenzi Jeanis
6c9d66ed4b
LibC: Add byteswap.h, forwarding bswap_N to GCC builtins
2020-02-03 19:53:54 +01:00
Kenzi Jeanis
e2110b633e
LibC: Copy the net directory into /usr/include during build
2020-02-03 19:51:12 +01:00
Sergey Bugaev
589bd0a7de
LibC: Implement getsid()
...
We've had a declaration, but not a definition.
2020-02-03 19:50:45 +01:00
Sergey Bugaev
a6e7797a31
LibC: Move waitpid() to sys/wait.h
...
That's where POSIX says it should be.
2020-02-03 19:50:45 +01:00
Sergey Bugaev
4e79a60b78
LibC: Implement isblank()
2020-02-03 19:50:45 +01:00
Andreas Kling
fa97ff1c83
LibC: Allow opting into malloc() and free() performance event logging
...
If a program is started with LIBC_PROFILE_MALLOC in the environment,
it will now generate PERF_EVENT_MALLOC and PERF_EVENT_FREE.
2020-02-02 20:29:50 +01:00
Andreas Kling
c5bd9d4ed1
LibGUI: Put all classes in the GUI namespace and remove the leading G
...
This took me a moment. Welcome to the new world of GUI::Widget! :^)
2020-02-02 15:15:33 +01:00
Andreas Kling
2d39da5405
LibCore: Put all classes in the Core namespace and remove the leading C
...
I've been wanting to do this for a long time. It's time we start being
consistent about how this stuff works.
The new convention is:
- "LibFoo" is a userspace library that provides the "Foo" namespace.
That's it :^) This was pretty tedious to convert and I didn't even
start on LibGUI yet. But it's coming up next.
2020-02-02 15:15:30 +01:00
Andreas Kling
d67da8c101
LibGUI: Add GHBoxLayout and GVBoxLayout convenience classes
2020-02-02 15:09:48 +01:00
asliturk
9dfe6521fc
LibGUI: Save current wallpaper setting to WindowManager.ini.
2020-02-02 15:08:37 +01:00
Jesse Buhagiar
5f78e2ff3a
LibC: Implement putpwent()
...
It was previously impossible to (correctly) put an entry into the
password file via libc. This patch implements the functionality
to do so.
2020-02-02 10:58:45 +01:00
Jesse Buhagiar
dfaa5ecf81
LibC: Implement append modes for fopen()
...
Previously, `fopen()` didn't contain an implementation for the
append modes, even though the Kernel supports it via `O_APPEND`.
This patch rectifies that by implementing them so an assert is
no longer thrown.
2020-02-02 10:58:45 +01:00
Jesse Buhagiar
cdbdd397db
LibC: Move FILE
definition to bits/FILE.h
...
There are some headers in libc that require us to have definitions,
such as `FILE` available to us (such as in `pwd.h`). It is bad
practice to include the entirety of `stdio.h`, so it makes more
sense to put `FILE` into it's own header.
2020-02-02 10:58:45 +01:00
Andrew Kaster
117820f610
Meta: Claim copyright on files added by me
...
Demos/DynamicLink, LibC/cxxabi.cpp, and LibELF/ELFDynamic*.[cpp/h]
2020-02-02 02:05:38 +01:00
Andreas Kling
5b47b0d867
LibGUI: Make GAction scoped to its CObject parent (widget or window)
...
Unparented GActions are still parented to the application like before,
making them globally available.
This makes it possible to have actions that work whenever a specific
window is active, no matter which widget is currently focused. :^)
2020-02-02 02:03:39 +01:00
Andreas Kling
6ab9dc4ff4
LibCore: is<CObject>(object) should not default to true
...
Otherwise we'll lie about anything that doesn't implement is<T>() and
think it's indeed a T.
2020-02-02 02:03:39 +01:00
Andreas Kling
d0c230855d
LibCore: Fix CArgsParser build on my host machine
2020-02-01 20:18:53 +01:00
Andreas Kling
998765a7a6
LibC: The exec() family of functions should not search "." by default
...
We should only execute the filename verbatim if it contains a slash (/)
character somewhere. Otherwise, we need to look through the entries in
the PATH environment variable.
This fixes an issue where you could easily "override" system programs
by placing them in a directory you control, and then waiting for
someone to come there and run e.g "ls" :^)
Test: LibC/exec-should-not-search-current-directory.cpp
2020-02-01 16:14:09 +01:00
Andreas Kling
089110af93
LibPthread: Disable debug spam by default
2020-02-01 12:25:51 +01:00
Sergey Bugaev
831ff2d0ac
LibGUI: Only consider starting a drag from an already selected item
...
This means we can deselect other items immediately when performing a mouse-down
on an unselected item.
2020-01-28 15:08:27 +01:00
Sergey Bugaev
f9b4d981a8
LibGUI+FileManager: Try better to detect executables
...
We will now consider a file to be an executable if any of the executable
permission bits are set.
2020-01-28 15:08:27 +01:00
Sergey Bugaev
9276582535
LibCore: Rewrite CArgsParser
...
This is a complete reimplementation of CArgsParser with a different API.
Now, CArgsParser properly supports and distinguishes between:
* Positional arguments (required or not)
* Options
Options can be short and/or long.
The API allows you to add custom option and argument types. A few types are
pre-implemented for convenience:
* Boolean options (take no value)
* String and integer options (take a required value)
* String and integer arguments
* Vector-of-string arguments
This commit doesn't include changes for all the users of CArgsParser (see next
commit for that).
2020-01-28 13:50:18 +01:00
Andreas Kling
e7512ae2d1
GFileSystemModel: Don't copy the null-terminator after readlink()
2020-01-28 10:52:10 +01:00
Andreas Kling
c5db596c78
LibGUI: Fix crash when trying to scroll above the head of the document
...
We can't go higher than line 0. Can't rely on max() here since line
numbers are unsigned.
Fixes #1145 .
2020-01-27 22:59:46 +01:00
Andreas Kling
f7b394af7d
LibGUI: Add symlink targets as a column in GFileSystemModel
...
Also make sure to hide this column by default where we don't expect
to see it.
2020-01-27 22:19:05 +01:00
Andreas Kling
f2f0965edd
LibGUI: Have GFileSystemModel use stat instead of lstat for the root
...
This allows you to set the GFileSystemModel root to a symlink to a
directory and it nicely opens that directory like you would expect.
2020-01-27 22:10:19 +01:00
Andreas Kling
65961d3ffc
LibC: Add WSTOPSIG macro
...
This macro can be used on the "status" output from sys$waitpid() to
find out which signal caused the waitee process to stop.
Fixes #794 .
2020-01-27 20:47:56 +01:00
Andreas Kling
23ffd6c319
Kernel+LibC+Userland: Switch to 64-bit time_t
...
Let's not have that 2038 problem people are talking about. :^)
2020-01-27 10:59:29 +01:00
Andreas Kling
6906edee9a
LibGUI: Add 64-bit signed integer support to GVariant
...
What was previously the "Int" type is now "Int32" and "Int64".
2020-01-27 10:55:10 +01:00
Linus Groh
174583cda5
LibVT: Add parameter names in function signatures for clarity
2020-01-26 15:58:06 +01:00
Linus Groh
3549623dc6
LibVT: Rename escape$r to DECSTBM (Set Top and Bottom Margins)
2020-01-26 15:58:06 +01:00
Linus Groh
79f88db6fb
LibVT: Remove empty line
2020-01-26 15:58:06 +01:00
Linus Groh
fd8c250866
LibVT: Replace escape$h_l with SM (Set Mode) / RM (Reset Mode)
2020-01-26 15:58:06 +01:00
Linus Groh
be57b81336
LibVT: Rename escape$f to HVP (Horizontal and Vertical Position)
2020-01-26 15:58:06 +01:00
Linus Groh
2edd8e37ae
LibVT: Rename escape$c to DA (Device Attributes)
2020-01-26 15:58:06 +01:00
Linus Groh
dcb5bf9e50
LibVT: Rename escape$m to SGR (Select Graphic Rendition)
2020-01-26 15:58:06 +01:00
Linus Groh
296afbe624
LibVT: Rename escape$H to CUP (Cursor Position)
2020-01-26 15:58:06 +01:00
Linus Groh
5cdfc58242
LibVT: Rename escape$D to CUB (Cursor Backward)
2020-01-26 15:58:06 +01:00