summaryrefslogtreecommitdiff
path: root/Applications/Taskbar
AgeCommit message (Collapse)Author
2019-09-06AK: Rename <AK/AKString.h> to <AK/String.h>Andreas Kling
This was a workaround to be able to build on case-insensitive file systems where it might get confused about <string.h> vs <String.h>. Let's just not support building that way, so String.h can have an objectively nicer name. :^)
2019-07-28WindowServer+LibGUI: Remove old "icon path" way of doing things.Andreas Kling
Now that we can set icons directly "by bitmap", there's no need for passing around the icon paths anymore, so get rid of all the IPC and API related to that. :^)
2019-07-28WindowServer+LibGUI: Pass window icons as shared buffers rather than paths.Andreas Kling
Now that we support more than 2 clients per shared buffer, we can use them for window icons. I didn't do that previously since it would have made the Taskbar process unable to access the icons. This opens up some nice possibilities for programmatically generated icons.
2019-07-25LibCore: Introduce a C_OBJECT macro.Andreas Kling
This macro goes at the top of every CObject-derived class like so: class SomeClass : public CObject { C_OBJECT(SomeClass) public: ... At the moment, all it does is create an override for the class_name() getter but in the future this will be used to automatically insert member functions into these classes.
2019-07-24Convert HashMap<Key, OwnPtr<T>> to HashMap<Key, NonnullOwnPtr<T>>.Andreas Kling
In every case I found, we never wanted to support null entry values. With NonnullOwnPtr, we can encode that at the type level. :^)
2019-07-23LibGUI: Get rid of GWindow::should_exit_event_loop_on_close().Andreas Kling
This behavior and API was extremely counter-intuitive since our default behavior was for applications to never exit after you close all of their windows. Now that we exit the event loop by default when the very last GWindow is deleted, we don't have to worry about this.
2019-07-20GWidget: Add set_preferred_size(width, height) overload.Andreas Kling
It was annoying to always write set_preferred_size({ width, height }). :^)
2019-07-18LibDraw: Introduce (formerly known as SharedGraphics.)Andreas Kling
Instead of LibGUI and WindowServer building their own copies of the drawing and graphics code, let's it in a separate LibDraw library. This avoids building the code twice, and will encourage better separation of concerns. :^)
2019-07-17LibGUI: Revert GWindowServerConnection to being a singletonRobin Burchell
This was a mistake, of course. Nested event loops don't need (or want) independent server connections. We initialize the connection early in GEventLoop for e.g. users that want to get the size of a GDesktop before the connection has been established. Bug noticed by Andreas, introduced by me ;-)
2019-07-17Port LibGUI to use CIPCClientSideConnectionRobin Burchell
As a consequence, move to use an explicit handshake() method rather than calling virtuals from the constructor. This seemed to not bother AClientConnection, but LibGUI crashes (rightfully) because of it.
2019-06-30Meta: Removed all gitignore in the source tree only keeping the root oneVAN BOSSUYT Nicolas
2019-06-29AK: Defer to Traits<T> for equality comparison in container templates.Andreas Kling
This is prep work for supporting HashMap with NonnullRefPtr<T> as values. It's currently not possible because many HashTable functions require being able to default-construct the value type.
2019-06-25Move common Application build steps into their own Makefile.commonLawrence Manning
Further consolidation is of course possible, eg the Games/ programs follow the same rules more or less.
2019-06-21AK: Rename RetainPtr => RefPtr and Retained => NonnullRefPtr.Andreas Kling
2019-06-21WindowServer+Taskbar: Let WindowServer manage the "window menus".Andreas Kling
Taskbar now simply asks the WindowServer to popup a window menu when right clicking on a taskbar button. This patch also implements the "close" menu item, and furthermore makes the window menu show up when you left-click a window's titlebar icon. :^)
2019-06-07Applications: Run clang-format on everything.Andreas Kling
2019-05-28Add clang-format fileRobin Burchell
Also run it across the whole tree to get everything using the One True Style. We don't yet run this in an automated fashion as it's a little slow, but there is a snippet to do so in makeall.sh.
2019-05-24LibGUI: Add a GAbstractButton base class for button widgets.Andreas Kling
This patch moves GButton and GRadioButton to inherit from it. This allows them to share code for mouse event handling, etc.
2019-05-16WindowServer/GMenu: Adjust the popup position to fit the window inside the ↵Robin Burchell
screen Rather than passing a "top_anchored" bool. Fixes #22.
2019-05-13Fix "make clean" not deleting app binaries.Andreas Kling
2019-04-24Taskbar: Clicking a window button now toggles minimized state.Andreas Kling
2019-04-24Taskbar: Forgot to add WindowIdentifier.h.Andreas Kling
2019-04-23WindowServer+TaskBar: Add a taskbar window button popup menu.Andreas Kling
This patch only hooks up the minimize and unminimize actions.
2019-04-21Include Makefile.common in all other Makefiles.Andreas Kling
2019-04-20WindowServer: Introduce a WM event mask so Taskbar can ignore window rects.Andreas Kling
Taskbar was waking up to do nothing every time a window rect changed.
2019-04-20Get rid of SERENITY macro since the compiler already defines __serenity__Andreas Kling
This makes it a bit easier to use AK templates out-of-tree.
2019-04-18WindowServer: Generate a separate WM event for window icon changes.Andreas Kling
2019-04-13WindowServer+LibGUI: Add ability to set per-window icons.Andreas Kling
The icons are passed around as filesystem paths for now, since the shared memory bitmaps only support 2 sides.
2019-04-10Taskbar: Don't unconditionally update buttons on every state change.Andreas Kling
2019-04-10Introduce LibCore and move GElapsedTimer => CElapsedTimer.Andreas Kling
I need a layer somewhere between AK (usable both by userspace and kernel) and LibGUI (usable by userspace except WindowServer.) So here's LibCore.
2019-04-10LibGUI: Move frame painting from GFrame to StylePainter.Andreas Kling
This way it can be used by others who might not have a GFrame object.
2019-04-08Taskbar: Replace TaskbarWidget with a simple GFrame.Andreas Kling
There's no need for a custom widget here, at least not now.
2019-04-06Taskbar: Show minimized window titles in [brackets].Andreas Kling
Had to plumb the minimization state from WindowServer to Toolbar in order to implement this.
2019-04-05WindowServer: Merge WM_WindowAdded and WM_WindowStateChanged.Andreas Kling
These events are identical, so it's silly to send both. Just broadcast window state changes everywhere instead, it doesn't matter when it was added as clients are learning about this asynchronously anyway.
2019-04-04Taskbar: Make the window buttons slightly wider.Andreas Kling
2019-04-04Taskbar: Only include "Normal" windows in the taskbar window list.Andreas Kling
2019-04-04WindowServer: Add WM_SetActiveWindow client request and use it in Taskbar.Andreas Kling
This makes it possible for Taskbar to switch windows. :^)
2019-04-04Taskbar: Left-align the text on taskbar window buttons.Andreas Kling
2019-04-04Taskbar: Plumb window active state from the WindowServer to the taskbar.Andreas Kling
2019-04-04Taskbar: Tweak margins to look just right.Andreas Kling
2019-04-04Taskbar: TaskbarWidget doesn't need a custom paint_event().Andreas Kling
2019-04-04Taskbar: More bringup work. We now see a basic window list.Andreas Kling
2019-04-03Taskbar: Remove an accidentally committed dependency file.Andreas Kling
2019-04-03Taskbar+LibGUI: More work on bringup.Andreas Kling
2019-04-03Taskbar: Start working on a taskbar app.Andreas Kling
I originally thought I would do this inside WindowServer, but let's try to make it as a standalone app that communicates with WindowServer instead. That will allow us to use LibGUI. :^)