summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
* Switch to using ClutterStage::after-paintwip/quadbuffer-stereoOwen W. Taylor2014-07-082-5/+3
| | | | | The experimental API clutter_stage_set_paint_callback() is replaced with an ::after-paint signal as of Clutter 1.19.5.
* Leave windows in place on a crash respawnOwen W. Taylor2014-07-084-13/+30
| | | | | | | | | | | | | | | | When Mutter is restarted and cleans up the window positions cleanly, we need to add gravity adjustments. We can detect this easily. - Windows started before the window manager (should add add gravity adjustments) - Replacing a different window manager (should add gravity adjustments) - A crash (no adjustments needed) In GNOME the first two cases shouldn't happen in normal usage, so assume the third case (though that *shouldn't* happen in normal usage either.)
* Fix windows walking up the screen on restartOwen W. Taylor2014-07-082-3/+6
| | | | | | | | | | | When a window is initially created, we need to save it's user rect after any adjustments for gravity. Otherwise, the next time the window is queued for a resize, it will jump back to it's initial position. We did that for newly created windows, but on restart, when windows were already placed, the logic skipped saving the position. Use an explicit flag so that we always save the position for newly created MetaWindows.
* Add support for quad-buffer stereoOwen W. Taylor2014-07-0810-47/+462
| | | | | | | | | | | | | | | | | Track the stereo status of windows using the new EXT_stereo_tree GLX extension. When stereo is enabled or disabled, a restart is triggered via meta_restart() after a timeout, setting a _META_ENABLE_STEREO property on the root window to indicate whether we should turn on a stereo stage for clutter. The property avoids a loop, since we need to enable stereo *before* initializing Clutter and GL, but we need GL to figure out whether we have stereo windows. Stereo windows are drawn to the stage using new functionality in Cogl to setup a stereo context, select which buffer to draw to, and draw either the left or right buffer of a stereo texture_from_pixmap.
* Add a framework for restarting the compositor with nice visualsOwen W. Taylor2014-05-089-2/+394
| | | | | | | | | | | | | | | | | | | | The current GNOME Shell Alt-F2 restart looks very messy and also provides no indication to the user what is going on. We need to restart the compositor to switch in and out of stereo mode, so add a framework for doing this more cleanly: Additions: meta_restart(): restarts the compositor with a message MetaDisplay::show-restart-message: signal the embedding shell to show a message MetaDisplay::restart: signal the embedding shell to restart itself. meta_is_restart(): indicates whether the current instance is a restart so we can suppress login animations. A helper program meta-restart-helper holds the composite overlay window up during the restart to avoid visual artifacts.
* MetaIdleMonitorDBus: unref the objects after exporting themGiovanni Campagna2014-05-071-0/+3
| | | | | | The object manager already has a reference. https://bugzilla.gnome.org/show_bug.cgi?id=729732
* default: free the option context after parsingGiovanni Campagna2014-05-071-0/+1
| | | | | | We don't need it, we should free it. https://bugzilla.gnome.org/show_bug.cgi?id=729732
* MetaMonitorConfig: don't always restore the previous config when opening the ↵Giovanni Campagna2014-05-061-3/+17
| | | | | | | | | laptop lid Only do it if the current configuration was actually created as the result of closing the laptop lid. https://bugzilla.gnome.org/show_bug.cgi?id=725637
* MetaMonitorConfig: don't keep a previous config with the wrong outputsGiovanni Campagna2014-05-061-2/+15
| | | | | | | | | We can only apply a configuration if its outputs match the connected ones, so discard the current configuration if the set of output changes (for example for hotplug), otherwise we will crash trying to apply the bogus previous configuration. https://bugzilla.gnome.org/show_bug.cgi?id=725637
* [l10n] Update Catalan translationPau Iranzo2014-05-021-252/+275
|
* Updated German translationChristian Kirbach2014-05-011-251/+280
|
* window: Queue a fullscreen check when moving between monitorsFlorian Müllner2014-04-171-0/+3
| | | | | | | | We track changes to windows fullscreen state and stacking order to determine a monitor's in-fullscreen state, but missed the obvious case of moving a fullscreen window between monitors. https://bugzilla.gnome.org/show_bug.cgi?id=728395
* keybindings: Handle switch-to-workspace-{up,down,left,right} againFlorian Müllner2014-04-171-5/+17
| | | | | | | | | Commit 585fdd781cc5 not only removed the tabpopup, but set invalid handlers (a.k.a. NULL) for those shortcuts; add back handling of basic handling of those shortcuts by switching instantly without any popups. https://bugzilla.gnome.org/show_bug.cgi?id=728423
* Bump version to 3.12.13.12.1Florian Müllner2014-04-152-1/+12
| | | | Update NEWS.
* window-props: _NET_WM_WINDOW_OPACITY range is 0xffffffff to 0Nirbheek Chauhan2014-04-091-3/+3
| | | | | | | | After reading the atom, scale the value from 0xffffffff to 0xff. Not doing so causes Clutter to truncate the opacity value, and only read the last two digits. Hence, 0x7fffffff (50%) becomes 0xff (100%). https://bugzilla.gnome.org/show_bug.cgi?id=727874
* Updated Greek translationmarablack32014-04-071-1876/+1682
|
* Updated Basque languageInaki Larranaga Murgoitio2014-03-301-1/+1
|
* Updated Basque languageInaki Larranaga Murgoitio2014-03-301-402/+383
|
* window-actor: Don't queue a redraw when queueing a new pixmapJasper St. Pierre2014-03-261-24/+3
| | | | | | | | | | | | | | | | We guarantee ourselves that a valid pixmap will appear any time that the window is painted. The window actor will be scheduled for a repaint if it's added / removed from the scene graph, like during construction, if the size changes, or if we receive damage, which are the existing use cases where this function is called. So, I can't see any reason that we queue a redraw in here. With the split into surface actors, we don't have an easy place we can use to queue a redraw, and since it's unnecessary, we can just drop it on the floor. https://bugzilla.gnome.org/show_bug.cgi?id=720631
* Bump version to 3.12.03.12.0Florian Müllner2014-03-252-2/+9
| | | | Update NEWS.
* Update Czech translationPetr Kovar2014-03-221-64/+83
|
* Updated Ukrainian translationDaniel Korostil2014-03-221-64/+76
|
* Updated Indonesian translationAndika Triwidada2014-03-211-249/+272
|
* Updated Serbian translationМирослав Николић2014-03-212-522/+576
|
* Updated Danish translationAsk H. Larsen2014-03-191-247/+270
|
* Bump version to 3.11.923.11.92Florian Müllner2014-03-192-1/+15
| | | | Update NEWS.
* update Punjabi Translation 17March2014: AlamA S Alam2014-03-171-248/+276
|
* window: Export a bunch of state flags as accessor methodsJasper St. Pierre2014-03-143-9/+58
| | | | | | This is necessary to reimplement window menus in gnome-shell. https://bugzilla.gnome.org/show_bug.cgi?id=726352
* window: Add a META_MAXIMIZE_BOTH maximization flagJasper St. Pierre2014-03-145-61/+27
| | | | | | | Which has both directions set. This is a simple cleanup to remove the constant VERTICAL | HORIZONTAL all over the place. https://bugzilla.gnome.org/show_bug.cgi?id=726352
* core: Add minimal handling of touch eventsCarlos Garnacho2014-03-132-16/+78
| | | | | | | | | | | | | | | | | | | | | | | | Currently touch events are ignored in the core event handler, and hence dealt with within GDK. If those touch events were emulating pointer events, GDK would attempt to convert back those events to pointer events as the frame GdkWindow doesn't have the GDK_TOUCH_MASK set. This results in XI_TouchBegin events being initially processed by GDK, converted to button events, and triggering a grab op that subverts touch events into pointer events, so the touch is never ever seen again by GDK. This leaves GDK in an inconsistent internal state wrt pointer grabs, so future pointer-emulating touches will refer to the same window forever. Fix this by handling touch events minimally, just enough to convert XI_TouchBegin to GDK_BUTTON_PRESS within mutter, so GDK is bypassed for every touch event just like it is for pointer events. This, and the XIGrabDevice() that keeps coercing pointer events when the grab operation starts, are enough to fix window drag and drop on touch devices. https://bugzilla.gnome.org/show_bug.cgi?id=723552
* Updated Portuguese translationDuarte Loreto2014-03-121-33/+47
|
* Updated French translationClaude Paroz2014-03-111-407/+276
|
* Fix identification of CSD windows when checking whether to force fullscreenOwen W. Taylor2014-03-113-1/+21
| | | | | | | | | | | | | We try to exempt CSD windows from being forced fullscreen if they are undecorated and the size of the screen; however, we also catch almost all windows that *do* need to be forced fullscreen in this check, since they also have decorations turned off. Identify actual CSD windows by checking whether _GTK_FRAME_EXTENTS is set - GTK+ will always set this on CSD windows even if they have no invisible borders or shadows at the current time. https://bugzilla.gnome.org/show_bug.cgi?id=723029
* Fix meta_window_titlebar_is_onscreen() for titlebar-less windowsOwen W. Taylor2014-03-111-1/+1
| | | | | | | Make the code correspond to the comment - the titlebar can't be offscreen if there's no titlebar. https://bugzilla.gnome.org/show_bug.cgi?id=723580
* Updated Portuguese translationTiagosdot2014-03-111-238/+249
|
* Updated Russian translationYuri Myasoedov2014-03-111-402/+590
|
* Updated Traditional Chinese translation(Hong Kong and Taiwan)Chao-Hsiung Liao2014-03-092-492/+528
|
* Updated Chinese (China) translationWylmer Wang2014-03-081-247/+276
|
* Updated Latvian translationRūdolfs Mazurs2014-03-071-250/+278
|
* cursor-tracker: Include gdk/gdkx.hRui Matos2014-03-061-0/+1
| | | | | Needed for the call to gdk_x11_device_manager_lookup() introduced in in the previous commit.
* cursor-tracker: Avoid unnecessary round tripAdel Gadllah2014-03-061-1/+1
|
* Updated Korean translationChangwoo Ryu2014-03-071-252/+279
|
* Bump version to 3.11.913.11.91Florian Müllner2014-03-052-1/+20
| | | | Update NEWS.
* build: Use non-deprecated feature test macrosFlorian Müllner2014-03-053-3/+3
| | | | | | _SVID_SOURCE has been deprecated in newer versions of glibc breaking -WError; the recommended replacement of _DEFAULT_SOURCE is fairly new, so switch to _XOPEN_SOURCE instead.
* Fix positioning error for manually positioned windowsOwen W. Taylor2014-03-051-1/+6
| | | | | | | | | | The "original coordinates" passed into meta_window_place() were the coordinates of the client rectangle not the frame rectangle. When meta_window_place() didn't place because the window was manually positioned (e.g., 'xterm -geometry +x+y') that resulted in a window being offset by the frame dimensions. https://bugzilla.gnome.org/show_bug.cgi?id=724049
* Fix handling of dynamic updates to colors/font/etc.Owen W. Taylor2014-03-052-27/+23
| | | | | | | | | | | | | | | | | | Since the introduction of frame sync in GTK+, updates to titlebar font and colors haven't been working because GTK+ counts on the frame clock to do style updates, and the frame clock doesn't run for an unmapped GdkWindow. (It's possible that GtkStyleContext changes subsequent to the introduction of the frame clock were also needed to fully break things.) We actually need to map the MetaFrames GdkWindow and let the compositor code send out the frame sync messages in order to pick up style changes. Hopefully no bad side effects will occur from this - we make the window override-redirect, 1x1, and outside the bounds of the screen. https://bugzilla.gnome.org/show_bug.cgi?id=725751
* Updated Norwegian bokmål translationKjartan Maraas2014-03-051-56/+72
|
* Updated Spanish translationDaniel Mustieles2014-03-051-245/+263
|
* keybindings: Fix ungrabs possibly failing after switching keymapsRui Matos2014-03-041-1/+3
| | | | | | We need to resolve the keycode from the keysym again since the keycode might have changed if there was a keymap switch between the grab and the ungrab.
* keybindings: Fix external grabs not being ungrabbedRui Matos2014-03-041-3/+4
| | | | | | Before starting to use display_get_keybinding() we could compare MetaKeyBinding.modifiers with MetaKeyCombo.modifiers directly. Now, we need to resolve the virtual modifiers to match with the mask.