Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-05-28 | Add clang-format file | Robin 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-27 | can now tile background and made sure the IRC choose server popup still works | Christopher Dumas | |
2019-05-27 | IRC client setttings, Terminal settings, more WM settings | Christopher Dumas | |
2019-05-27 | implemented settings for window manager. | Christopher Dumas | |
2019-05-27 | Network stack is now configurable, and resolution is also configurable, but ↵ | Christopher Dumas | |
loading cursors causes a page-fault? | |||
2019-05-24 | WindowServer: Remove some unused WSWindowManager members. | Andreas Kling | |
2019-05-24 | WindowServer: Factor out compositing from WSWindowManager into WSCompositor. | Andreas Kling | |
This is far from finished and the two classes are awkwardly grabbing at each other's innards, but here's a first step in the right direction. | |||
2019-05-18 | WSWindowManager: Add double click to maximize/restore | Robin Burchell | |
2019-05-17 | WindowServer: Add support for fullscreen windows. | Andreas Kling | |
Fullscreen windows are rendered alone and above everything else when they are active, and as part of the regular window stack order when something else is active. Currently windows cannot be made fullscreen after-the-fact, but must have the fullscreen flag included in their CreateWindow message. It should not possible to interact with the menu, taskbar or window frame while the active window is fullscreened. :^) | |||
2019-05-15 | Move double click events from LibGUI to the window server | Robin Burchell | |
2019-05-13 | WindowServer: Make the ordering in the window switcher a bit more sane. | Andreas Kling | |
2019-05-12 | WindowServer: Add a maximize/unmaximize button to windows. | Andreas Kling | |
2019-05-03 | LibGUI+WindowServer: Add a GResizeCorner widget. | Andreas Kling | |
This widget is automatically included in GStatusBar, but can be added in any other place, too. When clicked (with the left button), it initiates a window resize (using a WM request.) In this patch I also fixed up some issues with override cursors being cleared after the WindowServer finishes a drag or resize. | |||
2019-05-01 | WindowServer: Spawn a secondary thread to decode wallpapers. | Andreas Kling | |
The threading API's are not very mature, so this code looks a bit crufty but it does take the load off the WindowServer main thread when changing wallpapers. :^) | |||
2019-04-23 | WindowServer+TaskBar: Add a taskbar window button popup menu. | Andreas Kling | |
This patch only hooks up the minimize and unminimize actions. | |||
2019-04-23 | WindowServer: WSButton should be more discerning with MouseUp/MouseMove. | Andreas Kling | |
2019-04-20 | WindowServer: 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-18 | WindowServer: Broadcast window icons to newly joined WM listener clients. | Andreas Kling | |
2019-04-18 | WindowServer: Generate a separate WM event for window icon changes. | Andreas Kling | |
2019-04-14 | WindowServer: Rename WSMessage* => WSEvent*. | Andreas Kling | |
Since I'm on a roll here, I'll just rename WSMessageFoo to WSEventFoo now that these inherit from CEventFoo anyway. | |||
2019-04-14 | WindowServer: Port WindowServer to LibCore. | Andreas Kling | |
This was pretty straightforward thanks to the work I did separating out LibCore from LibGUI already. :^) - WSMessageLoop now inherits from CEventLoop. - WSMessage now inherits from CEvent. - WSMessageReceiver goes away. Now there is only one event loop in Serenity. Very nice! | |||
2019-04-14 | WindowServer: Move the CPU monitor thingy to its own class. | Andreas Kling | |
2019-04-14 | AK: Improve smart pointer ergonomics a bit. | Andreas Kling | |
2019-04-13 | WindowServer+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-10 | WindowServer: Factor out some parts of compose(). | Andreas Kling | |
The main compositing loop was getting pretty unwieldy. Break out some parts into functions so it's more understandable. | |||
2019-04-09 | WindowServer: Display the window geometry while it's being moved or resized. | Andreas Kling | |
2019-04-08 | LibGUI+WindowServer: Add support for GWidget tooltips. | Andreas Kling | |
Any GWidget can have a tooltip and it will automatically pop up below the center of the widget when hovered. GActions added to GToolBars will use the action text() as their tooltip automagically. :^) | |||
2019-04-06 | WindowServer: Add ability to initiate window resize from window edges. | Andreas Kling | |
2019-04-06 | WindowServer: Make WSButton a Weakable and stop rawly pointing to it. | Andreas Kling | |
We had a crash due to dereferencing a destroyed WSButton after clicking a window close button. Avoid that problem by using WeakPtr. | |||
2019-04-06 | WindowServer: Pick a new active window when the active window is minimized. | Andreas Kling | |
Also use the same logic when the active window is removed. | |||
2019-04-06 | Add a slight hover highlight to GButton and WSButton. :^) | Andreas Kling | |
2019-04-06 | Taskbar: 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-05 | WindowServer: Add a window minimization button. | Andreas Kling | |
The window is simply ignored in the painting and hit testing traversal when in minimized state, same as we do for invisible windows. The WM_SetActiveWindow message (sent by Taskbar) brings it back into the non-minimized state. :^) | |||
2019-04-05 | WindowServer: Make WSButton behave more like a normal button. | Andreas Kling | |
Previously it would just close the window on MouseDown. Now we do the normal thing where we require a MouseUp inside the button rect before committing. | |||
2019-04-05 | WindowServer: Factor out window frame logic into a WSWindowFrame class. | Andreas Kling | |
The window frame is an object that contains a window, its title bar and window border. This way WSWindowManager doesn't have to know about all the different types of window borders, titlebar rects, etc. | |||
2019-04-05 | WindowServer: 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-04 | WindowServer: Add WM_SetActiveWindow client request and use it in Taskbar. | Andreas Kling | |
This makes it possible for Taskbar to switch windows. :^) | |||
2019-04-04 | WindowServer: Broadcast the full window list to new WM listener clients. | Andreas Kling | |
2019-04-04 | Taskbar: Plumb window active state from the WindowServer to the taskbar. | Andreas Kling | |
2019-04-04 | Taskbar: More bringup work. We now see a basic window list. | Andreas Kling | |
2019-04-03 | Taskbar: 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. :^) | |||
2019-04-02 | LibGUI: Switch to a resizing cursor when hovering or using a GSplitter. | Andreas Kling | |
Also expose the various standard cursors on WSWindowManager so they can be reused by the override mechanism. | |||
2019-04-01 | WindowServer: Make various function arguments const. | Andreas Kling | |
2019-03-31 | WindowServer: Show a special "move" cursor when dragging windows around. | Andreas Kling | |
2019-03-31 | WindowServer: Show directional cursors when resizing windows. | Andreas Kling | |
2019-03-31 | WindowServer: Add a WSCursor class (a bitmap and a hotspot.) | Andreas Kling | |
Also import a bunch of cursors I drew. Only the default ("arrow") cursor is ever used so far. | |||
2019-03-24 | WindowServer: Moving a window to front should always activate it. | Andreas Kling | |
So instead of having move_to_front() + set_active_window(), let's have move_to_front_and_make_active(). | |||
2019-03-24 | WindowServer: Factor out ongoing drag/resize from process_mouse_event(). | Andreas Kling | |
The mouse event processing code is getting unwieldy. Break out two huge chunks into separate functions so the code becomes easier to work with. | |||
2019-03-21 | WindowServer: Support PNG wallpapers. | Andreas Kling | |
Fix up /bin/pape so it tells the WindowServer which wallpaper file to use. | |||
2019-03-20 | Move WindowServer into Servers. | Andreas Kling | |