Jasper St. Pierre
5b7dff7a57
window: Move constructors to the respective header files
2014-05-20 15:59:17 -04:00
Jasper St. Pierre
d02505852d
window: Move _NET_WM_DESKTOP setting to window-x11
2014-05-20 15:59:16 -04:00
Jasper St. Pierre
4053c92abf
Rework timestamp pinging
...
If a window temporarily goes unresponsive, and then returns later, we
should hide the kill dialog that we showed to the user.
2014-05-20 15:59:15 -04:00
Jasper St. Pierre
56906a29e0
window: Make propagate_focus_appearance internal to MetaWindow
...
It's an internal helper function. The public interface is
meta_window_activate or meta_window_focus.
2014-05-20 15:59:15 -04:00
Jasper St. Pierre
2c0ad5bef7
window: Replace the user_rect with the unconstrained_rect
...
Realistically, the user rect contains the unconstrained window
rectangle coordinates that we want to be displaying, in case
something in the constraints change.
Rename it to the "unconstrained_rect", and change the code to always
save it, regardless of current state.
When metacity was originally being built, the purpose of the user
rect was a lot less clear. The code only saved it on user actions,
with various other calls to save_user_window_placement() and a force
mechanism sprinkled in to avoid windows being snapped back to odd
places when constraints changed.
This could lead to odd bugs. For instance, if the user uses some
extension which automatically tiles windows and didn't pass
user_action=TRUE, and then the struts changed, the window would be
placed back at the last place a user moved it to, rather than where
the window was tiled to.
The META_IS_USER_ACTION flag is still used in the constraints code
to determine whether we should allow shoving windows offscreen, so
we can't remove it completely, but we should think about splitting
out the constrainment policies it commands for a bit more
fine-grained control.
https://bugzilla.gnome.org/show_bug.cgi?id=726714
2014-05-20 15:59:14 -04:00
Jasper St. Pierre
550f1989ff
window: Complete moving enter/leave handling here
2014-05-19 15:03:05 -04:00
Jasper St. Pierre
8640982e68
Convert window menus to a compositor implementation
2014-05-17 15:16:23 -04:00
Jasper St. Pierre
7a109a18af
events: Move window button handling to window.c
...
Look at how clean GCD is now!!!
2014-05-08 15:34:27 -04:00
Jasper St. Pierre
25a16c3379
Remove trailing whitespace
2014-05-02 09:34:48 -04:00
Jasper St. Pierre
43d6088ebb
window: Change meta_window_move_resize_internal to take a MetaRectangle
...
We construct one anyway, and most callers already pass in a rectangle
the long way around, so why not change the internal API?
2014-05-01 19:13:33 -04:00
Jasper St. Pierre
acb3dc6754
window: Move adjust_for_gravity to window-x11
...
This removes the weirdness about which edge cases are where in the
move_resize_internal API, and we now always pass in client top-left
coordinates.
2014-05-01 17:59:49 -04:00
Jasper St. Pierre
2101c8357b
Move sync_request_* handling mostly to window-x11
2014-04-29 17:58:23 -04:00
Jasper St. Pierre
575963bee7
window: Turn grab_op_begin / grab_op_ended into vfuncs
...
And move the grab_resize_popup management to the X11 window class,
as this is only used under X11.
2014-04-29 17:58:22 -04:00
Jasper St. Pierre
7726001d43
window: Simplify resize_popup handling
2014-04-29 17:58:22 -04:00
Jasper St. Pierre
70713cc7db
window: Add some hooks for when grab ops begin / end on windows
2014-04-29 17:58:22 -04:00
Jasper St. Pierre
f2328f1105
window: Move meta_window_move_resize_request to window-x11
2014-04-29 17:58:21 -04:00
Jasper St. Pierre
8461b2c910
window: Move move_resize_wayland to window-wayland.c
...
The move/resize logic is still busted for top/left resizes... sigh.
2014-04-28 18:22:55 -04:00
Jasper St. Pierre
8b0747786a
window: Move X11 struts implementation to X11 codepath
2014-04-28 17:34:33 -04:00
Jasper St. Pierre
20a0eb9809
Require the XSync and XShape extensions at build-time
...
It's been long enough. We can mandate support for these, at least
at build-time. The code doesn't actually compile without either
of these, so just consider that unsupported.
2014-04-22 14:17:09 -04:00
Jasper St. Pierre
813206393a
events: Handle move/resize grab ops as a first special case
2014-04-21 12:14:29 -04:00
Jasper St. Pierre
7c0a3dfeb8
window: Remove unused prototype
2014-04-21 12:14:29 -04:00
Jasper St. Pierre
c1f4352683
window: Add proper interpretation of dx/dy
...
dx/dy should be against the regular window's rect, and need to
be ignored when we're resizing. Instead, we use gravity to anchor
the window's new rectangle when resizing.
2014-04-16 16:31:45 -04:00
Nirbheek Chauhan
b37223b9bb
window: Use guint8 for opacity internally
...
Except while reading _NET_WM_WINDOW_OPACITY, opacity is between 0 and 255. With
guint8, we'll get compiler warnings if arbitrary int values are passed.
https://bugzilla.gnome.org/show_bug.cgi?id=727874
2014-04-10 18:15:25 +02:00
Jasper St. Pierre
b367965f6c
window: Track known_to_compositor and visible_to_compositor separately
...
Really, visible_to_compositor means that the window is shown, e.g.
not minimized. We need to be using a boolean tracking whether we've
called meta_compositor_add_window / meta_compositor_remove_window.
This fixes a jump during window placement when a window appears.
2014-03-28 13:52:59 -04:00
Jasper St. Pierre
337db2a660
window: Kill off the rest of colormaps
...
I removed the XInstallColormap / XUninstallColormap but forgot
to remove the fields in MetaWindow and the code to set them.
2014-03-20 16:27:22 -04:00
Jasper St. Pierre
852589897e
Move send_icccm_message to window-x11
2014-03-20 16:22:15 -04:00
Jasper St. Pierre
0808adefaf
Move focus to be a vfunc
2014-03-20 15:20:15 -04:00
Jasper St. Pierre
14f424cd02
Move ping to be a vfunc
2014-03-20 15:20:15 -04:00
Jasper St. Pierre
9debd2fb0d
Move delete / kill to be a vfunc
2014-03-20 15:07:44 -04:00
Jasper St. Pierre
a53e094fcd
window: Move move_resize_internal logic to protocol-specific directories
2014-03-20 11:02:50 -04:00
Jasper St. Pierre
a377a1a110
window: Move client-type-specific managing / unmanaging to a vfunc
2014-03-20 10:51:32 -04:00
Jasper St. Pierre
a1427c7130
Revert "Move MetaGroup to be X11-specific"
...
This reverts commit f940292cfe5a80290a5dae8a62e05fbcbab32a7f.
Turns out MetaGroup was public API and was used by gnome-shell.
Ugh.
2014-03-19 09:12:48 -04:00
Jasper St. Pierre
044c06bff3
Don't include wayland/ by default either
2014-03-18 22:04:36 -04:00
Jasper St. Pierre
a3ccc4fd1c
Remove x11/ directory from default include path
2014-03-18 22:04:36 -04:00
Jasper St. Pierre
0a20f7458c
window: Remove support for _NET_WM_ICON_NAME
...
We don't seem to use it anywhere.
2014-03-18 22:04:36 -04:00
Jasper St. Pierre
f940292cfe
Move MetaGroup to be X11-specific
2014-03-18 21:23:36 -04:00
Jasper St. Pierre
f05983be42
window: Move type_atom to window-x11
2014-03-18 21:15:49 -04:00
Jasper St. Pierre
a5f1790828
window: Rename wm_hints_urgent to urgent
...
The flag and setter is now decoupled from the WM_HINTS state.
2014-03-18 15:44:11 -04:00
Jasper St. Pierre
6efcf2526d
window: Move urgency to a setter
2014-03-18 15:44:11 -04:00
Jasper St. Pierre
d6a27195d3
Move more fields to MetaWindowX11
2014-03-18 15:44:11 -04:00
Jasper St. Pierre
6f7023bc6b
Start splitting the X11-specific stuff of MetaWindow out into a subclass
...
This is fairly simple and basic for now, with just skip_taskbar /
skip_pager, but eventually a lot of "WM policy" like this, including
move-resize, will be in subclasses for each individual surface.
2014-03-18 15:44:11 -04:00
Jasper St. Pierre
3de58189c0
window: Remove an unused bit
2014-03-18 13:18:52 -04:00
Jasper St. Pierre
5270c469a3
window: Remove meta_window_set_gravity as "public" API
2014-03-18 11:24:24 -04:00
Jasper St. Pierre
cdfc6f5b53
window: Remove vfunc slots for signals
...
These aren't used currently, and we're going to be adding
more vfuncs.
2014-03-18 11:24:24 -04:00
Jasper St. Pierre
f5bd7c5f50
window: Remove bogus comment
...
These fields haven't been around for quite some time.
2014-03-18 11:24:16 -04:00
Jasper St. Pierre
cb549154aa
window: Move meta_window_configure_notify to window-x11
2014-03-18 11:24:16 -04:00
Jasper St. Pierre
1f15c85c00
window: Make window_is_terminal private
2014-03-18 10:25:54 -04:00
Jasper St. Pierre
535685742a
window: Export is_title_onscreen and shove_title_onscreen as well
...
This was fixed in the master version of the commit, but I forgot to
squash it on the Wayland branch.
2014-03-17 11:18:26 -04:00
Jasper St. Pierre
a9d8107c3d
window: Replace meta_window_type_changed with meta_window_set_type
...
Which does the equality checking for us.
2014-03-13 17:14:28 -04:00
Jasper St. Pierre
a5d2c51392
window: Move recalc_type to window-x11.c
...
It's only used by the X11 codepath.
2014-03-13 17:14:28 -04:00