Compare commits
26 Commits
Author | SHA1 | Date | |
---|---|---|---|
![]() |
21c46852cd | ||
![]() |
10036832dd | ||
![]() |
25b5ea8b4f | ||
![]() |
20beaf7fe1 | ||
![]() |
e72af50420 | ||
![]() |
ef4417b717 | ||
![]() |
cf943627e2 | ||
![]() |
96543cb009 | ||
![]() |
fbb2207f8c | ||
![]() |
cce8a4341b | ||
![]() |
b82784ee46 | ||
![]() |
6b8959916c | ||
![]() |
ecc1830296 | ||
![]() |
497916aad7 | ||
![]() |
e171a31ac5 | ||
![]() |
a9a10aaa20 | ||
![]() |
656d079ffc | ||
![]() |
d801f699af | ||
![]() |
89d01d2c17 | ||
![]() |
ec284bc56a | ||
![]() |
db2e00d41c | ||
![]() |
0a616c9fcb | ||
![]() |
fed3cd9e82 | ||
![]() |
d0d8a3d4ea | ||
![]() |
bdf5f88349 | ||
![]() |
809dbe16d6 |
@@ -8,3 +8,5 @@ EXTRA_DIST = HACKING MAINTAINERS rationales.txt
|
|||||||
DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache
|
DISTCLEANFILES = intltool-extract intltool-merge intltool-update po/stamp-it po/.intltool-merge-cache
|
||||||
|
|
||||||
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
|
DISTCHECK_CONFIGURE_FLAGS = --enable-gtk-doc
|
||||||
|
|
||||||
|
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
|
||||||
|
27
NEWS
27
NEWS
@@ -1,19 +1,26 @@
|
|||||||
3.10.2
|
3.11.2
|
||||||
======
|
======
|
||||||
* Fix resize operations using mouse-button-modifier [Lionel; #710251]
|
* Fix resize operations using mouse-button-modifier [Lionel; #710251]
|
||||||
|
* Misc. fixes and cleanups [Jasper, Rico, Florian; #711731]
|
||||||
|
|
||||||
Contributors:
|
Contributors:
|
||||||
Lionel Landwerlin
|
Lionel Landwerlin, Florian Müllner, Jasper St. Pierre, Rico Tzschichholz
|
||||||
|
|
||||||
|
3.11.1
|
||||||
|
======
|
||||||
|
* Don't require at least one output device to be connected [Giovanni; #709009]
|
||||||
|
* Name the guard window [Andrew; #710346]
|
||||||
|
* Use new UPower API [Bastien]
|
||||||
|
* Expose min-backlight-step [Asad; #710380]
|
||||||
|
* Don't focus the no-focus-window for globally active windows [Jasper; #710296]
|
||||||
|
* Misc. fixes and cleanups [Jasper, Rico, Olav, Magdalen; #709776]
|
||||||
|
|
||||||
|
Contributors:
|
||||||
|
Magdalen Berns, Giovanni Campagna, Asad Mehmood, Bastien Nocera,
|
||||||
|
Jasper St. Pierre, Rico Tzschichholz, Olav Vitters, Andrew Walton
|
||||||
|
|
||||||
Translations:
|
Translations:
|
||||||
Efstathios Iosifidis [el], Reinout van Schouwen [nl]
|
Reinout van Schouwen [nl]
|
||||||
|
|
||||||
3.10.1.1
|
|
||||||
========
|
|
||||||
* Don't assert that at least one output is connected [Giovanni; #709009]
|
|
||||||
|
|
||||||
Contributors:
|
|
||||||
Giovanni Campagna
|
|
||||||
|
|
||||||
3.10.1
|
3.10.1
|
||||||
======
|
======
|
||||||
|
@@ -1,7 +1,8 @@
|
|||||||
AC_PREREQ(2.50)
|
AC_PREREQ(2.50)
|
||||||
|
AC_CONFIG_MACRO_DIR([m4])
|
||||||
|
|
||||||
m4_define([mutter_major_version], [3])
|
m4_define([mutter_major_version], [3])
|
||||||
m4_define([mutter_minor_version], [10])
|
m4_define([mutter_minor_version], [11])
|
||||||
m4_define([mutter_micro_version], [2])
|
m4_define([mutter_micro_version], [2])
|
||||||
|
|
||||||
m4_define([mutter_version],
|
m4_define([mutter_version],
|
||||||
@@ -76,7 +77,7 @@ MUTTER_PC_MODULES="
|
|||||||
xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0
|
xcomposite >= 0.2 xfixes xrender xdamage xi >= 1.6.0
|
||||||
$CLUTTER_PACKAGE >= 1.15.90
|
$CLUTTER_PACKAGE >= 1.15.90
|
||||||
cogl-1.0 >= 1.15.6
|
cogl-1.0 >= 1.15.6
|
||||||
upower-glib > 0.9.11
|
upower-glib >= 0.99.0
|
||||||
gnome-desktop-3.0
|
gnome-desktop-3.0
|
||||||
"
|
"
|
||||||
|
|
||||||
|
@@ -49,8 +49,8 @@ FIXXREF_OPTIONS=
|
|||||||
# Used for dependencies. The docs will be rebuilt if any of these change.
|
# Used for dependencies. The docs will be rebuilt if any of these change.
|
||||||
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
# e.g. HFILE_GLOB=$(top_srcdir)/gtk/*.h
|
||||||
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
# e.g. CFILE_GLOB=$(top_srcdir)/gtk/*.c
|
||||||
HFILE_GLOB=$(top_srcdir)/src/*.h
|
HFILE_GLOB=$(top_srcdir)/src/*/*.h
|
||||||
CFILE_GLOB=$(top_srcdir)/src/*.c
|
CFILE_GLOB=$(top_srcdir)/src/*/*.c
|
||||||
|
|
||||||
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
|
# Extra header to include when scanning, which are not under DOC_SOURCE_DIR
|
||||||
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
|
# e.g. EXTRA_HFILES=$(top_srcdir}/contrib/extra.h
|
||||||
|
@@ -207,7 +207,6 @@ meta_key_binding_get_modifiers
|
|||||||
meta_key_binding_get_mask
|
meta_key_binding_get_mask
|
||||||
meta_key_binding_is_builtin
|
meta_key_binding_is_builtin
|
||||||
meta_keybindings_set_custom_handler
|
meta_keybindings_set_custom_handler
|
||||||
meta_keybindings_switch_window
|
|
||||||
meta_screen_ungrab_all_keys
|
meta_screen_ungrab_all_keys
|
||||||
meta_screen_grab_all_keys
|
meta_screen_grab_all_keys
|
||||||
</SECTION>
|
</SECTION>
|
||||||
|
@@ -21,6 +21,7 @@ environment.</description>
|
|||||||
-->
|
-->
|
||||||
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" />
|
<mailing-list rdf:resource="http://mail.gnome.org/mailman/listinfo/gnome-shell-list" />
|
||||||
<download-page rdf:resource="http://download.gnome.org/sources/mutter/" />
|
<download-page rdf:resource="http://download.gnome.org/sources/mutter/" />
|
||||||
|
<download-page rdf:resource="http://download.gnome.org/sources/mutter-wayland/" />
|
||||||
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=mutter" />
|
<bug-database rdf:resource="http://bugzilla.gnome.org/browse.cgi?product=mutter" />
|
||||||
|
|
||||||
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
|
<category rdf:resource="http://api.gnome.org/doap-extensions#desktop" />
|
||||||
|
42
po/nl.po
42
po/nl.po
@@ -8,7 +8,7 @@ msgid ""
|
|||||||
msgstr ""
|
msgstr ""
|
||||||
"Project-Id-Version: mutter\n"
|
"Project-Id-Version: mutter\n"
|
||||||
"Report-Msgid-Bugs-To: \n"
|
"Report-Msgid-Bugs-To: \n"
|
||||||
"POT-Creation-Date: 2013-10-25 00:15+0200\n"
|
"POT-Creation-Date: 2013-10-25 00:25+0200\n"
|
||||||
"PO-Revision-Date: 2013-10-25 00:23+0200\n"
|
"PO-Revision-Date: 2013-10-25 00:23+0200\n"
|
||||||
"Last-Translator: Reinout van Schouwen <reinouts@gnome.org>\n"
|
"Last-Translator: Reinout van Schouwen <reinouts@gnome.org>\n"
|
||||||
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
|
"Language-Team: Dutch <vertaling@vrijschrift.org>\n"
|
||||||
@@ -256,12 +256,12 @@ msgstr "_Wachten"
|
|||||||
msgid "_Force Quit"
|
msgid "_Force Quit"
|
||||||
msgstr "Ge_forceerd afsluiten"
|
msgstr "Ge_forceerd afsluiten"
|
||||||
|
|
||||||
#: ../src/core/display.c:422
|
#: ../src/core/display.c:421
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Missing %s extension required for compositing"
|
msgid "Missing %s extension required for compositing"
|
||||||
msgstr "Benodigde extensie ‘%s’ voor ‘compositing’ ontbreekt"
|
msgstr "Benodigde extensie ‘%s’ voor ‘compositing’ ontbreekt"
|
||||||
|
|
||||||
#: ../src/core/display.c:514
|
#: ../src/core/display.c:513
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Failed to open X Window System display '%s'\n"
|
msgid "Failed to open X Window System display '%s'\n"
|
||||||
msgstr "Openen van X Window System display ‘%s’ mislukt\n"
|
msgstr "Openen van X Window System display ‘%s’ mislukt\n"
|
||||||
@@ -389,12 +389,12 @@ msgstr ""
|
|||||||
msgid "Workspace %d"
|
msgid "Workspace %d"
|
||||||
msgstr "Werkblad %d"
|
msgstr "Werkblad %d"
|
||||||
|
|
||||||
#: ../src/core/screen.c:537
|
#: ../src/core/screen.c:540
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display '%s' is invalid\n"
|
msgid "Screen %d on display '%s' is invalid\n"
|
||||||
msgstr "Scherm %d op display '%s' is ongeldig\n"
|
msgstr "Scherm %d op display '%s' is ongeldig\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:553
|
#: ../src/core/screen.c:556
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
"Screen %d on display \"%s\" already has a window manager; try using the --"
|
||||||
@@ -403,19 +403,19 @@ msgstr ""
|
|||||||
"Scherm %d op display ‘%s’ heeft al een ‘window manager’; probeer de optie: --"
|
"Scherm %d op display ‘%s’ heeft al een ‘window manager’; probeer de optie: --"
|
||||||
"replace te gebruiken om de huidige ‘window manager’ te vervangen.\n"
|
"replace te gebruiken om de huidige ‘window manager’ te vervangen.\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:580
|
#: ../src/core/screen.c:583
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
"Could not acquire window manager selection on screen %d display \"%s\"\n"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Kon ‘window manager’-selectie niet verkrijgen op scherm %d display ‘%s’\n"
|
"Kon ‘window manager’-selectie niet verkrijgen op scherm %d display ‘%s’\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:658
|
#: ../src/core/screen.c:661
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
msgid "Screen %d on display \"%s\" already has a window manager\n"
|
||||||
msgstr "Scherm %d op display ‘%s’ heeft al een ‘window manager’\n"
|
msgstr "Scherm %d op display ‘%s’ heeft al een ‘window manager’\n"
|
||||||
|
|
||||||
#: ../src/core/screen.c:850
|
#: ../src/core/screen.c:853
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid "Could not release screen %d on display \"%s\"\n"
|
msgid "Could not release screen %d on display \"%s\"\n"
|
||||||
msgstr "Kon scherm %d op display ‘%s’ niet vrijmaken\n"
|
msgstr "Kon scherm %d op display ‘%s’ niet vrijmaken\n"
|
||||||
@@ -511,7 +511,7 @@ msgid "Window manager error: "
|
|||||||
msgstr "Fout van vensterbeheer:"
|
msgstr "Fout van vensterbeheer:"
|
||||||
|
|
||||||
#. first time through
|
#. first time through
|
||||||
#: ../src/core/window.c:7515
|
#: ../src/core/window.c:7510
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
"Window %s sets SM_CLIENT_ID on itself, instead of on the WM_CLIENT_LEADER "
|
||||||
@@ -527,7 +527,7 @@ msgstr ""
|
|||||||
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
#. * MWM but not WM_NORMAL_HINTS are basically broken. We complain
|
||||||
#. * about these apps but make them work.
|
#. * about these apps but make them work.
|
||||||
#.
|
#.
|
||||||
#: ../src/core/window.c:8345
|
#: ../src/core/window.c:8340
|
||||||
#, c-format
|
#, c-format
|
||||||
msgid ""
|
msgid ""
|
||||||
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
"Window %s sets an MWM hint indicating it isn't resizable, but sets min size "
|
||||||
@@ -683,9 +683,9 @@ msgid ""
|
|||||||
"the focus will not be changed immediately when entering a window, but only "
|
"the focus will not be changed immediately when entering a window, but only "
|
||||||
"after the pointer stops moving."
|
"after the pointer stops moving."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Indien op ‘true’ ingesteld en de aandachtsmodus is ofwel ‘sloppy’ of ‘mouse’, "
|
"Indien op ‘true’ ingesteld en de aandachtsmodus is ofwel ‘sloppy’ of "
|
||||||
"dan zal de aandacht niet direct veranderd worden bij het binnengaan van een "
|
"‘mouse’, dan zal de aandacht niet direct veranderd worden bij het binnengaan "
|
||||||
"venster, maar slechts wanneer de muispijl stopt met bewegen."
|
"van een venster, maar slechts wanneer de muispijl stopt met bewegen."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:15
|
||||||
msgid "Draggable border width"
|
msgid "Draggable border width"
|
||||||
@@ -697,8 +697,8 @@ msgid ""
|
|||||||
"not enough, invisible borders will be added to meet this value."
|
"not enough, invisible borders will be added to meet this value."
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Het totaal aantal sleepbare randen. Als de zichtbare randen in het thema "
|
"Het totaal aantal sleepbare randen. Als de zichtbare randen in het thema "
|
||||||
"onvoldoende zijn, worden onzichtbare randen toegevoegd om deze waarde "
|
"onvoldoende zijn, worden onzichtbare randen toegevoegd om deze waarde te "
|
||||||
"te bereiken."
|
"bereiken."
|
||||||
|
|
||||||
#: ../src/org.gnome.mutter.gschema.xml.in.h:17
|
#: ../src/org.gnome.mutter.gschema.xml.in.h:17
|
||||||
msgid "Auto maximize nearly monitor sized windows"
|
msgid "Auto maximize nearly monitor sized windows"
|
||||||
@@ -968,8 +968,8 @@ msgid ""
|
|||||||
"GTK custom color specification must have color name and fallback in "
|
"GTK custom color specification must have color name and fallback in "
|
||||||
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
"parentheses, e.g. gtk:custom(foo,bar); could not parse \"%s\""
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Aangepaste GTK-kleurspecificatie moet een kleurnaam en terugvaloptie "
|
"Aangepaste GTK-kleurspecificatie moet een kleurnaam en terugvaloptie hebben "
|
||||||
"hebben tussen haakjes, dus: gtk:custom(foo,bar); kon ‘%s’ niet verwerken"
|
"tussen haakjes, dus: gtk:custom(foo,bar); kon ‘%s’ niet verwerken"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1219
|
#: ../src/ui/theme.c:1219
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -977,8 +977,8 @@ msgid ""
|
|||||||
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
"Invalid character '%c' in color_name parameter of gtk:custom, only A-Za-z0-9-"
|
||||||
"_ are valid"
|
"_ are valid"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Ongeldig teken ‘%c’ in color_name-parameter van gtk:custom, alleen A-Za-z0-9-_ "
|
"Ongeldig teken ‘%c’ in color_name-parameter van gtk:custom, alleen A-Za-z0-9-"
|
||||||
"zijn geldig"
|
"_ zijn geldig"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1233
|
#: ../src/ui/theme.c:1233
|
||||||
#, c-format
|
#, c-format
|
||||||
@@ -986,8 +986,8 @@ msgid ""
|
|||||||
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
"Gtk:custom format is \"gtk:custom(color_name,fallback)\", \"%s\" does not "
|
||||||
"fit the format"
|
"fit the format"
|
||||||
msgstr ""
|
msgstr ""
|
||||||
"Gtk:custom-formaat is ‘gtk:custom(color_name,fallback)’, ‘%s’ voldoet "
|
"Gtk:custom-formaat is ‘gtk:custom(color_name,fallback)’, ‘%s’ voldoet niet "
|
||||||
"niet aan dit formaat"
|
"aan dit formaat"
|
||||||
|
|
||||||
#: ../src/ui/theme.c:1278
|
#: ../src/ui/theme.c:1278
|
||||||
#, c-format
|
#, c-format
|
||||||
|
@@ -168,7 +168,9 @@ libmutter_la_SOURCES = \
|
|||||||
ui/theme.c \
|
ui/theme.c \
|
||||||
meta/theme.h \
|
meta/theme.h \
|
||||||
ui/theme-private.h \
|
ui/theme-private.h \
|
||||||
ui/ui.c \
|
ui/ui.c
|
||||||
|
|
||||||
|
nodist_libmutter_la_SOURCES = \
|
||||||
$(mutter_built_sources)
|
$(mutter_built_sources)
|
||||||
|
|
||||||
libmutter_la_LDFLAGS = -no-undefined
|
libmutter_la_LDFLAGS = -no-undefined
|
||||||
@@ -249,7 +251,7 @@ Meta-$(api_version).gir: libmutter.la
|
|||||||
@META_GIR@_FILES = \
|
@META_GIR@_FILES = \
|
||||||
mutter-enum-types.h \
|
mutter-enum-types.h \
|
||||||
$(libmutterinclude_base_headers) \
|
$(libmutterinclude_base_headers) \
|
||||||
$(filter %.c,$(libmutter_la_SOURCES))
|
$(filter %.c,$(libmutter_la_SOURCES) $(nodist_libmutter_la_SOURCES))
|
||||||
@META_GIR@_SCANNERFLAGS = --warn-all --warn-error
|
@META_GIR@_SCANNERFLAGS = --warn-all --warn-error
|
||||||
|
|
||||||
endif
|
endif
|
||||||
|
@@ -685,15 +685,6 @@ meta_compositor_manage_screen (MetaCompositor *compositor,
|
|||||||
clutter_actor_add_child (info->stage, info->window_group);
|
clutter_actor_add_child (info->stage, info->window_group);
|
||||||
clutter_actor_add_child (info->stage, info->top_window_group);
|
clutter_actor_add_child (info->stage, info->top_window_group);
|
||||||
|
|
||||||
info->plugin_mgr = meta_plugin_manager_new (screen);
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Delay the creation of the overlay window as long as we can, to avoid
|
|
||||||
* blanking out the screen. This means that during the plugin loading, the
|
|
||||||
* overlay window is not accessible; if the plugin needs to access it
|
|
||||||
* directly, it should hook into the "show" signal on stage, and do
|
|
||||||
* its stuff there.
|
|
||||||
*/
|
|
||||||
info->output = get_output_window (screen);
|
info->output = get_output_window (screen);
|
||||||
XReparentWindow (xdisplay, xwin, info->output, 0, 0);
|
XReparentWindow (xdisplay, xwin, info->output, 0, 0);
|
||||||
|
|
||||||
@@ -714,6 +705,8 @@ meta_compositor_manage_screen (MetaCompositor *compositor,
|
|||||||
info->pending_input_region = None;
|
info->pending_input_region = None;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
info->plugin_mgr = meta_plugin_manager_new (screen);
|
||||||
|
|
||||||
/* Map overlay window before redirecting windows offscreen so we catch their
|
/* Map overlay window before redirecting windows offscreen so we catch their
|
||||||
* contents until we show the stage.
|
* contents until we show the stage.
|
||||||
*/
|
*/
|
||||||
|
@@ -469,26 +469,6 @@ meta_core_change_workspace (Display *xdisplay,
|
|||||||
new_workspace));
|
new_workspace));
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
|
||||||
meta_core_get_num_workspaces (Screen *xscreen)
|
|
||||||
{
|
|
||||||
MetaScreen *screen;
|
|
||||||
|
|
||||||
screen = meta_screen_for_x_screen (xscreen);
|
|
||||||
|
|
||||||
return meta_screen_get_n_workspaces (screen);
|
|
||||||
}
|
|
||||||
|
|
||||||
int
|
|
||||||
meta_core_get_active_workspace (Screen *xscreen)
|
|
||||||
{
|
|
||||||
MetaScreen *screen;
|
|
||||||
|
|
||||||
screen = meta_screen_for_x_screen (xscreen);
|
|
||||||
|
|
||||||
return meta_workspace_index (screen->active_workspace);
|
|
||||||
}
|
|
||||||
|
|
||||||
void
|
void
|
||||||
meta_core_show_window_menu (Display *xdisplay,
|
meta_core_show_window_menu (Display *xdisplay,
|
||||||
Window frame_xwindow,
|
Window frame_xwindow,
|
||||||
|
@@ -153,8 +153,6 @@ void meta_core_change_workspace (Display *xdisplay,
|
|||||||
Window frame_xwindow,
|
Window frame_xwindow,
|
||||||
int new_workspace);
|
int new_workspace);
|
||||||
|
|
||||||
int meta_core_get_num_workspaces (Screen *xscreen);
|
|
||||||
int meta_core_get_active_workspace (Screen *xscreen);
|
|
||||||
int meta_core_get_frame_workspace (Display *xdisplay,
|
int meta_core_get_frame_workspace (Display *xdisplay,
|
||||||
Window frame_xwindow);
|
Window frame_xwindow);
|
||||||
const char* meta_core_get_workspace_name_with_index (Display *xdisplay,
|
const char* meta_core_get_workspace_name_with_index (Display *xdisplay,
|
||||||
|
@@ -51,7 +51,6 @@
|
|||||||
#include <meta/compositor.h>
|
#include <meta/compositor.h>
|
||||||
#include <meta/compositor-mutter.h>
|
#include <meta/compositor-mutter.h>
|
||||||
#include <X11/Xatom.h>
|
#include <X11/Xatom.h>
|
||||||
#include <X11/cursorfont.h>
|
|
||||||
#include "mutter-enum-types.h"
|
#include "mutter-enum-types.h"
|
||||||
#include "meta-idle-monitor-private.h"
|
#include "meta-idle-monitor-private.h"
|
||||||
|
|
||||||
@@ -1639,7 +1638,8 @@ window_raise_with_delay_callback (void *data)
|
|||||||
static void
|
static void
|
||||||
meta_display_mouse_mode_focus (MetaDisplay *display,
|
meta_display_mouse_mode_focus (MetaDisplay *display,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
guint32 timestamp) {
|
guint32 timestamp)
|
||||||
|
{
|
||||||
if (window->type != META_WINDOW_DESKTOP)
|
if (window->type != META_WINDOW_DESKTOP)
|
||||||
{
|
{
|
||||||
meta_topic (META_DEBUG_FOCUS,
|
meta_topic (META_DEBUG_FOCUS,
|
||||||
@@ -1678,7 +1678,8 @@ meta_display_mouse_mode_focus (MetaDisplay *display,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static gboolean
|
static gboolean
|
||||||
window_focus_on_pointer_rest_callback (gpointer data) {
|
window_focus_on_pointer_rest_callback (gpointer data)
|
||||||
|
{
|
||||||
MetaFocusData *focus_data;
|
MetaFocusData *focus_data;
|
||||||
MetaDisplay *display;
|
MetaDisplay *display;
|
||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
@@ -1723,9 +1724,9 @@ window_focus_on_pointer_rest_callback (gpointer data) {
|
|||||||
goto out;
|
goto out;
|
||||||
|
|
||||||
window =
|
window =
|
||||||
meta_stack_get_default_focus_window_at_point (screen->stack,
|
meta_stack_get_default_focus_window_at_point (screen->stack,
|
||||||
screen->active_workspace,
|
screen->active_workspace,
|
||||||
None, root_x, root_y);
|
None, root_x, root_y);
|
||||||
|
|
||||||
if (window == NULL)
|
if (window == NULL)
|
||||||
goto out;
|
goto out;
|
||||||
@@ -1733,7 +1734,7 @@ window_focus_on_pointer_rest_callback (gpointer data) {
|
|||||||
timestamp = meta_display_get_current_time_roundtrip (display);
|
timestamp = meta_display_get_current_time_roundtrip (display);
|
||||||
meta_display_mouse_mode_focus (display, window, timestamp);
|
meta_display_mouse_mode_focus (display, window, timestamp);
|
||||||
|
|
||||||
out:
|
out:
|
||||||
display->focus_timeout_id = 0;
|
display->focus_timeout_id = 0;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
@@ -3859,85 +3860,6 @@ meta_display_xwindow_is_a_no_focus_window (MetaDisplay *display,
|
|||||||
return is_a_no_focus_window;
|
return is_a_no_focus_window;
|
||||||
}
|
}
|
||||||
|
|
||||||
Cursor
|
|
||||||
meta_display_create_x_cursor (MetaDisplay *display,
|
|
||||||
MetaCursor cursor)
|
|
||||||
{
|
|
||||||
Cursor xcursor;
|
|
||||||
guint glyph = XC_num_glyphs;
|
|
||||||
const char *name = NULL;
|
|
||||||
|
|
||||||
switch (cursor)
|
|
||||||
{
|
|
||||||
case META_CURSOR_DEFAULT:
|
|
||||||
glyph = XC_left_ptr;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_NORTH_RESIZE:
|
|
||||||
glyph = XC_top_side;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_SOUTH_RESIZE:
|
|
||||||
glyph = XC_bottom_side;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_WEST_RESIZE:
|
|
||||||
glyph = XC_left_side;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_EAST_RESIZE:
|
|
||||||
glyph = XC_right_side;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_SE_RESIZE:
|
|
||||||
glyph = XC_bottom_right_corner;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_SW_RESIZE:
|
|
||||||
glyph = XC_bottom_left_corner;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_NE_RESIZE:
|
|
||||||
glyph = XC_top_right_corner;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_NW_RESIZE:
|
|
||||||
glyph = XC_top_left_corner;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_MOVE_OR_RESIZE_WINDOW:
|
|
||||||
glyph = XC_fleur;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_BUSY:
|
|
||||||
glyph = XC_watch;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_DND_IN_DRAG:
|
|
||||||
name = "dnd-none";
|
|
||||||
break;
|
|
||||||
case META_CURSOR_DND_MOVE:
|
|
||||||
name = "dnd-move";
|
|
||||||
break;
|
|
||||||
case META_CURSOR_DND_COPY:
|
|
||||||
name = "dnd-copy";
|
|
||||||
break;
|
|
||||||
case META_CURSOR_DND_UNSUPPORTED_TARGET:
|
|
||||||
name = "dnd-none";
|
|
||||||
break;
|
|
||||||
case META_CURSOR_POINTING_HAND:
|
|
||||||
glyph = XC_hand2;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_CROSSHAIR:
|
|
||||||
glyph = XC_crosshair;
|
|
||||||
break;
|
|
||||||
case META_CURSOR_IBEAM:
|
|
||||||
glyph = XC_xterm;
|
|
||||||
break;
|
|
||||||
|
|
||||||
default:
|
|
||||||
g_assert_not_reached ();
|
|
||||||
glyph = 0; /* silence compiler */
|
|
||||||
break;
|
|
||||||
}
|
|
||||||
|
|
||||||
if (name != NULL)
|
|
||||||
xcursor = XcursorLibraryLoadCursor (display->xdisplay, name);
|
|
||||||
else
|
|
||||||
xcursor = XCreateFontCursor (display->xdisplay, glyph);
|
|
||||||
|
|
||||||
return xcursor;
|
|
||||||
}
|
|
||||||
|
|
||||||
static Cursor
|
static Cursor
|
||||||
xcursor_for_op (MetaDisplay *display,
|
xcursor_for_op (MetaDisplay *display,
|
||||||
MetaGrabOp op)
|
MetaGrabOp op)
|
||||||
@@ -5808,25 +5730,6 @@ meta_display_request_take_focus (MetaDisplay *display,
|
|||||||
meta_topic (META_DEBUG_FOCUS, "WM_TAKE_FOCUS(%s, %u)\n",
|
meta_topic (META_DEBUG_FOCUS, "WM_TAKE_FOCUS(%s, %u)\n",
|
||||||
window->desc, timestamp);
|
window->desc, timestamp);
|
||||||
|
|
||||||
if (window != display->focus_window)
|
|
||||||
{
|
|
||||||
/* The "Globally Active Input" window case, where the window
|
|
||||||
* doesn't want us to call XSetInputFocus on it, but does
|
|
||||||
* want us to send a WM_TAKE_FOCUS.
|
|
||||||
*
|
|
||||||
* We can't just set display->focus_window to @window, since we
|
|
||||||
* we don't know when (or even if) the window will actually take
|
|
||||||
* focus, so we could end up being wrong for arbitrarily long.
|
|
||||||
* But we also can't leave it set to the current window, or else
|
|
||||||
* bug #597352 would come back. So we focus the no_focus_window
|
|
||||||
* now (and set display->focus_window to that), send the
|
|
||||||
* WM_TAKE_FOCUS, and then just forget about @window
|
|
||||||
* until/unless we get a FocusIn.
|
|
||||||
*/
|
|
||||||
meta_display_focus_the_no_focus_window (display,
|
|
||||||
window->screen,
|
|
||||||
timestamp);
|
|
||||||
}
|
|
||||||
meta_window_send_icccm_message (window,
|
meta_window_send_icccm_message (window,
|
||||||
display->atom_WM_TAKE_FOCUS,
|
display->atom_WM_TAKE_FOCUS,
|
||||||
timestamp);
|
timestamp);
|
||||||
|
@@ -1835,7 +1835,6 @@ invoke_handler_by_name (MetaDisplay *display,
|
|||||||
invoke_handler (display, screen, handler, window, event, NULL);
|
invoke_handler (display, screen, handler, window, event, NULL);
|
||||||
}
|
}
|
||||||
|
|
||||||
/* now called from only one place, may be worth merging */
|
|
||||||
static gboolean
|
static gboolean
|
||||||
process_event (MetaKeyBinding *bindings,
|
process_event (MetaKeyBinding *bindings,
|
||||||
int n_bindings,
|
int n_bindings,
|
||||||
@@ -1843,7 +1842,6 @@ process_event (MetaKeyBinding *bindings,
|
|||||||
MetaScreen *screen,
|
MetaScreen *screen,
|
||||||
MetaWindow *window,
|
MetaWindow *window,
|
||||||
XIDeviceEvent *event,
|
XIDeviceEvent *event,
|
||||||
KeySym keysym,
|
|
||||||
gboolean on_window)
|
gboolean on_window)
|
||||||
{
|
{
|
||||||
int i;
|
int i;
|
||||||
@@ -1861,7 +1859,6 @@ process_event (MetaKeyBinding *bindings,
|
|||||||
MetaKeyHandler *handler = bindings[i].handler;
|
MetaKeyHandler *handler = bindings[i].handler;
|
||||||
|
|
||||||
if ((!on_window && handler->flags & META_KEY_BINDING_PER_WINDOW) ||
|
if ((!on_window && handler->flags & META_KEY_BINDING_PER_WINDOW) ||
|
||||||
event->evtype != XI_KeyPress ||
|
|
||||||
bindings[i].keycode != event->detail ||
|
bindings[i].keycode != event->detail ||
|
||||||
((event->mods.effective & 0xff & ~(display->ignored_modifier_mask)) !=
|
((event->mods.effective & 0xff & ~(display->ignored_modifier_mask)) !=
|
||||||
bindings[i].mask) ||
|
bindings[i].mask) ||
|
||||||
@@ -1928,7 +1925,7 @@ process_overlay_key (MetaDisplay *display,
|
|||||||
*/
|
*/
|
||||||
if (process_event (display->key_bindings,
|
if (process_event (display->key_bindings,
|
||||||
display->n_key_bindings,
|
display->n_key_bindings,
|
||||||
display, screen, NULL, event, keysym,
|
display, screen, NULL, event,
|
||||||
FALSE))
|
FALSE))
|
||||||
{
|
{
|
||||||
/* As normally, after we've handled a global key
|
/* As normally, after we've handled a global key
|
||||||
@@ -2192,7 +2189,7 @@ meta_display_process_key_event (MetaDisplay *display,
|
|||||||
/* Do the normal keybindings */
|
/* Do the normal keybindings */
|
||||||
return process_event (display->key_bindings,
|
return process_event (display->key_bindings,
|
||||||
display->n_key_bindings,
|
display->n_key_bindings,
|
||||||
display, screen, window, event, keysym,
|
display, screen, window, event,
|
||||||
!all_keys_grabbed && window);
|
!all_keys_grabbed && window);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -4132,28 +4129,6 @@ meta_keybindings_set_custom_handler (const gchar *name,
|
|||||||
return TRUE;
|
return TRUE;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
|
||||||
* meta_keybindings_switch_window: (skip)
|
|
||||||
* @display: a #MetaDisplay
|
|
||||||
* @screen: a #MetaScreen
|
|
||||||
* @event_window: a #MetaWindow
|
|
||||||
* @event: a #XIDeviceEvent
|
|
||||||
* @binding: a #MetaKeyBinding
|
|
||||||
*
|
|
||||||
*/
|
|
||||||
void
|
|
||||||
meta_keybindings_switch_window (MetaDisplay *display,
|
|
||||||
MetaScreen *screen,
|
|
||||||
MetaWindow *event_window,
|
|
||||||
XIDeviceEvent *event,
|
|
||||||
MetaKeyBinding *binding)
|
|
||||||
{
|
|
||||||
gint backwards = (binding->handler->flags & META_KEY_BINDING_IS_REVERSED) != 0;
|
|
||||||
|
|
||||||
do_choose_window (display, screen, event_window, event, binding,
|
|
||||||
backwards, FALSE);
|
|
||||||
}
|
|
||||||
|
|
||||||
static void
|
static void
|
||||||
init_builtin_key_bindings (MetaDisplay *display)
|
init_builtin_key_bindings (MetaDisplay *display)
|
||||||
{
|
{
|
||||||
|
@@ -37,7 +37,9 @@
|
|||||||
|
|
||||||
#include <gdk/gdk.h>
|
#include <gdk/gdk.h>
|
||||||
|
|
||||||
|
#include <X11/cursorfont.h>
|
||||||
#include <X11/extensions/Xfixes.h>
|
#include <X11/extensions/Xfixes.h>
|
||||||
|
#include <X11/Xcursor/Xcursor.h>
|
||||||
|
|
||||||
#include "meta-cursor-tracker-private.h"
|
#include "meta-cursor-tracker-private.h"
|
||||||
#include "screen-private.h"
|
#include "screen-private.h"
|
||||||
@@ -69,6 +71,106 @@ enum {
|
|||||||
|
|
||||||
static guint signals[LAST_SIGNAL];
|
static guint signals[LAST_SIGNAL];
|
||||||
|
|
||||||
|
static void
|
||||||
|
translate_meta_cursor (MetaCursor cursor,
|
||||||
|
guint *glyph_out,
|
||||||
|
const char **name_out)
|
||||||
|
{
|
||||||
|
guint glyph = XC_num_glyphs;
|
||||||
|
const char *name = NULL;
|
||||||
|
|
||||||
|
switch (cursor)
|
||||||
|
{
|
||||||
|
case META_CURSOR_DEFAULT:
|
||||||
|
glyph = XC_left_ptr;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_NORTH_RESIZE:
|
||||||
|
glyph = XC_top_side;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_SOUTH_RESIZE:
|
||||||
|
glyph = XC_bottom_side;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_WEST_RESIZE:
|
||||||
|
glyph = XC_left_side;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_EAST_RESIZE:
|
||||||
|
glyph = XC_right_side;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_SE_RESIZE:
|
||||||
|
glyph = XC_bottom_right_corner;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_SW_RESIZE:
|
||||||
|
glyph = XC_bottom_left_corner;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_NE_RESIZE:
|
||||||
|
glyph = XC_top_right_corner;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_NW_RESIZE:
|
||||||
|
glyph = XC_top_left_corner;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_MOVE_OR_RESIZE_WINDOW:
|
||||||
|
glyph = XC_fleur;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_BUSY:
|
||||||
|
glyph = XC_watch;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_DND_IN_DRAG:
|
||||||
|
name = "dnd-none";
|
||||||
|
break;
|
||||||
|
case META_CURSOR_DND_MOVE:
|
||||||
|
name = "dnd-move";
|
||||||
|
break;
|
||||||
|
case META_CURSOR_DND_COPY:
|
||||||
|
name = "dnd-copy";
|
||||||
|
break;
|
||||||
|
case META_CURSOR_DND_UNSUPPORTED_TARGET:
|
||||||
|
name = "dnd-none";
|
||||||
|
break;
|
||||||
|
case META_CURSOR_POINTING_HAND:
|
||||||
|
glyph = XC_hand2;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_CROSSHAIR:
|
||||||
|
glyph = XC_crosshair;
|
||||||
|
break;
|
||||||
|
case META_CURSOR_IBEAM:
|
||||||
|
glyph = XC_xterm;
|
||||||
|
break;
|
||||||
|
|
||||||
|
default:
|
||||||
|
g_assert_not_reached ();
|
||||||
|
glyph = 0; /* silence compiler */
|
||||||
|
break;
|
||||||
|
}
|
||||||
|
|
||||||
|
*glyph_out = glyph;
|
||||||
|
*name_out = name;
|
||||||
|
}
|
||||||
|
|
||||||
|
static Cursor
|
||||||
|
load_cursor_on_server (MetaDisplay *display,
|
||||||
|
MetaCursor cursor)
|
||||||
|
{
|
||||||
|
Cursor xcursor;
|
||||||
|
guint glyph;
|
||||||
|
const char *name;
|
||||||
|
|
||||||
|
translate_meta_cursor (cursor, &glyph, &name);
|
||||||
|
|
||||||
|
if (name != NULL)
|
||||||
|
xcursor = XcursorLibraryLoadCursor (display->xdisplay, name);
|
||||||
|
else
|
||||||
|
xcursor = XCreateFontCursor (display->xdisplay, glyph);
|
||||||
|
|
||||||
|
return xcursor;
|
||||||
|
}
|
||||||
|
|
||||||
|
Cursor
|
||||||
|
meta_display_create_x_cursor (MetaDisplay *display,
|
||||||
|
MetaCursor cursor)
|
||||||
|
{
|
||||||
|
return load_cursor_on_server (display, cursor);
|
||||||
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
meta_cursor_tracker_init (MetaCursorTracker *self)
|
meta_cursor_tracker_init (MetaCursorTracker *self)
|
||||||
{
|
{
|
||||||
|
@@ -99,8 +99,9 @@ static gboolean meta_monitor_config_assign_crtcs (MetaConfiguration *config,
|
|||||||
GPtrArray *crtcs,
|
GPtrArray *crtcs,
|
||||||
GPtrArray *outputs);
|
GPtrArray *outputs);
|
||||||
|
|
||||||
static void power_client_changed_cb (UpClient *client,
|
static void power_client_changed_cb (UpClient *client,
|
||||||
gpointer user_data);
|
GParamSpec *pspec,
|
||||||
|
gpointer user_data);
|
||||||
|
|
||||||
static void
|
static void
|
||||||
free_output_key (MetaOutputKey *key)
|
free_output_key (MetaOutputKey *key)
|
||||||
@@ -232,7 +233,7 @@ meta_monitor_config_init (MetaMonitorConfig *self)
|
|||||||
self->up_client = up_client_new ();
|
self->up_client = up_client_new ();
|
||||||
self->lid_is_closed = up_client_get_lid_is_closed (self->up_client);
|
self->lid_is_closed = up_client_get_lid_is_closed (self->up_client);
|
||||||
|
|
||||||
g_signal_connect_object (self->up_client, "changed",
|
g_signal_connect_object (self->up_client, "notify::lid-is-closed",
|
||||||
G_CALLBACK (power_client_changed_cb), self, 0);
|
G_CALLBACK (power_client_changed_cb), self, 0);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -1344,8 +1345,9 @@ turn_off_laptop_display (MetaMonitorConfig *self,
|
|||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static void
|
||||||
power_client_changed_cb (UpClient *client,
|
power_client_changed_cb (UpClient *client,
|
||||||
gpointer user_data)
|
GParamSpec *pspec,
|
||||||
|
gpointer user_data)
|
||||||
{
|
{
|
||||||
MetaMonitorManager *manager = meta_monitor_manager_get ();
|
MetaMonitorManager *manager = meta_monitor_manager_get ();
|
||||||
MetaMonitorConfig *self = user_data;
|
MetaMonitorConfig *self = user_data;
|
||||||
|
@@ -806,6 +806,9 @@ meta_monitor_manager_handle_get_resources (MetaDBusDisplayConfig *skeleton,
|
|||||||
g_variant_new_take_string (make_display_name (manager, output)));
|
g_variant_new_take_string (make_display_name (manager, output)));
|
||||||
g_variant_builder_add (&properties, "{sv}", "backlight",
|
g_variant_builder_add (&properties, "{sv}", "backlight",
|
||||||
g_variant_new_int32 (output->backlight));
|
g_variant_new_int32 (output->backlight));
|
||||||
|
g_variant_builder_add (&properties, "{sv}", "min-backlight-step",
|
||||||
|
g_variant_new_int32 ((output->backlight_max - output->backlight_min) ?
|
||||||
|
100 / (output->backlight_max - output->backlight_min) : -1));
|
||||||
g_variant_builder_add (&properties, "{sv}", "primary",
|
g_variant_builder_add (&properties, "{sv}", "primary",
|
||||||
g_variant_new_boolean (output->is_primary));
|
g_variant_new_boolean (output->is_primary));
|
||||||
g_variant_builder_add (&properties, "{sv}", "presentation",
|
g_variant_builder_add (&properties, "{sv}", "presentation",
|
||||||
|
@@ -476,6 +476,9 @@ create_guard_window (Display *xdisplay, MetaScreen *screen)
|
|||||||
CWEventMask|CWOverrideRedirect|CWBackPixel,
|
CWEventMask|CWOverrideRedirect|CWBackPixel,
|
||||||
&attributes);
|
&attributes);
|
||||||
|
|
||||||
|
/* https://bugzilla.gnome.org/show_bug.cgi?id=710346 */
|
||||||
|
XStoreName (xdisplay, guard_window, "mutter guard window");
|
||||||
|
|
||||||
{
|
{
|
||||||
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
|
unsigned char mask_bits[XIMaskLen (XI_LASTEVENT)] = { 0 };
|
||||||
XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
|
XIEventMask mask = { XIAllMasterDevices, sizeof (mask_bits), mask_bits };
|
||||||
@@ -856,9 +859,9 @@ meta_screen_free (MetaScreen *screen,
|
|||||||
screen->wm_sn_selection_window);
|
screen->wm_sn_selection_window);
|
||||||
|
|
||||||
if (screen->work_area_later != 0)
|
if (screen->work_area_later != 0)
|
||||||
g_source_remove (screen->work_area_later);
|
meta_later_remove (screen->work_area_later);
|
||||||
if (screen->check_fullscreen_later != 0)
|
if (screen->check_fullscreen_later != 0)
|
||||||
g_source_remove (screen->check_fullscreen_later);
|
meta_later_remove (screen->check_fullscreen_later);
|
||||||
|
|
||||||
if (screen->monitor_infos)
|
if (screen->monitor_infos)
|
||||||
g_free (screen->monitor_infos);
|
g_free (screen->monitor_infos);
|
||||||
|
@@ -6563,8 +6563,7 @@ meta_window_property_notify (MetaWindow *window,
|
|||||||
void
|
void
|
||||||
meta_window_change_workspace_by_index (MetaWindow *window,
|
meta_window_change_workspace_by_index (MetaWindow *window,
|
||||||
gint space_index,
|
gint space_index,
|
||||||
gboolean append,
|
gboolean append)
|
||||||
guint32 timestamp)
|
|
||||||
{
|
{
|
||||||
MetaWorkspace *workspace;
|
MetaWorkspace *workspace;
|
||||||
MetaScreen *screen;
|
MetaScreen *screen;
|
||||||
@@ -6583,11 +6582,7 @@ meta_window_change_workspace_by_index (MetaWindow *window,
|
|||||||
meta_screen_get_workspace_by_index (screen, space_index);
|
meta_screen_get_workspace_by_index (screen, space_index);
|
||||||
|
|
||||||
if (!workspace && append)
|
if (!workspace && append)
|
||||||
{
|
workspace = meta_screen_append_new_workspace (screen, FALSE, CurrentTime);
|
||||||
if (timestamp == CurrentTime)
|
|
||||||
timestamp = meta_display_get_current_time_roundtrip (window->display);
|
|
||||||
workspace = meta_screen_append_new_workspace (screen, FALSE, timestamp);
|
|
||||||
}
|
|
||||||
|
|
||||||
if (workspace)
|
if (workspace)
|
||||||
{
|
{
|
||||||
|
@@ -35,13 +35,6 @@ gboolean meta_keybindings_set_custom_handler (const gchar *name,
|
|||||||
gpointer user_data,
|
gpointer user_data,
|
||||||
GDestroyNotify free_data);
|
GDestroyNotify free_data);
|
||||||
|
|
||||||
void meta_keybindings_switch_window (MetaDisplay *display,
|
|
||||||
MetaScreen *screen,
|
|
||||||
MetaWindow *event_window,
|
|
||||||
XIDeviceEvent *event,
|
|
||||||
MetaKeyBinding *binding);
|
|
||||||
|
|
||||||
|
|
||||||
void meta_screen_ungrab_all_keys (MetaScreen *screen, guint32 timestamp);
|
void meta_screen_ungrab_all_keys (MetaScreen *screen, guint32 timestamp);
|
||||||
gboolean meta_screen_grab_all_keys (MetaScreen *screen, guint32 timestamp);
|
gboolean meta_screen_grab_all_keys (MetaScreen *screen, guint32 timestamp);
|
||||||
#endif
|
#endif
|
||||||
|
@@ -140,8 +140,7 @@ void meta_window_unset_demands_attention (MetaWindow *window);
|
|||||||
const char* meta_window_get_startup_id (MetaWindow *window);
|
const char* meta_window_get_startup_id (MetaWindow *window);
|
||||||
void meta_window_change_workspace_by_index (MetaWindow *window,
|
void meta_window_change_workspace_by_index (MetaWindow *window,
|
||||||
gint space_index,
|
gint space_index,
|
||||||
gboolean append,
|
gboolean append);
|
||||||
guint32 timestamp);
|
|
||||||
void meta_window_change_workspace (MetaWindow *window,
|
void meta_window_change_workspace (MetaWindow *window,
|
||||||
MetaWorkspace *workspace);
|
MetaWorkspace *workspace);
|
||||||
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
GObject *meta_window_get_compositor_private (MetaWindow *window);
|
||||||
|
Reference in New Issue
Block a user