summaryrefslogtreecommitdiff
path: root/Servers
AgeCommit message (Collapse)Author
2020-03-10WindowServer: Control menu title font from menubarShannon Booth
It makes a little more sense for the menubar to control what the font of the menu title is, as opposed to the menu manager. Menumanager now simply uses the font that the menu wants it to use.
2020-03-08Userspace: Add missing #includes now that AK/StdLibExtras.h is smallerAndreas Kling
2020-03-07LibGUI: Move Icon and FontDatabase into the GUI namespaceShannon Booth
We also clean up some old references to the old G prefixed GUI classes This also fixes a potential bug with using: C_OBJECT_ABSTRACT(GAbstractButton) instead of C_OBJECT_ABSTRACT(AbstractButton)
2020-03-06AK: Remove Optional::operator bool()Andreas Kling
This was causing some obvious-in-hindsight but hard to spot bugs where we'd implicitly convert the bool to an integer type and carry on with the number 1 instead of the actual value().
2020-03-04LibCore: Make Core::Object::add<ChildType> return a ChildType&Andreas Kling
Since the returned object is now owned by the callee object, we can simply vend a ChildType&. This allows us to use "." instead of "->" at the call site, which is quite nice. :^)
2020-03-04LibGUI: Use GUI::Window::set_main_widget<WidgetType>() in clientsAndreas Kling
2020-03-04LibGUI: Use set_layout<LayoutType>() in lots of client codeAndreas Kling
2020-03-03LibGUI: Remove Button& parameter from Button::on_click hookAndreas Kling
There was but a single user of this parameter and it's a bit tedious to write it out every time, so let's get rid of it.
2020-03-03AK: Make quick_sort() a little more ergonomicAndreas Kling
Now it actually defaults to "a < b" comparison, instead of forcing you to provide a trivial less-than comparator. Also you can pass in any collection type that has .begin() and .end() and we'll sort it for you.
2020-03-01WindowServer: Clear the current resize candidate when in menusAndreas Kling
While the menu system is swallowing mouse events, just clear any resize candidate we had set. This ensures that we don't end up with a resize cursor when slipping into a menu-controlled part of the screen. Fixes #1306.
2020-03-01WindowServer: Remove a whole bunch of unused WindowManager membersAndreas Kling
2020-03-01WindowServer: Put some WindowManager debug spam inside #ifdefsAndreas Kling
2020-02-28LibC: Move shbuf_* API's to <serenity.h>Andreas Kling
2020-02-28Kernel+LibC: Rename shared buffer syscalls to use a prefixAndreas Kling
This feels a lot more consistent and Unixy: create_shared_buffer() => shbuf_create() share_buffer_with() => shbuf_allow_pid() share_buffer_globally() => shbuf_allow_all() get_shared_buffer() => shbuf_get() release_shared_buffer() => shbuf_release() seal_shared_buffer() => shbuf_seal() get_shared_buffer_size() => shbuf_get_size() Also, "shared_buffer_id" is shortened to "shbuf_id" all around.
2020-02-28WindowServer: Remove some old unused debugging code from CompositorAndreas Kling
2020-02-28WindowServer: Return richer result when changing resolutionsLiav A
Now we return a boolean value from set_resolution() in the Compositor and Screen class. Also, the WindowServer IPC now returns a richer result after changing the resolution, which can be used in clients later.
2020-02-28WindowServer: Add a debug messageLiav A
2020-02-27WindowServer: Stop trying to boost things since it's not workingAndreas Kling
Let's temporarily disable the boosting calls until we have a solution for boosting in the new multi-user world. The error messages keep confusing people into thinking they're doing something wrong.
2020-02-25Build: Only look at SUBDIRS with Makefilesjoshua stein
If a directory is renamed or deleted before 'make clean', git will delete the Makefile but leave all of the object and dependency files around. When make would try to recurse into that directory from the wildcard, it would error out since there is no Makefile.
2020-02-25AK: Make Vector use size_t for its size and capacityAndreas Kling
2020-02-24WindowServer+LibGUI: Allow changing a window's base size and incrementAndreas Kling
Previously it was only possible to change these window attributes when creating a new window. This patch adds an IPC message that allows you to change them at runtime.
2020-02-23Userspace: Use Core::Object::add() when building interfacesAndreas Kling
2020-02-22TTYServer: Use unveil()Brian Gianforcaro
2020-02-21WindowServer: Use system theme for the drag and drop popupsTibor Nagy
2020-02-20WindowServer: Stop exposing open_menu_stack in MenuManagerShannon Booth
The open menu stack is an internal data structure that outside classes shouldn't really need to know about. Add MenuManager::has_open_menu() so that the WindowManager can still know whether a menu is open or not.
2020-02-20WindowServer: Fix not all menus closing after system menu toggleShannon Booth
We were failing to check if the current menu being set was already open. This could result in multiple occurrences of the menu in the open menu stack. When we close all menus descending from a menu we only delete the first occurrence of a given menu from the menu stack (a fair assumption to make as a menu should only be open once). Because of this a menu (or multiple instances of it) could remain in the open menu stack when it should actually be closed, leading to goofy behaviour. Fixes #1238
2020-02-20WindowServer: Geometry labels should follow the system themeTibor Nagy
2020-02-20WindowServer: MenuManager should use selection text color from system themeTibor Nagy
2020-02-19WindowServer+LibGUI: Force full window repaints after theme changeAndreas Kling
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-19WindowServer+LibGUI+LibHTML: Fix build with -std=c++2aAndreas Kling
2020-02-18Base: Rename /dev/psaux to /dev/mouseAndreas Kling
Since this device doesn't actually hand out raw PS/2 aux packets, let's just call it "mouse" instead. :^)
2020-02-18WindowServer: Remove unsued MenuManager::menu_selection_color()Shannon Booth
2020-02-17WindowServer: Remove unveils of /bin and /etc/passwdAndreas Kling
This is no longer needed now that we have SystemMenu. :^)
2020-02-17WindowServer: Drop the "exec" pledge promise entirelyAndreas Kling
Now that the system menu is out-of-process, we no longer need to exec() from WindowServer, allowing us to drop this promise. Very cool!
2020-02-17WindowServer: Make way for the out-of-process system menuAndreas Kling
This patch removes the internal system menu from WindowServer and replaces it with two IPC API's: SetSystemMenu(menu_id) SetSystemTheme(theme_path, theme_name) These API's will allow us to complete the SystemMenu program and move it entirely out of process.
2020-02-17AudioServer: Remove ASEventLoop class and do all the setup in main()Andreas Kling
This class was too small and unnecessary.
2020-02-16NotificationServer: Add new notification windows below the lowest oneAndreas Kling
Don't stack notifications on top of each other, instead put them below one another on the y axis. This will obviously break if the screen fills with notifications, but that's a FIXME for now. :^)
2020-02-16NotificationServer: Add a system service for desktop notificationsAndreas Kling
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-16AK: Add basic Traits for RefPtrAndreas Kling
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-16WindowServer: Move configuration file into /etc/WindowServerAndreas Kling
This is in preparation for running WindowServer as a separate user.
2020-02-15LibCore: Reduce header dependencies of EventLoopAndreas Kling
2020-02-15LibCore: Replace manual forward declarations with <LibCore/Forward.h>Andreas Kling
2020-02-15AK: Remove manual forward declarations with <AK/Forward.h>Andreas Kling
2020-02-15LibGfx: Replace manual forward declarations with <LibGfx/Forward.h>Andreas Kling
2020-02-14LibGfx: Add forward declaration headerAndreas Kling
This patch adds <LibGfx/Forward.h> with forward declarations for Gfx.
2020-02-14LibCore: Add a forward declaration headerAndreas Kling
This patch adds <LibCore/Forward.h> and uses it in various places to shrink the header dependency graph.
2020-02-14AK: Add a forward declaration headerAndreas Kling
You can now #include <AK/Forward.h> to get most of the AK types as forward declarations. Header dependency explosion is one of the main contributors to compile times at the moment, so this is a step towards smaller include graphs.
2020-02-13WindowServer+LibGUI: Add a "drag move" eventAndreas Kling
This allows windows/widgets to learn when something is being dragged over them. They can then repaint themselves somehow to indicate that they are willing to accept a drop. Currently this is piggybacking somewhat on the mouse event mechanism in WindowServer. I'm not sure that's the best design but it seemed easier to do it this way right now.
2020-02-13WebServer: Ensure directory listing URLs end with a slashBogdan
We will now send a redirect (301) if a directory listing is requested and the request URL doesn't end with a slash character. This makes relative file URLs that we generate in directory listings actually work as expected.
2020-02-13WebServer: Remove debug spam in directory listing codeAndreas Kling