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
Andreas Kling
dcb0766d3f
LibGUI: Remove some header dependencies from Application.h
2020-02-15 01:18:32 +01:00
Andreas Kling
93e9c2732b
LibGfx: Remove unused Bitmap::load_from_file() for loading raw RGBA
...
This was not used anywhere but added unnecessary members to Bitmap.
2020-02-15 01:06:32 +01:00
Andreas Kling
9c0c677d57
LibGfx: Reduce header dependencies of Bitmap and Font
2020-02-15 01:03:37 +01:00
Andreas Kling
34b5ff7c29
LibGfx: Move a bunch of LogStream::operator<< to cpp files
2020-02-15 00:58:54 +01:00
Andreas Kling
3866e0d4d4
LibCore: Move LogStream::operator<< overloads into cpp files
2020-02-15 00:58:52 +01:00
Andreas Kling
2a41bff329
LibCore: Remove a bunch of unnecessary forward declarations
...
Now that we get LibCore forward declarations from <LibCore/Forward.h>,
we don't need to declare things manually.
2020-02-15 00:32:33 +01:00
Andreas Kling
66903ad987
LibGfx: Remove Utf8View.h dependency from Font.h
2020-02-15 00:27:50 +01:00
Andreas Kling
e1ff4fa034
LibGUI: Remove more header dependencies from Widget.h
2020-02-15 00:24:14 +01:00
Andreas Kling
69400c2ca1
LibCore: Replace manual forward declarations with <LibCore/Forward.h>
2020-02-15 00:13:44 +01:00
Andreas Kling
6a3cd11a80
AK: Remove manual forward declarations with <AK/Forward.h>
2020-02-15 00:12:31 +01:00
Andreas Kling
a368cf7d51
LibGfx: Replace manual forward declarations with <LibGfx/Forward.h>
2020-02-15 00:10:34 +01:00
Andreas Kling
34c7322d77
LibGUI: Remove some header dependencies from Widget.h
2020-02-14 23:53:11 +01:00
Andreas Kling
08cae2773d
LibGfx: More work on header dependency reduction
2020-02-14 23:33:21 +01:00
Andreas Kling
3fe2640c8c
LibGfx: Add forward declaration header
...
This patch adds <LibGfx/Forward.h> with forward declarations for Gfx.
2020-02-14 23:31:18 +01:00