Tom
7e9c265cc0
WindowManager: Allow disabling window hit testing altogether
...
This allows us to disable hit testing for transparent windows that
don't use alpha channels.
2021-03-28 20:42:21 +02:00
Andreas Kling
526b4bbfdb
WindowServer: Add ability to show/hide window menubars
...
This patch adds a toggle item to the window menu that controls window
menubar visibility. This is available in all windows with a menu.
2021-03-28 13:40:40 +02:00
Andreas Kling
71a9a14c17
WindowServer: Make Window::event() protected
2021-03-28 11:25:57 +02:00
Andreas Kling
6f45c27d06
WindowServer: Don't call Core::Object::event() directly
...
To make sure event filters are respected, we should not be calling
event() directly, but rather dispatch_event().
2021-03-28 11:19:18 +02:00
Linus Groh
e288541a9b
Taskbar: Set window title as taskbar button tooltip
...
This way it's easier to find the right window when many are open at the
same time, as all buttons share a limited amount of horizontal space and
titles get truncated quickly.
2021-03-27 16:28:21 +01:00
Linus Groh
2fde87e67d
WindowServer: Also keep menus open when activated via Ctrl + return key
...
I see no reason to limit this awesome feature to mouse clicks. :^)
2021-03-27 11:33:41 +01:00
Cesar Torres
0198ecca21
AudioServer: don't set an upper limit on volume in mixer
...
Let's not limit volume so we can play clips at over 100% without
the need to process the audio samples twice.
2021-03-27 10:20:55 +01:00
Cesar Torres
0d5e1e9df1
Everywhere: rename 'Sample' type to 'Frame'
...
Because it's what it really is. A frame is composed of 1 or more samples, in
the case of SerenityOS 2 (stereo). This will make it less confusing for
future mantainability.
2021-03-27 10:20:55 +01:00
Andreas Kling
d9f8f6a2d0
WindowServer: Add an IPC call for taking a screenshot
...
This patch adds Messages::WindowServer::GetScreenBitmap. It returns the
currently displayed on-screen bitmap as-is, as a Gfx::ShareableBitmap.
2021-03-26 20:33:23 +01:00
Timothy Flynn
557927f25b
LibWeb+WebContent: Support displaying favicons in OOPWV
...
In single process mode, the browser will display a page's favicon in
both the location bar and tab. This adds the same support for multi-
process mode.
2021-03-26 16:55:51 +01:00
Andreas Kling
ecb0ae9c33
WindowServer: Keep menu open when activating a menu item with Ctrl held
...
This makes it easy to "try out" different options (like system themes!)
in a menu without having to re-open the menu over and over. :^)
2021-03-26 14:45:15 +01:00
Andreas Kling
b31b904ad0
WindowServer: Redraw all menus on system theme change
2021-03-26 14:42:38 +01:00
Andreas Kling
4b6fba1e4c
WindowServer+LibGfx: Make menubar menus slightly larger
...
Also make sure the left/right padding is equally large.
2021-03-26 14:25:37 +01:00
Andreas Kling
3020f5efd9
Taskbar: Add more prominent Help app icon in the start menu
2021-03-26 13:54:56 +01:00
Andreas Kling
b8a9f433f9
Taskbar: Move "About SerenityOS" to the top of the start menu
2021-03-26 13:31:10 +01:00
Linus Groh
b220c89c5c
WindowServer: Adjust position of flipped submenus by menu item height
...
Fixes #5950 .
2021-03-26 09:25:22 +01:00
Linus Groh
8461100bf7
WindowServer: Add clip rect to menubar painter
...
Fixes #5951 .
2021-03-26 09:25:22 +01:00
Andreas Kling
6203a4a2e9
WindowServer: Remove unused Menu->MenuBar link and "title font"
...
We kept a backpointer from the Menu to its containing MenuBar, but it
was not used for anything so let's remove it.
Since all menus have the same font now, there's no need to track a
separate "title font".
2021-03-26 09:12:32 +01:00
Andreas Kling
dfb81242f3
WindowServer: Redraw window menubars when moving with arrow keys
...
Also, make sure we don't draw a menu in hovered state while another
menu is open.
Fixes #5949 .
2021-03-26 08:59:32 +01:00
Andreas Kling
6ae174f80a
WindowServer: Remove some leftover unused menubar things
2021-03-26 08:54:33 +01:00
Andreas Kling
baae3f706a
Taskbar: Only show H:M:S by default, move date to tooltip
2021-03-25 23:32:00 +01:00
Andreas Kling
e9db10e3a9
WindowServer+LibGUI: Remove the global menubar :^)
...
This leaves menu applets running but invisible, and that's a regression
we need to take care of obviously. But not today, because it's getting
too late.
2021-03-25 23:27:11 +01:00
Andreas Kling
1108c41790
WindowServer: Don't fill the active menubar menu with selection color
2021-03-25 23:19:57 +01:00
Andreas Kling
327866520a
WindowServer: Remove "system menu" concept from WindowServer
2021-03-25 23:08:34 +01:00
Andreas Kling
619a223800
SystemMenu: Remove SystemMenu service
...
This has been replaced by the Taskbar's start menu.
2021-03-25 23:08:29 +01:00
Andreas Kling
73a2045c5b
Taskbar: Add start menu :^)
...
This will replace the system menu in the top left of the screen.
The button behavior doesn't feel quite perfect yet, but this will
work for now!
2021-03-25 22:55:10 +01:00
Andreas Kling
0668b5beef
Taskbar: Integrate clock widget into taskbar window
...
Instead of running the clock widget as a separate menu applet,
let's just draw a clock here in the taskbar window.
2021-03-25 22:14:09 +01:00
Andreas Kling
fc84076f18
WindowServer: Remove SetApplicationMenubar IPC message
2021-03-25 22:14:09 +01:00
Andreas Kling
fcc8e3484f
WindowServer: Remove the global app menu
...
The SetApplicationMenu IPC message is still there, since we also need
to clean up all of the client code before we can remove that.
2021-03-25 22:14:09 +01:00
Andreas Kling
05cc7d69ac
WindowServer: Tweak the look of menus
...
Paint menus with a flatter outline instead of giving them the regular
window border.
2021-03-25 22:14:09 +01:00
Andreas Kling
e76771bfad
WindowServer+LibGfx: Show menus in windows! :^)
...
This patch begins the transition away from the global menu towards
per-window menus instead.
The global menu looks neat, but has always felt clunky, and there
are a number of usability problems with it, especially in programs
with multiple windows.
You can now call GUI::Window::set_menubar() to add a menubar to
your window. It will be specific to that one window only.
2021-03-25 22:14:09 +01:00
Nick Johnson
9d09594e44
Notification: Remove default image
...
This takes up a lot of space if it is not used, and the default image
does not give value. Therefore, we hide the image widget if an invalid
image is passed.
2021-03-22 12:46:16 +01:00
Nick Johnson
e17752fc91
Notification: Use on_close
...
on_close_request is not called at any point if close is explicitly
called, so we must instead use on_close.
2021-03-22 12:46:16 +01:00
Nick Johnson
8f6894d250
LibGUI+Notification: Add mutable notifications
...
This commit puts all of the remaining pieces in place. This adds a
mechanism to update the text, title, and icon of an image. If an image
is not provided, the default ladybug will be shown.
2021-03-22 12:46:16 +01:00
Nick Johnson
0fd1e6f062
LibGUI+Notification: Add notification closing
...
Closing a notification will now allow it to be shown again, as
m_showing being false means it can be re-shown.
2021-03-22 12:46:16 +01:00
Nick Johnson
ef4144c183
Notification: Member-ize updatable components
...
Changes the necessary widgets to be pointers so we can later change
their underlying data.
2021-03-22 12:46:16 +01:00
Nick Johnson
f2814dd6c1
Notification: Allow getting window by ID
...
This is a neccessity so a connection can get the notification it is
connected to for later updates.
2021-03-22 12:46:16 +01:00
Nick Johnson
a437430294
Notification: Give a unique internal ID
...
This will allow us to later query the notifications from a connection
and safely update it without exposing it to any other applications, as
it is session based.
2021-03-22 12:46:16 +01:00
Jean-Baptiste Boric
ade6343fca
Userland: Fix printf specifiers with off_t
...
In theory we should probably use the 'j' qualifier, but we don't
support it.
2021-03-17 23:22:42 +01:00
Andreas Kling
f59ad2dc57
Everywhere: Remove pessimizing and redundant move()
2021-03-17 16:30:15 +01:00
Andreas Kling
e0f32626bc
LibGfx: Rename 32-bit BitmapFormats to BGRA8888 and BGRx888x
...
The previous names (RGBA32 and RGB32) were misleading since that's not
the actual byte order in memory. The new names reflect exactly how the
color values get laid out in bitmap data.
2021-03-16 11:50:03 +01:00
Elie Donadio
3a5a9a683f
Apply suggestions from code review
...
Small adjustments, as suggested by linus.
Co-authored-by: Linus Groh <mail@linusgroh.de>
2021-03-15 16:08:31 +01:00
ElDonad
a0c0d781e8
LaunchServer: added additional file parameters
...
This small commit should allow to specify additionnal parameters in the
form of URL queries, when opening a file via a "file://" url through the
LaunchServer.
2021-03-15 16:08:31 +01:00
Andreas Kling
ef1e5db1d0
Everywhere: Remove klog(), dbg() and purge all LogStream usage :^)
...
Good-bye LogStream. Long live AK::Format!
2021-03-12 17:29:37 +01:00
thankyouverycool
142ca4b818
WindowServer+LibGfx: Enumerate Disallow cursor
2021-03-12 09:59:03 +01:00
Andreas Kling
6e2a29d038
WindowServer: Don't open system menu on super key press while dragging
2021-03-11 19:00:24 +01:00
Andreas Kling
38f11cc1ba
Everywhere: Rename "logo" key to "super" key
...
This seems to be the most common way to refer to this key, so let's
call it what people actually call it.
2021-03-11 18:55:16 +01:00
Emanuele Torre
1f81bc6879
Everywhere: Remove unnecessary whitespace at the end of some lines.
2021-03-08 09:20:53 +01:00
Andreas Kling
7f9f916470
LibWeb: Make tiled backgrounds scroll with content
...
Previously the page background was always draw relative to the viewport
instead of following with the content. This should eventually become
an opt-in mode (via CSS "background-attachment") but for now let's have
the default behavior be that backgrounds scroll with content.
Also take this opportunity to move the background painting code from
the two web views to a shared location in InitialContainingBlockBox.
2021-03-07 13:49:20 +01:00
speles
6c087480cf
LaunchServer: Use new FileManager flags instead of two arguments
2021-03-07 11:00:36 +01:00