Age | Commit message (Collapse) | Author | |
---|---|---|---|
2019-03-20 | Move WindowServer into Servers. | Andreas Kling | |
2019-03-19 | WindowServer: Don't allow Logo+RMB to resize blocked-by-modal windows. | Andreas Kling | |
2019-03-19 | WindowServer: Add special treatment for modal windows. | Andreas Kling | |
While a WSClientConnection has a modal window showing, non-modal windows belonging to that client are not sent any events. | |||
2019-03-17 | Add client-side double buffering of window backing stores. | Andreas Kling | |
This prevents flicker and looks rather good. The main downside is that resizing gets even more sluggish. That's the price we pay for now. | |||
2019-03-14 | WindowServer: Fix crash when initiating resize from a window edge. | Andreas Kling | |
2019-03-10 | WindowServer: Show the username of the WindowServer owner in the menu. | Andreas Kling | |
2019-03-10 | WindowServer: Window iteration should see the highlight window "in front". | Andreas Kling | |
2019-03-10 | WindowServer: Tweak CPU usage history color. | Andreas Kling | |
2019-03-10 | WindowServer: Fix bug where window content could bleed through menus. | Andreas Kling | |
We have to iterate using for_each_visible_window_from_back_to_front() if we want every window in the correct order. | |||
2019-03-09 | WindowServer: Skip composing windows where entire dirty rect is covered. | Andreas Kling | |
If another window is currently in front of us and is fully opaque, we can just skip to the next window. This avoids a whole lot of painting with overlapping windows. :^) | |||
2019-03-09 | SharedGraphics: Allow passing a Font to text drawing functions. | Andreas Kling | |
This way we don't have to juggle around with calls to Painter::set_font() which simplifies a bunch of places. | |||
2019-03-09 | WindowServer: Initiating a window drag/resize should also make frontmost. | Andreas Kling | |
2019-03-09 | WindowServer: Always clip window updates to the window's outer rect. | Andreas Kling | |
2019-03-09 | SharedGraphics: Add PainterStateSaver RAII helper and Point::operator-(). | Andreas Kling | |
Two little things to help tidy up a bit in WSWindowManager. | |||
2019-03-08 | LibGUI+WindowServer: Implement drag-to-select behavior in GTextEditor. | Andreas Kling | |
To make this feel right, I needed to start passing keyboard modifiers along with mouse events. That allows shift-clicking to extend the selection. :^) | |||
2019-03-08 | WindowServer: Fix slightly off alignment of menubar clock. | Andreas Kling | |
2019-03-07 | Base+WindowServer: Add a new default wallpaper for fun. | Andreas Kling | |
2019-03-06 | WindowServer: Add window icons. Every window has the same icon for now. | Andreas Kling | |
The icons show up both in the title bars and in the window switcher. Eventually I'd like to be able to minimize to icon, and maybe even have myself a taskbar. | |||
2019-03-06 | WindowServer: Only the left mouse button should initiate window drag. | Andreas Kling | |
2019-03-06 | WindowServer: Tweak appearance of window close buttons. | Andreas Kling | |
2019-03-06 | WindowServer: Use the right font for computing titlebar text rects. | Andreas Kling | |
2019-03-06 | More work on the variable-width font support. | Andreas Kling | |
Katica is now the default system font, and it looks quite nice. :^) I'm gonna need to refine the GTextBox movement stuff eventually, but it works well-enough for basic editing now. | |||
2019-03-06 | Make a preparation pass for variable-width fonts. | Andreas Kling | |
2019-03-06 | WindowServer: Let the window switcher render itself as a WSWindow. | Andreas Kling | |
Much better than drawing directly into the back buffer. | |||
2019-03-05 | WindowServer: Store the mouse button state in one variable. | Andreas Kling | |
This makes the logic around it a lot less verbose. | |||
2019-03-04 | WindowServer: Determine resizing "hot corner" based on window's outer rect. | Andreas Kling | |
2019-03-03 | WindowServer: Add a window switcher. | Andreas Kling | |
This needs some work on the window ordering and things like that, but it works quite nicely as a starting point. The keyboard shortcut is Logo+Tab. :^) | |||
2019-03-03 | WindowManager: Allow moving windows around using Logo+LMB. | Andreas Kling | |
2019-03-03 | Detect the "Logo" (Windows/Apple/whatever) key and use it for window resize. | Andreas Kling | |
This will be comfortable enough while I'm still developing with emulators. QEMU keeps eating my "Alt" key presses and it's making things difficult. | |||
2019-03-01 | Put miscellaneous debug spam behind #ifdefs. | Andreas Kling | |
2019-03-01 | Base: Add Csilla Bold 7x10 variant. | Andreas Kling | |
It's nice to have a thin and a bold variant to complement each other. | |||
2019-02-28 | SharedGraphics: Make Painter clipping work with translated clip origin. | Andreas Kling | |
2019-02-28 | WindowServer: Add "Open ProcessManager..." to system menu. | Andreas Kling | |
This will no doubt come in handy. :^) | |||
2019-02-26 | WindowServer: Add 1920x1080 resolution option. | Andreas Kling | |
Because it's fun to go fullscreen on my development machine. :^) | |||
2019-02-26 | WindowServer: Reduce resize related debug spam. | Andreas Kling | |
2019-02-26 | WindowServer: Bump height of window titlebars and menus from 16 to 18. | Andreas Kling | |
2019-02-26 | WindowServer+LibGUI: Fix global mouse tracking with recursive widget trees. | Andreas Kling | |
Also avoid sending multiple copies of mouse events to global trackers. | |||
2019-02-26 | WindowServer: Add a simple CPU usage graph to the global menu bar. | Andreas Kling | |
This is pretty cute and helps me spot when something's chewing up CPU. | |||
2019-02-26 | WindowServer: Only invalidate the menubar rect when an app changes menubar. | Andreas Kling | |
2019-02-26 | WindowServer: Make message receivers be weak pointers. | Andreas Kling | |
2019-02-25 | Convert more RetainPtr use to Retained. | Andreas Kling | |
2019-02-21 | WindowServer: Choose resizing direction based on where it's initiated. | Andreas Kling | |
Divide the window into 3x3 hot areas and resize in the direction of the corner where the resize starts. The middle is a no-op area. This needs some polish but the basic mechanism is good. | |||
2019-02-21 | Add concept of size increments to windowing system. | Andreas Kling | |
Use this to implement incremental resizing for Terminal so that we only ever resize to fit a perfect number of rows and columns. This is very nice. :^) | |||
2019-02-20 | Rework the rendering model so that clients instantiate backing stores. | Andreas Kling | |
This makes interactive resizing work a lot better, althought it's still not perfect. There are still glitches and unpleasant flashes of zeroed memory. | |||
2019-02-20 | WindowServer: Don't spam clients with resize events. | Andreas Kling | |
Wait for them to finish a paint, then send them a new resize event. The exception is when releasing the mouse button to end the resize. Then we send a new resize event right away. | |||
2019-02-20 | WindowServer: Support resizing windows. | Andreas Kling | |
This is pretty limited and not entirely stable, but it does work! :^) | |||
2019-02-20 | WindowServer: Minor style tweak. | Andreas Kling | |
2019-02-20 | WindowServer: Remove some unused WSWindowManager members. | Andreas Kling | |
2019-02-20 | LibGUI: Implement enter/leave events (with WindowServer support.) | Andreas Kling | |
Windows now learn when the mouse cursor leaves or enters them. Use this to implement GWidget::{enter,leave}_event() and use that to implement the CoolBar button effect. :^) | |||
2019-02-19 | WindowServer: Only invalidate the menubar rect when switching menubars. | Andreas Kling | |