f71315eb1e
frames: Fix window-type/frame-type mix-up
...
Commit 7e66d2a484
killed off META_CORE_GET_FRAME_TYPE, but got
the replacement wrong - MetaWindowType is an enum like MetaFrameType,
but the two are not interchangeable.
https://bugzilla.gnome.org/show_bug.cgi?id=742841
2015-01-13 18:14:26 +01:00
0484ef142d
MetaWindow: Change icon properties to be of pointer type
...
Follow up to commit af7f51b992
.
https://bugzilla.gnome.org/show_bug.cgi?id=742824
2015-01-13 16:01:13 +01:00
6609d9c6a4
iconcache: Fix icon data copy into cairo surface
...
The stride is in bytes but we're copying ints.
https://bugzilla.gnome.org/show_bug.cgi?id=742825
2015-01-13 16:01:13 +01:00
b6d070b06f
wayland: Seal SHM buffers before access
...
If wayland client lies about size of given buffer, compositor could touch bad
memory and get SIGBUS. Wayland provides simple API to fix it - so fix it!
[1] http://cgit.freedesktop.org/wayland/wayland/tree/src/wayland-server.h#n416
[2] http://lists.freedesktop.org/archives/wayland-devel/2013-November/012159.html
Signed-off-by: Marek Chalupa <mchqwerty@gmail.com >
https://bugzilla.gnome.org/show_bug.cgi?id=727893
2015-01-09 16:39:37 -08:00
87eb5f8632
frames: Simplify our frame title management
...
This fixes a number of crashers when they try to change their dialog
layout at runtime because we're too tricksy with the frame title.
2015-01-09 16:35:30 -08:00
5c60ea6635
keybindings: Consistently use slice allocation for MetaKeyBinding
2015-01-09 14:15:17 -08:00
9abcf424b8
prefs: Remove per_window flag from MetaKeyPref
...
It's unused.
2015-01-09 14:15:17 -08:00
cc7af83f8a
prefs: Correct the MetaPreference value for workspace names
2015-01-09 14:15:17 -08:00
9c73e21113
xrandr: Remove mode fudge code for HSkew
...
This was part of a downstream patch that Endless has where we hid some
secret parameters inside the HSkew field. It wasn't meant as upstream
logic.
2015-01-08 15:04:50 -08:00
a1d8110221
keybindings: Merge rebuild_binding_index into reload_combos
...
The two are always called at the same time.
2015-01-08 14:36:47 -08:00
9d6357f05a
keybindings: Rename MetaKeyDevirtCombo to MetaResolvedKeyCombo
...
rtcm thought this was less awkward of a name.
2015-01-08 14:36:47 -08:00
fea7ac84ee
ui: Disable gdk's gl support
...
This fixes a deadlock on wayland.
2015-01-08 11:15:51 +01:00
5bc2bcd109
keybindings: Simplify our keycode/mask pairs with MetaKeyDevirtCombo
2015-01-06 19:24:29 -08:00
d12390002a
keybindings: Have meta_change_keygrab take a MetaKeyDevirtCombo
2015-01-06 19:13:03 -08:00
13acf9e35d
keybindings: Have meta_accelerator_parse take a MetaKeyCombo
2015-01-06 19:11:57 -08:00
3beb187cac
keybindings: Split the resolved keybinding out from MetaKeyCombo
...
MetaKeyCombo is about the *unresolved* keybinding, which can either be a
"keysym" (<Ctrl>F) or a "keycode" (<Ctrl>0x21). When we resolved the
keysym to a keycode, we stuffed it back in the same MetaKeyCombo, which
confused about what the "keycode" field was for. Thus, we often stomped
on the user's explicit choice if they chose a keycode binding value.
To solve this, create a separate structure, the "devirtualized key combo"
or MetaKeyDevirtCombo, which contains a resolved keycode from the
keysym, and a devirtualized modifier mask. The MetaKeyCombo is now
always a "source" value, and the MetaKeyDevirtCombo is now always what
the user chose.
This also lets us significantly clean up the overlay and ISO key binding
paths.
2015-01-06 19:03:11 -08:00
a3b8dcbd04
keybindings: Apply the same fix for keycodes to the GrabAccelerator API
2015-01-06 18:50:30 -08:00
3ff8b0051d
keybindings: Allow using keycodes directly for overlay-key
...
The reason MetaKeyCombo has a keycode value at all is *not* to store the
devirtualized keycode from the keysym, but instead to allow people that
type in "0x55" into the preference. Everything except the overlay-key
respected this. Make the overlay-key binding respect this.
2015-01-06 18:50:30 -08:00
a8bf7934fb
keybindings: Use one path to reload binding combos
...
Rather than one for modifiers and one for keycodes.
2015-01-06 18:50:29 -08:00
7159845c6e
keybindings: Embed MetaKeyCombo into MetaKeyGrab directly
...
A simple cleanup
2015-01-06 18:46:35 -08:00
7bccd4f22f
prefs: Don't parse modifiers for the overlay-key
...
We don't actually accept modifiers for the overlay key.
2015-01-06 18:46:32 -08:00
e4e00b383e
keybindings: Remove keysym argument from meta_change_keygrab
...
It's only used for a debug statement.
2015-01-06 18:46:24 -08:00
36454542ae
prefs: Fix minor code style issues
2015-01-06 17:58:42 -08:00
34ba868b4c
monitor-manager-xrandr: Fix a minor typo in an error message
2015-01-05 15:23:17 -08:00
274ea76eea
frames: Force on dark theme for all apps if the user requested it
...
If the user requested a dark theme for all apps through GNOME Tweak
Tool, go ahead and force it for all apps, not only GTK+3 apps.
Thanks to MaTachi on reddit who suggested the idea:
http://www.reddit.com/r/linux/comments/2r1zwj/linus_i_dont_know_who_thought_it_was_a_good_idea/cnc10ui
2015-01-02 09:21:14 -08:00
34fbca0181
frames: Remove the easy one-liner meta_core_* wrappers
2015-01-01 12:02:53 -08:00
4496fb4447
frames: Remove all other uses of meta_core_get
...
RIP.
2015-01-01 11:56:14 -08:00
7e66d2a484
frames: Punch down META_CORE_GET_FRAME_FLAGS / TYPE
...
These can be fetched directly off of the MetaWindow.
2015-01-01 11:48:55 -08:00
12135afa5e
frames: Give Havoc and Owen a heart attack
...
Break down the beautiful core/ui abstraction barrier by inserting
a pointer to MetaWindow into a MetaUIFrame. I'm a scoundrel, I know.
We'll use this very soon to destroy meta_core_get.
2015-01-01 11:42:25 -08:00
cac660a5bc
frames: Remove shape_applied
...
It's also unused.
2015-01-01 11:42:20 -08:00
dcce4e64bc
frames: We don't need to pass in the frame rect to get_bounds either
...
The MetaFrameGeometry already has this information.
2015-01-01 11:42:13 -08:00
4d3511649b
frames: Don't pass the frame rect into get_mask
...
We can query it directly.
2015-01-01 11:19:35 -08:00
d4ea2bbd9c
frames: Don't pass the width/height as separate args to get_client_rect
...
We already have them in the fgeom.
2015-01-01 11:04:11 -08:00
f303ec2eaa
core: Remove META_CORE_GET_FRAME_WIDTH / HEIGHT from documentation
...
It messes up my autocomplete.
2015-01-01 09:23:03 -08:00
2ca4ed6b04
frames: Rename meta_frames_* to meta_ui_frame_* where appropriate
2014-12-31 22:52:50 -08:00
a5ad89dd65
frames: Remove last_motion_frame
...
Nothing cares about it.
2014-12-31 22:46:48 -08:00
4a4d724e59
frames: Remove dead declaration
2014-12-31 22:46:06 -08:00
8fdbae192a
frame: Start converting over to direct usage of MetaUIFrame
2014-12-31 22:44:20 -08:00
2413e672c8
frame: Put a MetaUIFrame* in our MetaFrame
...
This is a small start, but it lets us start to clean up this
UI split mess.
2014-12-31 22:43:00 -08:00
c8432cc430
frames: Use an early return
...
To be more consistent with the rest of the code.
2014-12-31 22:43:00 -08:00
015864da09
frames: Embed a pointer to MetaFrames inside MetaUIFrame
...
This removes the MetaFrames argument from our internal APIs.
2014-12-31 22:35:35 -08:00
669c9da2a4
frames: Fix astonishing accidental pointer trickery
...
Whenever we added a frame to the GHashTable, we added the frame itself
as the value, and a pointer to its storage of the frame window XID,
as the key.
When we iterated over the hash table, we actually looked up the
MetaUIFrame in the key, which might seem extraordinarily wrong, but
eagle-eyed viewers might notice that the XID is the first field in
MetaUIFrame, so the key and value are actually the same pointer.
Changing the layout of MetaUIFrame at all causes this to go haywire,
so let's not do this and simply put the MetaUIFrame in the value,
as expected.
2014-12-31 22:35:35 -08:00
4d1d8e831e
frames: Revert the logic here when the frame type updates
...
When the frame type updates, we were doing something funky that
caused us to reset the title used for the text layout here. I can't
really think of any place that it would trigger, and in testing I
haven't hit this either, so let's just remove the fancy logic and
assert this.
2014-12-31 22:35:30 -08:00
9e199e6350
frames: Pass MetaFrameType into ensure_layout
...
All the callers already have it, so don't make us fetch it again.
2014-12-31 22:35:29 -08:00
4673d8f245
theme: Remove flags argument from get_frame_layout
...
It's unused.
2014-12-31 22:35:29 -08:00
90111c03a1
Only poke the frames UI code from inside frame.c
...
Add frame.c wrappers for the missing calls, then adapt.
2014-12-31 22:35:29 -08:00
23681800d9
frame: Remove extra argument from sync_to_window
2014-12-31 22:35:29 -08:00
b47afe89d3
ui: We now always have a theme
2014-12-31 22:35:29 -08:00
af7f51b992
x11: Change the iconcache / window icons to being cairo surfaces
...
This simplifies the drawing codepath and makes us able to delete
a bunch of GdkPixbuf manipulation.
2014-12-31 21:11:21 -08:00
f3d30d897f
window: Refactor the default image lookup
2014-12-31 20:48:32 -08:00