Age | Commit message (Collapse) | Author |
|
And tidy up existing view() users.
|
|
GWindow::move_to_front() can now be used to move a window to the top of
the window stack.
We use this in Terminal to bring the settings window to the front if it
already exists when it's requested, in case it's hiding behind something.
|
|
|
|
Fixes #150
|
|
This doesn't do much right now, just fork off a bunch of stuff and set priorities.
|
|
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.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
loading cursors causes a page-fault?
|
|
d66fa60fcf23fa7217a065479af6b1f5a851a506 introduced the use of a timer
to coalesce screen updates. This is OK, but it does introduce update
latency.
To help mitigate the impact of this, we now have a second (immediate)
timer. When a compose pass is first triggered, the immediate timer will
allow the compose to happen on the next spin of the event loop (so, only
coalescing updates across a single event loop pass). Any updates that
trigger while the delayed timer is running, though, will be delayed to
that (~60fps) timer.
This fixes #103.
|
|
Really poor man's vsync. Still not actual vsync, but at least we won't
constantly spin buffers if we get many dirty rects.
|
|
Seriously non-cool :(
|
|
Add a subtle shadow to the titlebar text. Also make the titlebar one pixel
taller to fully accomodate the 90s "3D frame" effect. :^)
|
|
|
|
|
|
Also, Launcher now does not use titlebars.
Only check if titlebar should be shown if the window type works with that.
|
|
|
|
resized automatically
Co-Authored-By: Andreas Kling <awesomekling@gmail.com>
|
|
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.
|
|
Also expand the QEMU VGA memory size to 64 MB, since otherwise we won't
have enough memory for double-buffering the screen.
|
|
Otherwise, double clicking a button will leave it in pressed state.
|
|
|
|
|
|
|
|
Oops, it looks like I left the max inline rects limit at 1 while debugging
this code.. We can fit 32 rects in a single WSAPI message without needing
a second "extra data" message, so let's use the space we have!
|
|
empty
This is not EOF, and never should have been so -- can trip up other code
when porting.
Also updates LibGUI and WindowServer which both relied on the old
behaviour (and didn't work without changes). There may be others, but I
didn't run into them with a quick inspection.
|
|
* EPIPE now correctly deletes the client connection
* EAGAIN (which is now returned by the kernel if the write buffer fills)
terminates the connection also
|
|
|
|
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. :^)
|
|
This makes out-of-tree linking possible. And at the same time, add a
CMakeToolchain.txt file that can be used to build arbitrary cmake-using
applications on Serenity by pointing to the CMAKE_TOOLCHAIN_FILE when
running cmake:
-DCMAKE_TOOLCHAIN_FILE=~/code/serenity/Toolchain/CMakeToolchain.txt
|
|
This contains more stuff, and is easier to add to since it's just a vector :)
|
|
We were allowing initiation of resize from the bottom titlebar edge
since everything inside the window frame that's not either inside the
title bar, or inside the window content, is considered the border.
|
|
This avoids flashing a content-less window frame during client startup.
|
|
We must reset the click clock to invalid after delivering the double
click event. Otherwise, a subsequent click will make us (incorrectly)
deliver another double click.
|
|
screen
Rather than passing a "top_anchored" bool. Fixes #22.
|
|
|
|
The wheel events will end up in GWidget::mousewheel_event(GMouseEvent&)
on the client-side. This patch also implements basic wheel scrolling in
GScrollableWidget via this mechanism. :^)
|
|
|
|
The minimize button can stay though, since it doesn't change the window
size, just the visibility. :^)
|
|
|
|
|
|
|
|
String&& is more nuisance than anything, and the codegen improvement is
basically negligible since the underlying type is already retainable.
|
|
|
|
|
|
|