Tibor Nagy
6e2a16c8a8
LibGfx+LibGUI: Allow theming the focus outline of AbstractButton
2020-02-20 14:19:30 +01:00
Tibor Nagy
c8bc53e987
LibGfx+LibGUI: Allow theming the text cursor
2020-02-20 14:19:30 +01:00
Andreas Kling
88b9fcb976
AK: Use size_t for ByteBuffer sizes
...
This matches what we already do for string types.
2020-02-20 13:20:34 +01:00
Andreas Kling
cd495786a8
LibC: Implement crappy version of pread()
...
This patch adds a crappy pread() just to get "git" working locally.
A proper version would be implemented in the kernel so that we don't
have to mess with the file descriptor's offset at all.
2020-02-20 06:59:23 +01:00
Andreas Kling
7c12d66f61
LibC: Stub out getpass()
2020-02-20 06:58:48 +01:00
Andreas Kling
c3b09c7242
LibC: Add h_errno and stub out getservbyname()
2020-02-20 06:58:16 +01:00
Andreas Kling
cf4da485e6
LibC: Add inet_ntoa()
2020-02-20 06:57:47 +01:00
Andreas Kling
0ba458cfa0
Kernel+LibC: Add SO_REUSEADDR macro
...
Note that this is not actually implemented, I'm just defining it.
2020-02-20 06:57:01 +01:00
Andreas Kling
2a1cad73fe
LibC: Add an empty <netinet/tcp.h>
...
This is enough to placate anyone who includes it without actually using
anything from it. :^)
2020-02-20 06:51:28 +01:00
Andreas Kling
4ddae2c069
LibC: Add some missing macros to inttypes.h
2020-02-20 06:51:16 +01:00
Andreas Kling
124c588f81
LibC: Don't assert on fflush(nullptr)
...
We're supposed to flush all open streams when this happens, but since
we don't know how to do that yet, let's just log a FIXME and not crash.
2020-02-19 23:12:29 +01:00
Andreas Kling
e0d589c074
LibC: Add hack implementation of gmtime_r() matching gmtime()
2020-02-19 23:09:37 +01:00
Andreas Kling
26fb3f7269
LibELF: Short-circuit symbolication when there are no symbols
2020-02-19 22:18:41 +01:00
Andreas Kling
4a66de580e
LibC: Always inline the printf character helpers
2020-02-19 22:11:04 +01:00
Andreas Kling
eaa680ab8e
WindowServer+LibGUI: Force full window repaints after theme change
...
We were not repainting windows that were occluded at the time of the
theme changing. This patch adds a way to bypass occlusion testing when
invalidating window rects.
Fixes #1249 .
2020-02-19 16:46:28 +01:00
Liav A
8a2dc5d188
LibC: Fix big endian definitions
2020-02-19 16:08:28 +01:00
Tibor Nagy
33864ab715
LibGUI: Update TextEditor to use ruler colors from the system theme
2020-02-19 12:24:39 +01:00
Tibor Nagy
5cf5ddf6cb
LibGfx: Add ColorRoles for rulers
2020-02-19 12:24:39 +01:00
Andreas Kling
ef38c49619
WindowServer+LibGUI+LibHTML: Fix build with -std=c++2a
2020-02-19 12:03:01 +01:00
Sergey Bugaev
e0ecfc0c92
LibC: Statically allocate allocators
...
These allocators take up 660 bytes, combined. Let's not waste
two physical pages for them in each process :^)
2020-02-18 11:23:27 +01:00
Andreas Kling
189fa68c0b
LibGUI: Expose GUI::Menu::menu_id() and also allow forced realization
...
Menu realization is when we instruct WindowServer to create the
server-side menu objects on our behalf.
2020-02-17 20:04:05 +01:00
thatlittlegit
4755f355c6
LibGUI: Add Yes/No and Yes/No/Cancel MessageBoxes
2020-02-17 16:28:21 +01:00
Andreas Kling
a78bc5e6fc
LibGUI: Generate NotificationServer IPC messages during build
...
I hacked this to skip using flock since NotificationServer and LibGUI
depend on each other. There's probably a better solution.
2020-02-16 22:37:04 +01:00
Andreas Kling
30549502ca
LibGUI: Generate NotificationServerEndpoint.h if needed
2020-02-16 22:28:48 +01:00
Andreas Kling
9f54ea9bcd
NotificationServer: Add a system service for desktop notifications
...
This patch adds NotificationServer, which runs as the "notify" user
and provides an IPC API for desktop notifications.
LibGUI gains the GUI::Notification class for showing notifications.
NotificationServer is spawned on demand and will unspawn after
dimissing all visible notifications. :^)
Finally, this also comes with a small /bin/notify utility.
2020-02-16 21:58:17 +01:00
Andreas Kling
a6e69bda71
AK: Add basic Traits for RefPtr
...
This allows RefPtr to be stored in a HashTable<RefPtr<T>> :^)
It's unfortunate about the const_casts. We'll need to fix HashMap::get
to play nice with non-const Traits<T>::PeekType at some point.
2020-02-16 21:58:17 +01:00
Tibor Nagy
c7f549ba19
LibGUI: Add mouse wheel event and step property to Slider
2020-02-16 21:58:01 +01:00
Andreas Kling
69bb0c0246
malloc: Use 64KB blocks (instead of 4KB)
...
We now allocate 64KB at a time and divide them into chunks for handing
out to malloc() callers. This significantly reduces the number of
system calls made due to memory allocation.
This yields a ~15% speedup when compiling Process.cpp inside SerenityOS
(down from 24 sec to 20 sec on my machine.)
There's more performance on the table here, no doubt.
2020-02-16 14:11:14 +01:00
Andreas Kling
31e1af732f
Kernel+LibC: Allow sys$mmap() callers to specify address alignment
...
This is exposed via the non-standard serenity_mmap() call in userspace.
2020-02-16 12:55:56 +01:00
Andreas Kling
14bd978928
Revert "LibC: Implement isblank()"
...
This reverts commit 4e79a60b78
.
This broke the GCC port. Apparently isblank() was added in C99 and for
some reason it needs special treatment in headers.
2020-02-16 10:47:54 +01:00
Andreas Kling
fe343a0497
LibGUI: ItemView painting was not respecting the frame thickness
...
Fixes #1112 .
2020-02-16 09:50:38 +01:00
Andreas Kling
2143da6434
LibGUI: Add forwarding header
...
This patch adds <LibGUI/Forward.h> and uses it a bunch.
It also dragged various header dependency reduction changes into it.
2020-02-16 09:41:56 +01:00
Andreas Kling
2e6ab58117
LibGfx: Reduce header dependencies of StylePainter
2020-02-16 09:41:56 +01:00
Tibor Nagy
9041e95e79
LibGUI: Render ScrollBar buttons as pressed when they are being pressed
2020-02-16 09:41:40 +01:00
Tibor Nagy
fc24b2b57d
LibGUI: Make ResizeCorner theme-aware
2020-02-16 08:01:20 +01:00
Shannon Booth
42399167b3
LibCore: Add DirIterator::next_full_path()
2020-02-16 02:19:22 +01:00
Andreas Kling
a356e48150
Kernel: Move all code into the Kernel namespace
2020-02-16 01:27:42 +01:00
Tibor Nagy
7ec1b2e44b
LibGUI: Unfocused TextEditors should use inactive selection colors
2020-02-15 18:42:13 +01:00
Tibor Nagy
4d95163400
LibGUI: Use inactive selection colors from palette instead of hardcoding them
2020-02-15 18:42:13 +01:00
Tibor Nagy
99192fd29f
LibGfx: Add inactive selection colors
2020-02-15 18:42:13 +01:00
Andreas Kling
d5e167e725
LibBareMetal: Install headers so ports can pick them up
2020-02-15 13:31:41 +01:00
Andreas Kling
a4d857e3c5
LibIPC+IPCCompiler: Add IPC::Decoder, let classes decode themselves
...
This shaves ~5 seconds off of a full build, not too bad. Also it just
seems nicer to push this logic out to classes. It could be better but
it's a start. :^)
2020-02-15 12:11:19 +01:00
Andreas Kling
2ae9a56c3f
LibIPC: Move IPC::Encoder functions out of line
...
Compiling anything that includes generated IPC messages is painfully
slow at the moment. This moves the encoding helpers out of line, which
helps a bit. Doing the same for decoding will help more.
2020-02-15 12:10:48 +01:00
Andreas Kling
ef01af1cb2
LibIPC+IPCCompiler: Remove some unused members from generated messages
2020-02-15 12:10:48 +01:00
Shannon Booth
6764b77788
LibCore: Add SkipParentAndBaseDir flag in DirIterator
...
Sometimes we may want to iterate over dotfiles but not include the
parent or base directory
2020-02-15 11:40:05 +01:00
Shannon Booth
3879d75219
LibCore: Simplify some of DirIterator's code
...
The main changes are in advance_next() where we flatten some of the
nesting to improve readability
2020-02-15 11:40:05 +01:00
Andreas Kling
0e3a9d8e9d
LibCore: Reduce header dependencies of EventLoop
2020-02-15 02:09:00 +01:00
Andreas Kling
b011ea9962
LibGUI: Reduce menu-related header dependencies
2020-02-15 01:56:30 +01:00
Andreas Kling
9e83bbe1cd
LibGUI: Reduce header dependencies of GUI::Action
2020-02-15 01:34:00 +01:00
Andreas Kling
10ccc9e11c
LibGUI: Don't leak every tooltip window ever :^)
2020-02-15 01:27:37 +01:00