summaryrefslogtreecommitdiff
path: root/Userland/Services/NotificationServer
AgeCommit message (Collapse)Author
2021-08-18Userland+LibGUI: Add shorthand versions of the Margins constructorsin-ack
This allows for typing [8] instead of [8, 8, 8, 8] to specify the same margin on all edges, for example. The constructors follow CSS' style of specifying margins. The added constructors are: - Margins(int all): Sets the same margin on all edges. - Margins(int vertical, int horizontal): Sets the first argument to top and bottom margins, and the second argument to left and right margins. - Margins(int top, int vertical, int bottom): Sets the first argument to the top margin, the second argument to the left and right margins, and the third argument to the bottom margin.
2021-07-26NotificationServer: Expand the notification when hoveredsin-ack
Now, instead of showing a tooltip, the entire notification will be shown when the user hovers over a notification. In the future, limiting the amount of lines shown within the notification and moving extra lines to the tooltip again might be a good idea.
2021-07-03Everywhere: Use IPC include syntaxTimothy
Remove superfluous includes from IPCCompiler's generated output and add include directives in IPC definitions where appropriate.
2021-06-24Userland: Remove dummy IPC methodsGunnar Beutner
They're not used anywhere and are unnecessary boilerplate code. So let's remove them and update IPCCompiler to allow for empty endpoint declarations.
2021-06-20WindowServer: Add API to set/get screen layoutsTom
This sets the stage so that DisplaySettings can configure the screen layout and set various screen resolutions in one go. It also allows for an easy "atomic" revert of the previous settings.
2021-06-20WindowServer: Add initial support for rendering on multiple screensTom
This allows WindowServer to use multiple framebuffer devices and compose the desktop with any arbitrary layout. Currently, it is assumed that it is configured contiguous and non-overlapping, but this should eventually be enforced. To make rendering efficient, each window now also tracks on which screens it needs to be rendered. This way we don't have to iterate all the windows for each screen but instead use the same rendering loop and then only render to the screen (or screens) that the window actually uses.
2021-06-17Everywhere: Add component declarationsGunnar Beutner
This adds component declarations so that users can select to not build certain parts of the OS.
2021-05-23NotificationServer: Remove unnecessary greet() messageAndreas Kling
2021-05-20LibGfx: Remove Gfx::FontDatabase::default_bold_font()Andreas Kling
Instead use default_font().bold_variant() in cases where we want a bold variant of the default font. :^)
2021-05-13Userland: Tighten a *lot* of pledges! :^)Andreas Kling
Since applications using Core::EventLoop no longer need to create a socket in /tmp/rpc/, and also don't need to listen for incoming connections on this socket, we can remove a whole bunch of pledges!
2021-05-03Userland: Use snake case names in .ipc filesGunnar Beutner
This updates all .ipc files to have snake case names for IPC methods.
2021-05-03Userland: Update IPC calls to use proxiesGunnar Beutner
This updates all existing code to use the auto-generated client methods instead of post_message/send_sync.
2021-05-03Userland: Split IPC endpoints into proxies and stubsGunnar Beutner
This enables support for automatically generating client methods. With this added the user gets code completion support for all IPC methods which are available on a connection object.
2021-05-03Userland: Change IPC funcs to use plain arguments instead of a structGunnar Beutner
Instead of having a single overloaded handle method each method gets its own unique method name now.
2021-05-02Userland: Make IPC handlers return void if they don't have any outputsGunnar Beutner
2021-05-02Userland: Get rid of the OwnPtr<...> boilerplate code for IPC handlersGunnar Beutner
2021-04-25IPCCompiler: Remove hardcoded endpoint magic, attempt deuxsin-ack
This patch removes the IPC endpoint numbers that needed to be specified in the IPC files. Since the string hash is a (hopefully) collision free number that depends on the name of the endpoint, we now use that instead. :^) Additionally, endpoint magic is now treated as a u32, because endpoint numbers were never negative anyway. For cases where the endpoint number does have to be hardcoded (a current case is LookupServer because the endpoint number must be known in LibC), the syntax has been made more explicit to avoid confusing those unfamiliar. To hardcode the endpoint magic, the following syntax is now used: endpoint EndpointName [magic=1234]
2021-04-25Revert "IPCCompiler: Use string hashes for IPC endpoint magic"Andreas Kling
This reverts commit 59218007a3034c7770b7fa5277ce1eae85bb1c07.
2021-04-25IPCCompiler: Use string hashes for IPC endpoint magicsin-ack
This patch removes the IPC endpoint numbers that needed to be specified in the IPC files. Since the string hash is a (hopefully) collision free number that depends on the name of the endpoint, we now use that instead. :^)
2021-04-22Everything: Move to SPDX license identifiers in all files.Brian Gianforcaro
SPDX License Identifiers are a more compact / standardized way of representing file license information. See: https://spdx.dev/resources/use/#identifiers This was done with the `ambr` search and replace tool. ambr --no-parent-ignore --key-from-file --rep-from-file key.txt rep.txt *
2021-04-12WindowServer: Fix notification placementValtteri Koskivuori
No more top bar, no more extra padding. Spacing is equal on the top and on the left, so it looks pretty tidy.
2021-04-04Everywhere: Replace uses of GUI::Desktop's on_rect_change and remove itLinus Groh
2021-03-22Notification: Remove default imageNick Johnson
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-22Notification: Use on_closeNick Johnson
on_close_request is not called at any point if close is explicitly called, so we must instead use on_close.
2021-03-22LibGUI+Notification: Add mutable notificationsNick Johnson
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-22LibGUI+Notification: Add notification closingNick Johnson
Closing a notification will now allow it to be shown again, as m_showing being false means it can be re-shown.
2021-03-22Notification: Member-ize updatable componentsNick Johnson
Changes the necessary widgets to be pointers so we can later change their underlying data.
2021-03-22Notification: Allow getting window by IDNick Johnson
This is a neccessity so a connection can get the notification it is connected to for later updates.
2021-03-22Notification: Give a unique internal IDNick Johnson
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-02-23Everywhere: Rename ASSERT => VERIFYAndreas Kling
(...and ASSERT_NOT_REACHED => VERIFY_NOT_REACHED) Since all of these checks are done in release builds as well, let's rename them to VERIFY to prevent confusion, as everyone is used to assertions being compiled out in release. We can introduce a new ASSERT macro that is specifically for debug checks, but I'm doing this wholesale conversion first since we've accumulated thousands of these already, and it's not immediately obvious which ones are suitable for ASSERT.
2021-02-10NotificationWindow: Set notification text as tooltip contentItamar
2021-02-01LibIPC: Stop sending client ID to clientsAndreas Kling
The client ID is not useful to normal clients anymore, so stop telling everyone what their ID is.
2021-01-16Everywhere: Drop "shared_buffer" in most GUI programs, pledge "recvfd"Andreas Kling
Now that WindowServer broadcasts the system theme using an anonymous file, we need clients to pledge "recvfd" so they can receive it. Some programs keep the "shared_buffer" pledge since it's still used for a handful of things.
2021-01-15LibGfx: Make Gfx::ShareableBitmap use anonymous files instead of shbufsAndreas Kling
2021-01-15Everywhere: Pledge "sendfd" in WindowServer client programsAndreas Kling
This is needed for the new way we transfer window backing stores.
2021-01-12Services: Move to Userland/Services/Andreas Kling