summaryrefslogtreecommitdiff
Commit message (Collapse)AuthorAgeFilesLines
...
* default plugin: add a random color background on each monitorGiovanni Campagna2013-08-181-0/+53
| | | | | | | | Instead of a full white background, make one with a random color. This way the different "monitors" are visible and it's easier to debug the DBus API. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* DisplayConfig: make the dummy backend writableGiovanni Campagna2013-08-182-31/+233
| | | | | | | | | Add a number of dummy outputs and modes to the dummy backend, and implement the writing bits. The only visible effect is that you can change the screen size, which resizes the output window. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* Reverse handling of XRandR events between Screen and MonitorManagerGiovanni Campagna2013-08-185-85/+122
| | | | | | | | | | | | Now MonitorManager does its own handling of XRandR events, which means we no longer handle ConfigureNotify on the root window. MetaScreen reacts to MonitorManager::monitor-changed and updates its internal state, including the new size. This paves the way for doing display configuration using only the dummy backend, which would allow testing wl_output interfaces. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* DisplayConfig: add the write side of the APIGiovanni Campagna2013-08-183-6/+388
| | | | | | | | | | Implement ApplyConfiguration in terms of XRandR calls. Error checking is done before actually committing the configuration. If mutter is using one of the other monitor config backends, an error is reported and nothing happens. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* Extend the DBus XRandR protocol to expose cloning restrictionGiovanni Campagna2013-08-183-4/+54
| | | | | | | | | | Turns out that even if two outputs say that they can be controlled by a given CRTC, you can't configure them in the same CRTC unless they are marked as "possible clones" one of the other. This can further restrict the configuration options, so we need to expose this limitation in the DBus API. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* Add the write side of the DBus protocol tooGiovanni Campagna2013-08-181-1/+58
| | | | | | | This is just in the documentation for now, to attract wider feedback before we start looking at how to implement this for real. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* Introduce a new DBus interface for display configurationGiovanni Campagna2013-08-186-108/+730
| | | | | | | | | | | | | | | | | | | This new interface will be used by the control center and possibly the settings daemon to configure the screens. It is designed to resemble a simplified XRandR, while still exposing all the quirks of the hardware, so that the panel can limit the user choices appropriately. To do so, MetaMonitorMode needs to track CRTCs, outputs and modes, so the low level objects have been decoupled from the high-level MetaMonitorInfo, which is used by core and API and offers a simplified view of HW, that hides away the details of what is cloned and how. This is still not efficient as it should be, because on every HW change we drop all data structures and rebuild them from scratch (which is not expensive because there aren't many of them, but at least in the XRandR path it involves a few sync X calls) https://bugzilla.gnome.org/show_bug.cgi?id=705670
* Rework and consolidate monitor handling in MetaScreenGiovanni Campagna2013-08-187-252/+563
| | | | | | | | | | Consolidate all places that deal with output configuration in MetaScreen, which gets it either from XRandR or from a dummy static configuration. We still need to read the Xinerama config, even when running xwayland, because we need the indices for _NET_WM_FULLSCREEN_MONITORS, but now we do it only when needed. https://bugzilla.gnome.org/show_bug.cgi?id=705670
* MetaWindowActor: fix reference counting issueGiovanni Campagna2013-08-181-4/+4
| | | | | | | | | | We need to use g_signal_connect_object(), rather than g_signal_connect(), because the window actor can be destroyed before the window emits the final notify::appears-focused inside unmanage, if the plugin decides that it doesn't want to animate the destruction (which happens with dialogs and the default plugin) https://bugzilla.gnome.org/show_bug.cgi?id=706207
* Updated POTFILES.inPiotr Drąg2013-08-131-3/+0
|
* keybindings: always acknowledge events to the X serverAlban Crequy2013-08-131-0/+17
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=666101
* Support _GTK_FRAME_EXTENTSJasper St. Pierre2013-08-134-1/+46
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=705766
* Reintroduce mutter binaryJasper St. Pierre2013-08-131-0/+2
| | | | I accidentally deleted one too many things.
* theme: Fix build breakageJasper St. Pierre2013-08-131-2/+1
|
* Remove old, deprecated utilities that nobody has used in a million yearsJasper St. Pierre2013-08-1330-5172/+10
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=704437
* menu: Remove support for icon items from the window menuJasper St. Pierre2013-08-138-100/+22
| | | | | | | | We don't show these by default, and it uses deprecated API. This also removes our only use of the stock icons, so remove those as well. https://bugzilla.gnome.org/show_bug.cgi?id=704437
* Updated Norwegian bokmål translationKjartan Maraas2013-08-081-9/+9
|
* window-actor: Fix doc commentAdel Gadllah2013-08-051-2/+2
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=703332
* l10n: Update Japanese translationJiro Matsuzawa2013-08-031-16/+16
|
* Bump version to 3.9.53.9.5Florian Müllner2013-07-302-1/+11
| | | | Update NEWS.
* display: Export the timestamp of the event as wellBastien Nocera2013-07-253-5/+7
| | | | | | | When passing on keybindings, make sure to pass the timestamp of the event as well as the deviceid and the action. https://bugzilla.gnome.org/show_bug.cgi?id=704858
* meta-window-group: Fix previous commitRico Tzschichholz2013-07-181-1/+2
|
* meta-window-group: Fix compile warningAdel Gadllah2013-07-181-1/+1
|
* display: Fix compilation errorJasper St. Pierre2013-07-171-2/+1
| | | | | Whoops, I didn't mean to push that last commit, but let's not break the build.
* Remove application-based preferenceJasper St. Pierre2013-07-174-41/+1
| | | | It's hardcoded to FALSE.
* meta-window-group: Use clutter's iteration APIAdel Gadllah2013-07-171-28/+25
| | | | | | | Use the clutter iteration API instead of copying the list of children. This is more efficent. https://bugzilla.gnome.org/show_bug.cgi?id=703332
* display: Ignore _NET_WM_USER_TIME PropertyNotifiesJasper St. Pierre2013-07-151-0/+3
| | | | | | These are spammy as well. https://bugzilla.gnome.org/show_bug.cgi?id=703970
* display: Ignore XSyncAlarmNotify in meta_spew_eventJasper St. Pierre2013-07-151-0/+3
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=703970
* main: Don't select for touch events on the stageJasper St. Pierre2013-07-151-0/+3
| | | | | | | | GNOME Shell's actors aren't touch capable, so we need to make sure that they get the fallback pointer emulated events for now. This fixes the top bar and other elements not working on a touchscreen without a grab. https://bugzilla.gnome.org/show_bug.cgi?id=697192
* window-actor: Remove another unused fieldJasper St. Pierre2013-07-151-10/+0
|
* window-actor: Remove unused descriptionJasper St. Pierre2013-07-152-26/+0
| | | | | The desc field would never get filled in, as we can't have a window actor without a MetaWindow, also, so remove the storage for the field.
* window-actor: Remove a field we don't useJasper St. Pierre2013-07-151-1/+0
|
* Bump version to 3.9.43.9.4Florian Müllner2013-07-102-1/+14
| | | | Update NEWS.
* Revert "background: Allow using sliced textures"Ray Strode2013-07-011-1/+1
| | | | | | | This reverts commit f743539886dc2d5a8a81bcc147dbc2070dd214d0. ( accidentally pushed this when trying to push commit b7840bec7d135fec3c268b5eab1233d6c6c7cdf6 )
* Revert "background: downscale background to fit in texture limits"Ray Strode2013-07-011-30/+0
| | | | | | | This reverts commit 15e01152da335f5a9e7617674ffa54cb1bdef957. ( accidentally pushed this when trying to push commit b7840bec7d135fec3c268b5eab1233d6c6c7cdf6 )
* background: Allow using sliced textures for file based backgroundsRay Strode2013-07-011-1/+1
| | | | | | | | | | | | | | Some cards have 2k texture limits, which can be smaller than commonly sized backgrounds. One way to get around this problem is to use Cogl's "sliced texture" feature, that transparently uses several hardware textures under the hood. This commit changes background textures loaded from file to potentially use slicing. Based on a patch by Jasper St. Pierre <jstpierre@mecheye.net>. https://bugzilla.gnome.org/show_bug.cgi?id=702283
* background: Allow using sliced texturesJasper St. Pierre2013-07-011-1/+1
| | | | https://bugzilla.gnome.org/show_bug.cgi?id=702283
* background: downscale background to fit in texture limitsRay Strode2013-07-011-0/+30
| | | | | | | | | | Some cards have 2k texture limits, which can be smaller than commonly sized backgrounds. This commit downscales the background in this situation, so that it won't fail to load. https://bugzilla.gnome.org/show_bug.cgi?id=702283
* window: Don't force attached dialogs to be border-onlyFlorian Müllner2013-06-241-4/+1
| | | | | | | | | | | | Originally attached dialogs did not have a titlebar, which the code still assumes though it hasn't been true for a while; nowadays, the actual look of attached dialogs is controlled by the theme. As GTK+ recently gained the ability to set custom titlebars, we need to support attached dialogs with either full borders (WM decorations) or border-only (GTK+ titlebar). Just remove the left-over assumption to make it work as expected. https://bugzilla.gnome.org/show_bug.cgi?id=702764
* window: Make sure override_redirect window have correct monitor infoAdel Gadllah2013-06-242-1/+9
| | | | | | | | We need to update window->monitor on override_redirect windows as well, other wise they may end up with an invalid struct which triggers and assert when meta_window_is_monitor_sized is called. https://bugzilla.gnome.org/show_bug.cgi?id=702564
* window: Reuse current pointer position for monitor checksAdel Gadllah2013-06-231-1/+1
| | | | | | Avoid a round trip to the xserver we already have the current position anyway. Querying from the server on every move can cause the compositor to stall during movement.
* screen: Allow reusing the current position when quering the monitorAdel Gadllah2013-06-233-22/+66
| | | | | | Add new api (meta_screen_get_current_monitor_for_pos and meta_screen_get_current_monitor_info_for_pos) that allow querying the monitor without a roundtrip by reusing the passed in cursor position.
* compositor: Add an API to query if the stage is focusedJasper St. Pierre2013-06-204-5/+34
| | | | | | | | | | gnome-shell needs to know whether the stage window is focused so it can synchronize between stage window focus and Clutter key actor focus. Track all X windows, even those without MetaWindows, when tracking the focus window, and add a compositor-level API to determine when the stage is focused. https://bugzilla.gnome.org/show_bug.cgi?id=700735
* display: Ensure that we ignore our own focus events for focus predictionsJasper St. Pierre2013-06-202-15/+45
| | | | | | | | | | | | | | | | | | | | | | | When we set the input focus, we first set the predicted window, and then try to process focus events. But as XI_FocusOut on the existing window comes before XI_FocusIn on the new window, we'll see the focus out on the old window and think the focus is going to nothing, which makes mutter think the prediction failed. This didn't really matter as nothing paid attention to the focus window changing, but with gnome-shell's focus rework, we'll try and drop keyboard focus in events like these. Fix this by making sure that we ignore focus window changes of our own cause when updating the focus window field, by ignoring all focus events that have a serial the same as the focus request or lower. Note that if mutter doens't make any requests after the focus request, this could be racy, as another client could steal the focus, but mutter would ignore it as the serial was the same. Bump the serial by making a dummy ChangeProperty request to a mutter-controlled window in this case. https://bugzilla.gnome.org/show_bug.cgi?id=701017
* compositor: Prevent an error in application code from keeping unredirect on ↵Adel Gadllah2013-06-181-2/+4
| | | | | | | | | | | | | permanently We substract one from the unredirect counter when enable_unredirect_for_screen gets called. It is an unsigned integer so substracting one from zero (which means enable) would overflow and thus keep it peramently enabled. This should never happen because it means there is an unmatched enable / disable pair somewhere. So in addition to fixing it add a warning when this case gets triggered. https://bugzilla.gnome.org/show_bug.cgi?id=701224
* make the window shadows lighterAllan Day2013-06-181-6/+6
| | | | | | Subtler shadows look more refined. https://bugzilla.gnome.org/show_bug.cgi?id=702141
* Bump version to 3.9.33.9.3Florian Müllner2013-06-182-1/+10
| | | | Update NEWS.
* Use new clutter_stage_set_paint_callback() function for after-paint notificationOwen W. Taylor2013-06-032-9/+10
| | | | | | | | | | | | | | | | | Commit 4f2bb583bf8c changed things so that the compositor used clutter_threads_add_repaint_func_full (CLUTTER_REPAINT_FLAGS_POST_PAINT to get after-paint notification and send _NET_WM_FRAME_DRAWN, but this doesn't actually work, since Clutter will already have blocked for VBlank before calling post-paint functions. The result is that frame synced toolkits like GTK 3.8 will normally only be able to draw every other frame. Since ::paint doesn't work either, a new function clutter_stage_set_paint_callback() has been added to Clutter (and will be included in the 1.14 branch) https://bugzilla.gnome.org/show_bug.cgi?id=698794
* keybindings: Make sure events are always reported to the grab windowRui Matos2013-05-291-1/+1
| | | | | | | | | | | | | | | | | | | | | | We have no need for normally reported events during grabs. In fact, it might be harmful. A plugin might grab the keyboard through meta_begin_modal_for_plugin() and then expect events to be reported to the grab window they provide. If meanwhile this XIGrabDevice is issued, events might start being reported normally to one other of our windows breaking the plugin event processing. In particular, on an empty workspace, we set input focus to our no_focus_window. Then, if gnome-shell calls meta_begin_modal_for_plugin() and meta_display_freeze_keyboard(), in that order, input events will start being reported to no_focus_window. There are two issues with this. One is that no_focus_window isn't selecting for XI input events and thus the server discards them completely. But even if that is fixed, events being reported to any window other than the one gnome-shell expects - the clutter stage window - means that events will stop reaching it. https://bugzilla.gnome.org/show_bug.cgi?id=701219
* Bump version to 3.9.23.9.2Florian Müllner2013-05-282-1/+20
| | | | Update NEWS.