Compare commits

..

14 Commits

Author SHA1 Message Date
Florian Müllner
f63bb024fa Bump version to 3.22.1
Update NEWS.
2016-10-11 00:34:34 +02:00
Florian Müllner
bccff5bdd8 window: Expose Flatpak application ID
GNOME Shell's window matching currently fails frequently with Flatpak
applications, as one of the primary hints used to link windows with
.desktop files - the WM_CLASS - no longer matches when flatpak renames
the exported .desktop file. Luckily, Flatpak provides us with a fail-safe
way to map from the PID to the corresponding application ID, so expose an
appropriate method that allows GNOME Shell to reliably match windows to
the corresponding Flatpak app.

https://bugzilla.gnome.org/show_bug.cgi?id=772614
2016-10-10 23:35:02 +02:00
Florian Müllner
e9944350d3 delete: Share some code between X11 and wayland
In order to kill a window, on both X11 and wayland we first try to
kill(3) the corresponding process, so we can add the newly added
get_client_pid() method to share that code.

https://bugzilla.gnome.org/show_bug.cgi?id=772613
2016-10-10 23:35:02 +02:00
Florian Müllner
1fab6e69b7 window: Add get_client_pid() method
It is often useful to identify the client process that created
a particular window, however the existing meta_window_get_pid()
method relies on _NET_WM_PID, which is only available on X11 and
depends on applications to set it correctly (which may not even
be possible when the app runs in its own PID namespace as Flatpak
apps do). So add a get_client_pid() method that uses windowing
system facilities to resolve the PID associated with a particular
window.

https://bugzilla.gnome.org/show_bug.cgi?id=772613
2016-10-10 23:35:01 +02:00
Jonas Ådahl
f89162ee73 wayland/pointer: Unset pointer focus when disabled
Previously the focus was reset implicitly by a memset() on the whole
MetaWaylandPointer struct. When MetaWaylandPointer was turned into a
GObject, this was not possible any more, and the focus was not updated
properly.

https://bugzilla.gnome.org/show_bug.cgi?id=771646
2016-10-10 23:35:01 +02:00
Rui Matos
5261638bfd meta-monitor-config: Look at an output's modes directly when assigning
Going through the global mode pool and then checking if the mode is
available for a given output is pointless work since we can look at
the output's available modes directly.

This implicitly changes how we choose the default mode since, instead
of relying on the sort order of the global modes array, we now rely on
the sort order of the output modes array. Still not ideal, but at
least it makes more sense since the global array is essentially
unsorted.

https://bugzilla.gnome.org/show_bug.cgi?id=772176
2016-10-10 22:37:13 +02:00
Rui Matos
04b75c45f8 MetaMonitorManagerKms: stop taking drmModeModeInfo.vrefresh directly
As in the previous commit, this value already has mode flags baked in
and we can always get the value we need by computing it ourselves.

https://bugzilla.gnome.org/show_bug.cgi?id=772176
2016-10-10 22:37:11 +02:00
Rui Matos
a50950cf8f MetaMonitorManagerKms: stop accounting for mode flags in refresh rates
This isn't technically needed and, in fact, makes us default to
interlaced modes in some cases which isn't desirable.

Note that X doesn't account for these flags either for its mode
refresh rates.

https://bugzilla.gnome.org/show_bug.cgi?id=772176
2016-10-10 22:36:47 +02:00
Florian Müllner
f1850e0d61 monitor-manager-kms: Fix compiler warning
As the m format specifier doesn't consume any arguments, the number
of varargs currently doesn't match the number of specifiers; the
failed transform may be relevant, so include it in the message
instead of removing the excess argument.
2016-10-08 22:38:26 +02:00
Carlos Garnacho
e3dab70754 backends: Use fallback rotation if native DRM plane rotation failed
Blacklist the HW mode so we fallback gracefully to our own paths.

https://bugzilla.gnome.org/show_bug.cgi?id=772512
2016-10-07 17:19:46 +02:00
Carlos Garnacho
b3eac93c4c xwayland: Ignore selection request not meant to our internal window
There may be other windows managing selection whose events are seen in
our GDK event filter, like st-clipboard in gnome-shell, we should in
that case not interfere on Selection/SelectionRequest events that are
not meant for us.

This fixes an odd feedback loop where requesting clipboard contents from
wayland results in a XConvertRequest call and a SelectionRequest event
that is interpreted by mutter as a request from another X11 client, so
the current data source is poked for content, which happens to be the
X11 bridge, which does a XConvertRequest to get contents... This is only
broken after the many nested async operations create enough pipes and
cancellables to run out of fds.

Adding checks to ensure only events meant to our "selection owner"
window are managed prevent this unintended loop to happen in the first
place.

https://bugzilla.gnome.org/show_bug.cgi?id=760745
2016-10-07 16:05:22 +02:00
Milo Casagrande
a9e386e1af Updated Italian translation 2016-10-03 09:50:50 +00:00
Olav Vitters
028157081c Fix string format build error
backends/meta-input-settings.c:1245:27: error: format '%lx' expects
argument of type 'long unsigned int', but argument 3 has type 'guint64
{aka long long unsigned int}' [-Werror=format=]
2016-09-22 21:00:29 +02:00
Inaki Larranaga Murgoitio
a65c344743 Update Basque language 2016-09-19 13:44:45 +02:00
15 changed files with 456 additions and 327 deletions

14
NEWS
View File

@@ -1,3 +1,17 @@
3.22.1
======
* Fix feedback loop between StClipboard and X11 bridge [Carlos; #760745]
* Fall back gracefully if DRM plane rotation fails [Carlos; #772512]
* Approximate native monitor backend behavior to X [Rui; #772176]
* Fix crash on VT switch on wayland [Jonas; #771646]
* Expose Flatpak ID for application matching [Florian; #772613, #772614]
Contributors:
Jonas Ådahl, Carlos Garnacho, Rui Matos, Florian Müllner, Olav Vitters
Translations:
Inaki Larranaga Murgoitio [eu], Milo Casagrande [it]
3.22.0 3.22.0
====== ======
* Fix wayland crashes [Jonas; #771305, #771345, #770940, #771495] * Fix wayland crashes [Jonas; #771305, #771345, #770940, #771495]

View File

@@ -2,7 +2,7 @@ AC_PREREQ(2.62)
m4_define([mutter_major_version], [3]) m4_define([mutter_major_version], [3])
m4_define([mutter_minor_version], [22]) m4_define([mutter_minor_version], [22])
m4_define([mutter_micro_version], [0]) m4_define([mutter_micro_version], [1])
m4_define([mutter_version], m4_define([mutter_version],
[mutter_major_version.mutter_minor_version.mutter_micro_version]) [mutter_major_version.mutter_minor_version.mutter_micro_version])
@@ -85,6 +85,7 @@ MUTTER_PC_MODULES="
xrender xrender
x11-xcb x11-xcb
xcb-randr xcb-randr
xcb-res
" "
GLIB_GSETTINGS GLIB_GSETTINGS

271
po/eu.po
View File

@@ -9,9 +9,10 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: mutter master\n" "Project-Id-Version: mutter master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=mutter"
"POT-Creation-Date: 2016-03-23 17:05+0100\n" "&keywords=I18N+L10N&component=general\n"
"PO-Revision-Date: 2016-03-23 17:06+0100\n" "POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-09-18 19:02+0100\n"
"Last-Translator: dooteo <dooteo@zundan.com>\n" "Last-Translator: dooteo <dooteo@zundan.com>\n"
"Language-Team: Basque <librezale@librezale.org>\n" "Language-Team: Basque <librezale@librezale.org>\n"
"Language: eu\n" "Language: eu\n"
@@ -21,255 +22,255 @@ msgstr ""
"X-Generator: Lokalize 2.0\n" "X-Generator: Lokalize 2.0\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
#: ../data/50-mutter-navigation.xml.in.h:1 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
msgstr "Nabigazioa" msgstr "Nabigazioa"
#: ../data/50-mutter-navigation.xml.in.h:2 #: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1" msgid "Move window to workspace 1"
msgstr "Eraman leihoa 1. laneko areara" msgstr "Eraman leihoa 1. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:3 #: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2" msgid "Move window to workspace 2"
msgstr "Eraman leihoa 2. laneko areara" msgstr "Eraman leihoa 2. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:4 #: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3" msgid "Move window to workspace 3"
msgstr "Eraman leihoa 3. laneko areara" msgstr "Eraman leihoa 3. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:5 #: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4" msgid "Move window to workspace 4"
msgstr "Eraman leihoa 4. laneko areara" msgstr "Eraman leihoa 4. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:6 #: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace" msgid "Move window to last workspace"
msgstr "Eraman leihoa azkeneko laneko areara" msgstr "Eraman leihoa azkeneko laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:7 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left" msgid "Move window one workspace to the left"
msgstr "Eraman leihoa laneko area bat ezkerrera" msgstr "Eraman leihoa laneko area bat ezkerrera"
#: ../data/50-mutter-navigation.xml.in.h:8 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right" msgid "Move window one workspace to the right"
msgstr "Eraman leihoa laneko area bat eskuinera" msgstr "Eraman leihoa laneko area bat eskuinera"
#: ../data/50-mutter-navigation.xml.in.h:9 #: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Eraman leihoa laneko area bat gora" msgstr "Eraman leihoa laneko area bat gora"
#: ../data/50-mutter-navigation.xml.in.h:10 #: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Eraman leihoa laneko area bat behera" msgstr "Eraman leihoa laneko area bat behera"
#: ../data/50-mutter-navigation.xml.in.h:11 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Eraman leihoa monitore bat ezkerrera" msgstr "Eraman leihoa monitore bat ezkerrera"
#: ../data/50-mutter-navigation.xml.in.h:12 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Eraman leihoa monitore bat eskuinera" msgstr "Eraman leihoa monitore bat eskuinera"
#: ../data/50-mutter-navigation.xml.in.h:13 #: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Eraman leihoa monitore bat gora" msgstr "Eraman leihoa monitore bat gora"
#: ../data/50-mutter-navigation.xml.in.h:14 #: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Eraman leihoa monitore bat behera" msgstr "Eraman leihoa monitore bat behera"
#: ../data/50-mutter-navigation.xml.in.h:15 #: data/50-mutter-navigation.xml:49
msgid "Switch applications" msgid "Switch applications"
msgstr "Aldatu aplikazioz" msgstr "Aldatu aplikazioz"
#: ../data/50-mutter-navigation.xml.in.h:16 #: data/50-mutter-navigation.xml:54
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Aldatu aurreko aplikaziora" msgstr "Aldatu aurreko aplikaziora"
#: ../data/50-mutter-navigation.xml.in.h:17 #: data/50-mutter-navigation.xml:58
msgid "Switch windows" msgid "Switch windows"
msgstr "Aldatu leihoz" msgstr "Aldatu leihoz"
#: ../data/50-mutter-navigation.xml.in.h:18 #: data/50-mutter-navigation.xml:63
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Aldatu aurreko leihora" msgstr "Aldatu aurreko leihora"
#: ../data/50-mutter-navigation.xml.in.h:19 #: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Aldatu aplikazio baten leihoen artean" msgstr "Aldatu aplikazio baten leihoen artean"
#: ../data/50-mutter-navigation.xml.in.h:20 #: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Aldatu aplikazio baten aurreko leihora" msgstr "Aldatu aplikazio baten aurreko leihora"
#: ../data/50-mutter-navigation.xml.in.h:21 #: data/50-mutter-navigation.xml:76
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Aldatu sistemaren kontrolak" msgstr "Aldatu sistemaren kontrolak"
#: ../data/50-mutter-navigation.xml.in.h:22 #: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Aldatu aurreko sistemaren kontrolera" msgstr "Aldatu aurreko sistemaren kontrolera"
#: ../data/50-mutter-navigation.xml.in.h:23 #: data/50-mutter-navigation.xml:85
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Aldatu leihoa zuzenean" msgstr "Aldatu leihoa zuzenean"
#: ../data/50-mutter-navigation.xml.in.h:24 #: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Aldatu zuzenean aurreko leihora" msgstr "Aldatu zuzenean aurreko leihora"
#: ../data/50-mutter-navigation.xml.in.h:25 #: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Aldatu aplikazio baten leihoa zuzenean" msgstr "Aldatu aplikazio baten leihoa zuzenean"
#: ../data/50-mutter-navigation.xml.in.h:26 #: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Aldatu zuzenean aplik. baten aurreko leihora" msgstr "Aldatu zuzenean aplik. baten aurreko leihora"
#: ../data/50-mutter-navigation.xml.in.h:27 #: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Aldatu sistemaren kontrolak zuzenean" msgstr "Aldatu sistemaren kontrolak zuzenean"
#: ../data/50-mutter-navigation.xml.in.h:28 #: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Aldatu zuzenean aurreko sistemaren kontrolera" msgstr "Aldatu zuzenean aurreko sistemaren kontrolera"
#: ../data/50-mutter-navigation.xml.in.h:29 #: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Ezkutatu leiho arrunt guztiak" msgstr "Ezkutatu leiho arrunt guztiak"
#: ../data/50-mutter-navigation.xml.in.h:30 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Aldatu 1. laneko areara" msgstr "Aldatu 1. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:31 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Aldatu 2. laneko areara" msgstr "Aldatu 2. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:32 #: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Aldatu 3. laneko areara" msgstr "Aldatu 3. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:33 #: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Aldatu 4. laneko areara" msgstr "Aldatu 4. laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:34 #: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Aldatu azkeneko laneko areara" msgstr "Aldatu azkeneko laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:35 #: data/50-mutter-navigation.xml:129
msgid "Move to workspace left" msgid "Move to workspace left"
msgstr "Eraman ezkerreko laneko areara" msgstr "Eraman ezkerreko laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:36 #: data/50-mutter-navigation.xml:132
msgid "Move to workspace right" msgid "Move to workspace right"
msgstr "Eraman eskuineko laneko areara" msgstr "Eraman eskuineko laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:37 #: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Eraman gaineko laneko areara" msgstr "Eraman gaineko laneko areara"
#: ../data/50-mutter-navigation.xml.in.h:38 #: data/50-mutter-navigation.xml:138
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Eraman azpiko laneko areara" msgstr "Eraman azpiko laneko areara"
#: ../data/50-mutter-system.xml.in.h:1 #: data/50-mutter-system.xml:6
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
#: ../data/50-mutter-system.xml.in.h:2 #: data/50-mutter-system.xml:8
msgid "Show the run command prompt" msgid "Show the run command prompt"
msgstr "Erakutsi gonbitea komandoa exekutatzeko" msgstr "Erakutsi gonbitea komandoa exekutatzeko"
#: ../data/50-mutter-system.xml.in.h:3 #: data/50-mutter-system.xml:10
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Erakutsi jardueren aurkezpen orokorra" msgstr "Erakutsi jardueren aurkezpen orokorra"
#: ../data/50-mutter-windows.xml.in.h:1 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Leihoak" msgstr "Leihoak"
#: ../data/50-mutter-windows.xml.in.h:2 #: data/50-mutter-windows.xml:8
msgid "Activate the window menu" msgid "Activate the window menu"
msgstr "Aktibatu leiho-menua" msgstr "Aktibatu leiho-menua"
#: ../data/50-mutter-windows.xml.in.h:3 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "Txandakatu pantaila osoaren modua" msgstr "Txandakatu pantaila osoaren modua"
#: ../data/50-mutter-windows.xml.in.h:4 #: data/50-mutter-windows.xml:12
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "Txandakatu maximizatze-egoera" msgstr "Txandakatu maximizatze-egoera"
#: ../data/50-mutter-windows.xml.in.h:5 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
msgstr "Maximizatu leihoa" msgstr "Maximizatu leihoa"
#: ../data/50-mutter-windows.xml.in.h:6 #: data/50-mutter-windows.xml:16
msgid "Restore window" msgid "Restore window"
msgstr "Leheneratu leihoa" msgstr "Leheneratu leihoa"
#: ../data/50-mutter-windows.xml.in.h:7 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state" msgid "Toggle shaded state"
msgstr "Txandakatu bildutako egoera" msgstr "Txandakatu bildutako egoera"
#: ../data/50-mutter-windows.xml.in.h:8 #: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Itxi leihoa" msgstr "Itxi leihoa"
#: ../data/50-mutter-windows.xml.in.h:9 #: data/50-mutter-windows.xml:22
msgid "Hide window" msgid "Hide window"
msgstr "Ezkutatu leihoa" msgstr "Ezkutatu leihoa"
#: ../data/50-mutter-windows.xml.in.h:10 #: data/50-mutter-windows.xml:24
msgid "Move window" msgid "Move window"
msgstr "Aldatu leihoa lekuz" msgstr "Aldatu leihoa lekuz"
#: ../data/50-mutter-windows.xml.in.h:11 #: data/50-mutter-windows.xml:26
msgid "Resize window" msgid "Resize window"
msgstr "Aldatu leihoaren tamaina" msgstr "Aldatu leihoaren tamaina"
#: ../data/50-mutter-windows.xml.in.h:12 #: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "Txandakatu leihoa laneko area guztietan edo bakar batean egotea" msgstr "Txandakatu leihoa laneko area guztietan edo bakar batean egotea"
#: ../data/50-mutter-windows.xml.in.h:13 #: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Goratu leihoa beste leiho batek estaltzen badu, bestela beheratu" msgstr "Goratu leihoa beste leiho batek estaltzen badu, bestela beheratu"
#: ../data/50-mutter-windows.xml.in.h:14 #: data/50-mutter-windows.xml:33
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Goratu leihoa beste leihoen gainera" msgstr "Goratu leihoa beste leihoen gainera"
#: ../data/50-mutter-windows.xml.in.h:15 #: data/50-mutter-windows.xml:35
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Beheratu leihoa beste leihoen azpira" msgstr "Beheratu leihoa beste leihoen azpira"
#: ../data/50-mutter-windows.xml.in.h:16 #: data/50-mutter-windows.xml:37
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Maximizatu leihoa bertikalki" msgstr "Maximizatu leihoa bertikalki"
#: ../data/50-mutter-windows.xml.in.h:17 #: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Maximizatu leihoa horizontalki" msgstr "Maximizatu leihoa horizontalki"
#: ../data/50-mutter-windows.xml.in.h:18 #: data/50-mutter-windows.xml:43
msgid "View split on left" msgid "View split on left"
msgstr "Ikusi zatia ezkerrean" msgstr "Ikusi zatia ezkerrean"
#: ../data/50-mutter-windows.xml.in.h:19 #: data/50-mutter-windows.xml:47
msgid "View split on right" msgid "View split on right"
msgstr "Ikusi zatia eskuinean" msgstr "Ikusi zatia eskuinean"
#: ../data/mutter.desktop.in.h:1 #: data/mutter.desktop.in:4
msgid "Mutter" msgid "Mutter"
msgstr "Mutter" msgstr "Mutter"
#: ../data/org.gnome.mutter.gschema.xml.in.h:1 #: data/org.gnome.mutter.gschema.xml.in:7
msgid "Modifier to use for extended window management operations" msgid "Modifier to use for extended window management operations"
msgstr "Aldatzailea leihoak kudeatzeko eragiketa hedatuetan erabiltzeko" msgstr "Aldatzailea leihoak kudeatzeko eragiketa hedatuetan erabiltzeko"
#: ../data/org.gnome.mutter.gschema.xml.in.h:2 #: data/org.gnome.mutter.gschema.xml.in:8
msgid "" msgid ""
"This key will initiate the \"overlay\", which is a combination window " "This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the " "overview and application launching system. The default is intended to be the "
@@ -281,11 +282,11 @@ msgstr ""
"Lehenetsi gisa, PC ordenagailuko \"Windows tekla\" da. Tekla konbinazio hau " "Lehenetsi gisa, PC ordenagailuko \"Windows tekla\" da. Tekla konbinazio hau "
"lehenetsia izatea edo kate hutz gisa ezartzea da." "lehenetsia izatea edo kate hutz gisa ezartzea da."
#: ../data/org.gnome.mutter.gschema.xml.in.h:3 #: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs" msgid "Attach modal dialogs"
msgstr "Erantsi elkarrizketa-koadro modala" msgstr "Erantsi elkarrizketa-koadro modala"
#: ../data/org.gnome.mutter.gschema.xml.in.h:4 #: data/org.gnome.mutter.gschema.xml.in:21
msgid "" msgid ""
"When true, instead of having independent titlebars, modal dialogs appear " "When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with " "attached to the titlebar of the parent window and are moved together with "
@@ -295,11 +296,11 @@ msgstr ""
"koadro modalak agertuko dira leiho gurasoko titulu-barrari erantsita eta " "koadro modalak agertuko dira leiho gurasoko titulu-barrari erantsita eta "
"leiho gurasoarekin batera mugituko dira." "leiho gurasoarekin batera mugituko dira."
#: ../data/org.gnome.mutter.gschema.xml.in.h:5 #: data/org.gnome.mutter.gschema.xml.in:30
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "Ertzeko lauza gaitzea pantailaren ertzetan leihoak jaregitean " msgstr "Ertzeko lauza gaitzea pantailaren ertzetan leihoak jaregitean "
#: ../data/org.gnome.mutter.gschema.xml.in.h:6 #: data/org.gnome.mutter.gschema.xml.in:31
msgid "" msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them " "If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available " "vertically and resizes them horizontally to cover half of the available "
@@ -310,11 +311,11 @@ msgstr ""
"erabilgarriaren erdia estaltzeko. Pantailaren goiko ertzean leihoak " "erabilgarriaren erdia estaltzeko. Pantailaren goiko ertzean leihoak "
"jaregitean, hauek erabat maximizatuko dira." "jaregitean, hauek erabat maximizatuko dira."
#: ../data/org.gnome.mutter.gschema.xml.in.h:7 #: data/org.gnome.mutter.gschema.xml.in:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Laneko areak dinamikoki kudeatzen dira" msgstr "Laneko areak dinamikoki kudeatzen dira"
#: ../data/org.gnome.mutter.gschema.xml.in.h:8 #: data/org.gnome.mutter.gschema.xml.in:41
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether there's a " "Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org." "static number of workspaces (determined by the num-workspaces key in org."
@@ -324,11 +325,11 @@ msgstr ""
"('org.gnome.desktop.wm.preferences'-eko 'num-workspaces' gakoak zehazten du) " "('org.gnome.desktop.wm.preferences'-eko 'num-workspaces' gakoak zehazten du) "
"daukan zehazten du ." "daukan zehazten du ."
#: ../data/org.gnome.mutter.gschema.xml.in.h:9 #: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary" msgid "Workspaces only on primary"
msgstr "Laneko areak soilik nagusian" msgstr "Laneko areak soilik nagusian"
#: ../data/org.gnome.mutter.gschema.xml.in.h:10 #: data/org.gnome.mutter.gschema.xml.in:51
msgid "" msgid ""
"Determines whether workspace switching should happen for windows on all " "Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor." "monitors or only for windows on the primary monitor."
@@ -336,11 +337,11 @@ msgstr ""
"Laneko areaz aldatzean pantaila guztietako leihoei eragingo dien edo " "Laneko areaz aldatzean pantaila guztietako leihoei eragingo dien edo "
"pantaila nagusiko leihoei soilik zehazten du." "pantaila nagusiko leihoei soilik zehazten du."
#: ../data/org.gnome.mutter.gschema.xml.in.h:11 #: data/org.gnome.mutter.gschema.xml.in:59
msgid "No tab popup" msgid "No tab popup"
msgstr "Laster-fitxarik ez" msgstr "Laster-fitxarik ez"
#: ../data/org.gnome.mutter.gschema.xml.in.h:12 #: data/org.gnome.mutter.gschema.xml.in:60
msgid "" msgid ""
"Determines whether the use of popup and highlight frame should be disabled " "Determines whether the use of popup and highlight frame should be disabled "
"for window cycling." "for window cycling."
@@ -348,11 +349,11 @@ msgstr ""
"Leihoen artean aldatzean laster-leiho eta nabarmentzeko markoen erabilpena " "Leihoen artean aldatzean laster-leiho eta nabarmentzeko markoen erabilpena "
"desgaitu behar den edo ez zehazten du." "desgaitu behar den edo ez zehazten du."
#: ../data/org.gnome.mutter.gschema.xml.in.h:13 #: data/org.gnome.mutter.gschema.xml.in:68
msgid "Delay focus changes until the pointer stops moving" msgid "Delay focus changes until the pointer stops moving"
msgstr "Atzeratu fokuaren aldaketa erakuslea mugitzeari utzi arte" msgstr "Atzeratu fokuaren aldaketa erakuslea mugitzeari utzi arte"
#: ../data/org.gnome.mutter.gschema.xml.in.h:14 #: data/org.gnome.mutter.gschema.xml.in:69
msgid "" msgid ""
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"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 "
@@ -362,11 +363,11 @@ msgstr ""
"bada, fokua ez da berehala aldatuko leiho batean sartzean baizik eta soilik " "bada, fokua ez da berehala aldatuko leiho batean sartzean baizik eta soilik "
"erakuslea gelditzean." "erakuslea gelditzean."
#: ../data/org.gnome.mutter.gschema.xml.in.h:15 #: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width" msgid "Draggable border width"
msgstr "Ertz arrastragarriaren zabalera" msgstr "Ertz arrastragarriaren zabalera"
#: ../data/org.gnome.mutter.gschema.xml.in.h:16 #: data/org.gnome.mutter.gschema.xml.in:80
msgid "" msgid ""
"The amount of total draggable borders. If the theme's visible borders are " "The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value." "not enough, invisible borders will be added to meet this value."
@@ -374,11 +375,11 @@ msgstr ""
"Ertz arrastragarri guztien kopurua. Gaiaren ertz ikusgaiak ez badira " "Ertz arrastragarri guztien kopurua. Gaiaren ertz ikusgaiak ez badira "
"nahikoak, ertz ikusezinak gehituko dira balio honekin bat etortzeko." "nahikoak, ertz ikusezinak gehituko dira balio honekin bat etortzeko."
#: ../data/org.gnome.mutter.gschema.xml.in.h:17 #: data/org.gnome.mutter.gschema.xml.in:89
msgid "Auto maximize nearly monitor sized windows" msgid "Auto maximize nearly monitor sized windows"
msgstr "Maximizatu automatikoki monitorearen tamainaren gertuko leihoak" msgstr "Maximizatu automatikoki monitorearen tamainaren gertuko leihoak"
#: ../data/org.gnome.mutter.gschema.xml.in.h:18 #: data/org.gnome.mutter.gschema.xml.in:90
msgid "" msgid ""
"If enabled, new windows that are initially the size of the monitor " "If enabled, new windows that are initially the size of the monitor "
"automatically get maximized." "automatically get maximized."
@@ -386,11 +387,11 @@ msgstr ""
"Gaituta badago, ia monitorearen tamainara iristen diren leiho berriak " "Gaituta badago, ia monitorearen tamainara iristen diren leiho berriak "
"automatikoki maximizatuko ditu." "automatikoki maximizatuko ditu."
#: ../data/org.gnome.mutter.gschema.xml.in.h:19 #: data/org.gnome.mutter.gschema.xml.in:98
msgid "Place new windows in the center" msgid "Place new windows in the center"
msgstr "Jarri leiho berriak zentroan" msgstr "Jarri leiho berriak zentroan"
#: ../data/org.gnome.mutter.gschema.xml.in.h:20 #: data/org.gnome.mutter.gschema.xml.in:99
msgid "" msgid ""
"When true, the new windows will always be put in the center of the active " "When true, the new windows will always be put in the center of the active "
"screen of the monitor." "screen of the monitor."
@@ -398,85 +399,94 @@ msgstr ""
"TRUE (egia) denean, leiho berriak beti jarriko dira monitorearen pantaila " "TRUE (egia) denean, leiho berriak beti jarriko dira monitorearen pantaila "
"aktiboaren zentroan." "aktiboaren zentroan."
#: ../data/org.gnome.mutter.gschema.xml.in.h:21 #: data/org.gnome.mutter.gschema.xml.in:120
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Hautatu leihoa laster-fitxatik" msgstr "Hautatu leihoa laster-fitxatik"
#: ../data/org.gnome.mutter.gschema.xml.in.h:22 #: data/org.gnome.mutter.gschema.xml.in:125
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Utzi laster-fitxa" msgstr "Utzi laster-fitxa"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Aldatu 1. TBra" msgstr "Aldatu 1. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2 #: data/org.gnome.mutter.wayland.gschema.xml.in:10
msgid "Switch to VT 2" msgid "Switch to VT 2"
msgstr "Aldatu 2. TBra" msgstr "Aldatu 2. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3 #: data/org.gnome.mutter.wayland.gschema.xml.in:14
msgid "Switch to VT 3" msgid "Switch to VT 3"
msgstr "Aldatu 3. TBra" msgstr "Aldatu 3. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4 #: data/org.gnome.mutter.wayland.gschema.xml.in:18
msgid "Switch to VT 4" msgid "Switch to VT 4"
msgstr "Aldatu 4. TBra" msgstr "Aldatu 4. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5 #: data/org.gnome.mutter.wayland.gschema.xml.in:22
msgid "Switch to VT 5" msgid "Switch to VT 5"
msgstr "Aldatu 5. TBra" msgstr "Aldatu 5. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:26
msgid "Switch to VT 6" msgid "Switch to VT 6"
msgstr "Aldatu 6. TBra" msgstr "Aldatu 6. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7 #: data/org.gnome.mutter.wayland.gschema.xml.in:30
msgid "Switch to VT 7" msgid "Switch to VT 7"
msgstr "Aldatu 7. TBra" msgstr "Aldatu 7. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8 #: data/org.gnome.mutter.wayland.gschema.xml.in:34
msgid "Switch to VT 8" msgid "Switch to VT 8"
msgstr "Aldatu 8. TBra" msgstr "Aldatu 8. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9 #: data/org.gnome.mutter.wayland.gschema.xml.in:38
msgid "Switch to VT 9" msgid "Switch to VT 9"
msgstr "Aldatu 9. TBra" msgstr "Aldatu 9. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10 #: data/org.gnome.mutter.wayland.gschema.xml.in:42
msgid "Switch to VT 10" msgid "Switch to VT 10"
msgstr "Aldatu 10. TBra" msgstr "Aldatu 10. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11 #: data/org.gnome.mutter.wayland.gschema.xml.in:46
msgid "Switch to VT 11" msgid "Switch to VT 11"
msgstr "Aldatu 11. TBra" msgstr "Aldatu 11. TBra"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12 #: data/org.gnome.mutter.wayland.gschema.xml.in:50
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Aldatu 12. TBra" msgstr "Aldatu 12. TBra"
#: ../src/backends/meta-monitor-manager.c:518 #: src/backends/meta-input-settings.c:1707
#| msgid "Switch system controls"
msgid "Switch monitor"
msgstr "Aldatu monitorea"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Erakutsi pantailako laguntza"
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display" msgid "Built-in display"
msgstr "Bertako pantaila" msgstr "Bertako pantaila"
#: ../src/backends/meta-monitor-manager.c:544 #: src/backends/meta-monitor-manager.c:537
msgid "Unknown" msgid "Unknown"
msgstr "Ezezaguna" msgstr "Ezezaguna"
#: ../src/backends/meta-monitor-manager.c:546 #: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Pantaila ezezaguna" msgstr "Pantaila ezezaguna"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: ../src/backends/meta-monitor-manager.c:554 #: src/backends/meta-monitor-manager.c:547
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: ../src/compositor/compositor.c:456 #: src/compositor/compositor.c:463
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display \"%s" "Another compositing manager is already running on screen %i on display \"%s"
@@ -485,20 +495,20 @@ msgstr ""
"Dagoeneko beste konposatze-kudeatzailea ari da exekutatzen \"%2$s\" " "Dagoeneko beste konposatze-kudeatzailea ari da exekutatzen \"%2$s\" "
"pantailako %1$i. monitorean \"." "pantailako %1$i. monitorean \"."
#: ../src/core/bell.c:194 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "Soinuaren gertaera" msgstr "Soinuaren gertaera"
#: ../src/core/delete.c:127 #: src/core/delete.c:127
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "'%s'(e)k ez du erantzuten." msgstr "'%s'(e)k ez du erantzuten."
#: ../src/core/delete.c:129 #: src/core/delete.c:129
msgid "Application is not responding." msgid "Application is not responding."
msgstr "Aplikazioak ez du erantzuten." msgstr "Aplikazioak ez du erantzuten."
#: ../src/core/delete.c:134 #: src/core/delete.c:134
msgid "" msgid ""
"You may choose to wait a short while for it to continue or force the " "You may choose to wait a short while for it to continue or force the "
"application to quit entirely." "application to quit entirely."
@@ -506,56 +516,56 @@ msgstr ""
"Aukeratu piskatean zai egotea aplikazioak jarraitzeko edo derrigortu " "Aukeratu piskatean zai egotea aplikazioak jarraitzeko edo derrigortu "
"aplikazioa erabat ixtea." "aplikazioa erabat ixtea."
#: ../src/core/delete.c:141 #: src/core/delete.c:141
msgid "_Wait" msgid "_Wait"
msgstr "_Itxaron" msgstr "_Itxaron"
#: ../src/core/delete.c:141 #: src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "_Behartu ixtera" msgstr "_Behartu ixtera"
#: ../src/core/display.c:555 #: src/core/display.c:590
#, 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 "Huts egin du X Window sistemaren '%s' pantaila irekitzean\n" msgstr "Huts egin du X Window sistemaren '%s' pantaila irekitzean\n"
#: ../src/core/main.c:181 #: src/core/main.c:182
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Desgaitu saio-kudeatzailearen konexioa" msgstr "Desgaitu saio-kudeatzailearen konexioa"
#: ../src/core/main.c:187 #: src/core/main.c:188
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Ordeztu exekutatzen dagoen leiho-kudeatzailea" msgstr "Ordeztu exekutatzen dagoen leiho-kudeatzailea"
#: ../src/core/main.c:193 #: src/core/main.c:194
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Zehaztu saio-kudeatzailearen IDa" msgstr "Zehaztu saio-kudeatzailearen IDa"
#: ../src/core/main.c:198 #: src/core/main.c:199
msgid "X Display to use" msgid "X Display to use"
msgstr "X pantaila erabiltzeko" msgstr "X pantaila erabiltzeko"
#: ../src/core/main.c:204 #: src/core/main.c:205
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Hasieratu saioa babes-fitxategitik" msgstr "Hasieratu saioa babes-fitxategitik"
#: ../src/core/main.c:210 #: src/core/main.c:211
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Egin X deiak sinkronoak izatea" msgstr "Egin X deiak sinkronoak izatea"
#: ../src/core/main.c:217 #: src/core/main.c:218
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Exekutatu wayland konposatzaile gisa" msgstr "Exekutatu wayland konposatzaile gisa"
#: ../src/core/main.c:223 #: src/core/main.c:224
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Exekutatu habiaratutako konposatzaile gisa" msgstr "Exekutatu habiaratutako konposatzaile gisa"
#: ../src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Exekutatu pantaila-zerbitzari oso bezala, habiaratuta baino" msgstr "Exekutatu pantaila-zerbitzari oso bezala, habiaratuta baino"
#: ../src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
"mutter %s\n" "mutter %s\n"
@@ -570,20 +580,20 @@ msgstr ""
"EZ du bermerik; ezta MERKATURATZEKO edo XEDE JAKIN BATERAKO EGOKITASUNAREN " "EZ du bermerik; ezta MERKATURATZEKO edo XEDE JAKIN BATERAKO EGOKITASUNAREN "
"BERMERIK ERE.\n" "BERMERIK ERE.\n"
#: ../src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "Erakutsi bertsioa" msgstr "Erakutsi bertsioa"
#: ../src/core/mutter.c:59 #: src/core/mutter.c:59
msgid "Mutter plugin to use" msgid "Mutter plugin to use"
msgstr "Mutter-en osagaia erabiltzeko" msgstr "Mutter-en osagaia erabiltzeko"
#: ../src/core/prefs.c:1997 #: src/core/prefs.c:1997
#, c-format #, c-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "%d. laneko area" msgstr "%d. laneko area"
#: ../src/core/screen.c:521 #: src/core/screen.c:521
#, c-format #, c-format
msgid "" msgid ""
"Display \"%s\" already has a window manager; try using the --replace option " "Display \"%s\" already has a window manager; try using the --replace option "
@@ -592,16 +602,21 @@ msgstr ""
"'%s' pantailak badu leiho-kudeatzailea; erabili --replace aukera uneko leiho-" "'%s' pantailak badu leiho-kudeatzailea; erabili --replace aukera uneko leiho-"
"kudeatzailea ordezteko." "kudeatzailea ordezteko."
#: ../src/core/screen.c:603 #: src/core/screen.c:606
#, c-format #, c-format
msgid "Screen %d on display '%s' is invalid\n" msgid "Screen %d on display '%s' is invalid\n"
msgstr "'%2$s' bistaratzeko %1$d pantaila ez da baliozkoa\n" msgstr "'%2$s' bistaratzeko %1$d pantaila ez da baliozkoa\n"
#: ../src/core/util.c:121 #: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "Mutter modu xehatuaren euskarririk gabe konpilatu da\n" msgstr "Mutter modu xehatuaren euskarririk gabe konpilatu da\n"
#: ../src/x11/session.c:1815 #: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Modu aldaketa: %d modua"
#: src/x11/session.c:1815
msgid "" msgid ""
"These windows do not support &quot;save current setup&quot; and will have to " "These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in." "be restarted manually next time you log in."
@@ -609,7 +624,7 @@ msgstr ""
"Leiho hauek ez dute onartzen &quot;gorde uneko konfigurazioa&quot; eta eskuz " "Leiho hauek ez dute onartzen &quot;gorde uneko konfigurazioa&quot; eta eskuz "
"berrabiarazi beharko dituzu hurrengo saioa hasten duzunean." "berrabiarazi beharko dituzu hurrengo saioa hasten duzunean."
#: ../src/x11/window-props.c:549 #: src/x11/window-props.c:548
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (%s)" msgstr "%s (%s)"

269
po/it.po
View File

@@ -12,8 +12,8 @@ msgstr ""
"Project-Id-Version: mutter\n" "Project-Id-Version: mutter\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?"
"product=mutter&keywords=I18N+L10N&component=general\n" "product=mutter&keywords=I18N+L10N&component=general\n"
"POT-Creation-Date: 2016-03-17 13:44+0000\n" "POT-Creation-Date: 2016-09-07 09:27+0000\n"
"PO-Revision-Date: 2016-03-17 21:24+0100\n" "PO-Revision-Date: 2016-10-03 11:50+0200\n"
"Last-Translator: Milo Casagrande <milo@milo.name>\n" "Last-Translator: Milo Casagrande <milo@milo.name>\n"
"Language-Team: Italian <tp@lists.linux.it>\n" "Language-Team: Italian <tp@lists.linux.it>\n"
"Language: it\n" "Language: it\n"
@@ -21,261 +21,261 @@ msgstr ""
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n" "Plural-Forms: nplurals=2; plural=(n!=1);\n"
"X-Generator: Poedit 1.8.7\n" "X-Generator: Poedit 1.8.9\n"
#: ../data/50-mutter-navigation.xml.in.h:1 #: data/50-mutter-navigation.xml:6
msgid "Navigation" msgid "Navigation"
msgstr "Navigazione" msgstr "Navigazione"
#: ../data/50-mutter-navigation.xml.in.h:2 #: data/50-mutter-navigation.xml:9
msgid "Move window to workspace 1" msgid "Move window to workspace 1"
msgstr "Sposta la finestra sullo spazio di lavoro 1" msgstr "Sposta la finestra sullo spazio di lavoro 1"
#: ../data/50-mutter-navigation.xml.in.h:3 #: data/50-mutter-navigation.xml:12
msgid "Move window to workspace 2" msgid "Move window to workspace 2"
msgstr "Sposta la finestra sullo spazio di lavoro 2" msgstr "Sposta la finestra sullo spazio di lavoro 2"
#: ../data/50-mutter-navigation.xml.in.h:4 #: data/50-mutter-navigation.xml:15
msgid "Move window to workspace 3" msgid "Move window to workspace 3"
msgstr "Sposta la finestra sullo spazio di lavoro 3" msgstr "Sposta la finestra sullo spazio di lavoro 3"
#: ../data/50-mutter-navigation.xml.in.h:5 #: data/50-mutter-navigation.xml:18
msgid "Move window to workspace 4" msgid "Move window to workspace 4"
msgstr "Sposta la finestra sullo spazio di lavoro 4" msgstr "Sposta la finestra sullo spazio di lavoro 4"
#: ../data/50-mutter-navigation.xml.in.h:6 #: data/50-mutter-navigation.xml:21
msgid "Move window to last workspace" msgid "Move window to last workspace"
msgstr "Sposta la finestra sull'ultimo spazio di lavoro" msgstr "Sposta la finestra sull'ultimo spazio di lavoro"
#: ../data/50-mutter-navigation.xml.in.h:7 #: data/50-mutter-navigation.xml:24
msgid "Move window one workspace to the left" msgid "Move window one workspace to the left"
msgstr "Sposta la finestra sullo spazio di lavoro a sinistra" msgstr "Sposta la finestra sullo spazio di lavoro a sinistra"
#: ../data/50-mutter-navigation.xml.in.h:8 #: data/50-mutter-navigation.xml:27
msgid "Move window one workspace to the right" msgid "Move window one workspace to the right"
msgstr "Sposta la finestra sullo spazio di lavoro a destra" msgstr "Sposta la finestra sullo spazio di lavoro a destra"
#: ../data/50-mutter-navigation.xml.in.h:9 #: data/50-mutter-navigation.xml:30
msgid "Move window one workspace up" msgid "Move window one workspace up"
msgstr "Sposta la finestra sullo spazio di lavoro in alto" msgstr "Sposta la finestra sullo spazio di lavoro in alto"
#: ../data/50-mutter-navigation.xml.in.h:10 #: data/50-mutter-navigation.xml:33
msgid "Move window one workspace down" msgid "Move window one workspace down"
msgstr "Sposta la finestra sullo spazio di lavoro in basso" msgstr "Sposta la finestra sullo spazio di lavoro in basso"
#: ../data/50-mutter-navigation.xml.in.h:11 #: data/50-mutter-navigation.xml:36
msgid "Move window one monitor to the left" msgid "Move window one monitor to the left"
msgstr "Sposta la finestra un monitor a sinistra" msgstr "Sposta la finestra un monitor a sinistra"
#: ../data/50-mutter-navigation.xml.in.h:12 #: data/50-mutter-navigation.xml:39
msgid "Move window one monitor to the right" msgid "Move window one monitor to the right"
msgstr "Sposta la finestra un monitor a destra" msgstr "Sposta la finestra un monitor a destra"
#: ../data/50-mutter-navigation.xml.in.h:13 #: data/50-mutter-navigation.xml:42
msgid "Move window one monitor up" msgid "Move window one monitor up"
msgstr "Sposta la finestra un monitor in su" msgstr "Sposta la finestra un monitor in su"
#: ../data/50-mutter-navigation.xml.in.h:14 #: data/50-mutter-navigation.xml:45
msgid "Move window one monitor down" msgid "Move window one monitor down"
msgstr "Sposta la finestra un monitor in giù" msgstr "Sposta la finestra un monitor in giù"
#: ../data/50-mutter-navigation.xml.in.h:15 #: data/50-mutter-navigation.xml:49
msgid "Switch applications" msgid "Switch applications"
msgstr "Evidenzia le applicazioni" msgstr "Evidenzia le applicazioni"
#: ../data/50-mutter-navigation.xml.in.h:16 #: data/50-mutter-navigation.xml:54
msgid "Switch to previous application" msgid "Switch to previous application"
msgstr "Evidenzia l'applicazione precedente" msgstr "Evidenzia l'applicazione precedente"
#: ../data/50-mutter-navigation.xml.in.h:17 #: data/50-mutter-navigation.xml:58
msgid "Switch windows" msgid "Switch windows"
msgstr "Evidenzia direttamente le finestre" msgstr "Evidenzia direttamente le finestre"
#: ../data/50-mutter-navigation.xml.in.h:18 #: data/50-mutter-navigation.xml:63
msgid "Switch to previous window" msgid "Switch to previous window"
msgstr "Evidenzia la finestra precedente" msgstr "Evidenzia la finestra precedente"
#: ../data/50-mutter-navigation.xml.in.h:19 #: data/50-mutter-navigation.xml:67
msgid "Switch windows of an application" msgid "Switch windows of an application"
msgstr "Evidenzia le finestre di un'applicazione" msgstr "Evidenzia le finestre di un'applicazione"
#: ../data/50-mutter-navigation.xml.in.h:20 #: data/50-mutter-navigation.xml:72
msgid "Switch to previous window of an application" msgid "Switch to previous window of an application"
msgstr "Evidenzia la finestra precedente di un'applicazione" msgstr "Evidenzia la finestra precedente di un'applicazione"
#: ../data/50-mutter-navigation.xml.in.h:21 #: data/50-mutter-navigation.xml:76
msgid "Switch system controls" msgid "Switch system controls"
msgstr "Evidenzia i controlli di sistema" msgstr "Evidenzia i controlli di sistema"
#: ../data/50-mutter-navigation.xml.in.h:22 #: data/50-mutter-navigation.xml:81
msgid "Switch to previous system control" msgid "Switch to previous system control"
msgstr "Evidenzia i controlli di sistema precedenti" msgstr "Evidenzia i controlli di sistema precedenti"
#: ../data/50-mutter-navigation.xml.in.h:23 #: data/50-mutter-navigation.xml:85
msgid "Switch windows directly" msgid "Switch windows directly"
msgstr "Evidenzia direttamente le finestre" msgstr "Evidenzia direttamente le finestre"
#: ../data/50-mutter-navigation.xml.in.h:24 #: data/50-mutter-navigation.xml:90
msgid "Switch directly to previous window" msgid "Switch directly to previous window"
msgstr "Evidenzia direttamente la finestra precedente" msgstr "Evidenzia direttamente la finestra precedente"
#: ../data/50-mutter-navigation.xml.in.h:25 #: data/50-mutter-navigation.xml:94
msgid "Switch windows of an app directly" msgid "Switch windows of an app directly"
msgstr "Evidenzia direttamente le finestre di una applicazione" msgstr "Evidenzia direttamente le finestre di una applicazione"
#: ../data/50-mutter-navigation.xml.in.h:26 #: data/50-mutter-navigation.xml:99
msgid "Switch directly to previous window of an app" msgid "Switch directly to previous window of an app"
msgstr "Evidenzia direttamente la finestra precedente di un'applicazione" msgstr "Evidenzia direttamente la finestra precedente di un'applicazione"
#: ../data/50-mutter-navigation.xml.in.h:27 #: data/50-mutter-navigation.xml:103
msgid "Switch system controls directly" msgid "Switch system controls directly"
msgstr "Evidenzia direttamente i controlli di sistema" msgstr "Evidenzia direttamente i controlli di sistema"
#: ../data/50-mutter-navigation.xml.in.h:28 #: data/50-mutter-navigation.xml:108
msgid "Switch directly to previous system control" msgid "Switch directly to previous system control"
msgstr "Evidenzia direttamente i controlli di sistema precedenti" msgstr "Evidenzia direttamente i controlli di sistema precedenti"
#: ../data/50-mutter-navigation.xml.in.h:29 #: data/50-mutter-navigation.xml:111
msgid "Hide all normal windows" msgid "Hide all normal windows"
msgstr "Nasconde tutte le finestre normali" msgstr "Nasconde tutte le finestre normali"
#: ../data/50-mutter-navigation.xml.in.h:30 #: data/50-mutter-navigation.xml:114
msgid "Switch to workspace 1" msgid "Switch to workspace 1"
msgstr "Passa allo spazio di lavoro 1" msgstr "Passa allo spazio di lavoro 1"
#: ../data/50-mutter-navigation.xml.in.h:31 #: data/50-mutter-navigation.xml:117
msgid "Switch to workspace 2" msgid "Switch to workspace 2"
msgstr "Passa allo spazio di lavoro 2" msgstr "Passa allo spazio di lavoro 2"
#: ../data/50-mutter-navigation.xml.in.h:32 #: data/50-mutter-navigation.xml:120
msgid "Switch to workspace 3" msgid "Switch to workspace 3"
msgstr "Passa allo spazio di lavoro 3" msgstr "Passa allo spazio di lavoro 3"
#: ../data/50-mutter-navigation.xml.in.h:33 #: data/50-mutter-navigation.xml:123
msgid "Switch to workspace 4" msgid "Switch to workspace 4"
msgstr "Passa allo spazio di lavoro 4" msgstr "Passa allo spazio di lavoro 4"
#: ../data/50-mutter-navigation.xml.in.h:34 #: data/50-mutter-navigation.xml:126
msgid "Switch to last workspace" msgid "Switch to last workspace"
msgstr "Passa all'ultimo spazio di lavoro" msgstr "Passa all'ultimo spazio di lavoro"
#: ../data/50-mutter-navigation.xml.in.h:35 #: data/50-mutter-navigation.xml:129
msgid "Move to workspace left" msgid "Move to workspace left"
msgstr "Sposta su spazio di lavoro a sinistra" msgstr "Sposta su spazio di lavoro a sinistra"
#: ../data/50-mutter-navigation.xml.in.h:36 #: data/50-mutter-navigation.xml:132
msgid "Move to workspace right" msgid "Move to workspace right"
msgstr "Sposta su spazio di lavoro a destra" msgstr "Sposta su spazio di lavoro a destra"
#: ../data/50-mutter-navigation.xml.in.h:37 #: data/50-mutter-navigation.xml:135
msgid "Move to workspace above" msgid "Move to workspace above"
msgstr "Sposta su spazio di lavoro in alto" msgstr "Sposta su spazio di lavoro in alto"
#: ../data/50-mutter-navigation.xml.in.h:38 #: data/50-mutter-navigation.xml:138
msgid "Move to workspace below" msgid "Move to workspace below"
msgstr "Sposta su spazio di lavoro in basso" msgstr "Sposta su spazio di lavoro in basso"
#: ../data/50-mutter-system.xml.in.h:1 #: data/50-mutter-system.xml:6
msgid "System" msgid "System"
msgstr "Sistema" msgstr "Sistema"
#: ../data/50-mutter-system.xml.in.h:2 #: data/50-mutter-system.xml:8
msgid "Show the run command prompt" msgid "Show the run command prompt"
msgstr "Mostra il prompt esegui comando" msgstr "Mostra il prompt esegui comando"
#: ../data/50-mutter-system.xml.in.h:3 #: data/50-mutter-system.xml:10
msgid "Show the activities overview" msgid "Show the activities overview"
msgstr "Mostra la panoramica delle attività" msgstr "Mostra la panoramica delle attività"
#: ../data/50-mutter-windows.xml.in.h:1 #: data/50-mutter-windows.xml:6
msgid "Windows" msgid "Windows"
msgstr "Finestre" msgstr "Finestre"
#: ../data/50-mutter-windows.xml.in.h:2 #: data/50-mutter-windows.xml:8
msgid "Activate the window menu" msgid "Activate the window menu"
msgstr "Attiva il menù della finestra" msgstr "Attiva il menù della finestra"
#: ../data/50-mutter-windows.xml.in.h:3 #: data/50-mutter-windows.xml:10
msgid "Toggle fullscreen mode" msgid "Toggle fullscreen mode"
msgstr "Attiva/Disattiva la modalità schermo intero" msgstr "Attiva/Disattiva la modalità schermo intero"
#: ../data/50-mutter-windows.xml.in.h:4 #: data/50-mutter-windows.xml:12
msgid "Toggle maximization state" msgid "Toggle maximization state"
msgstr "Attiva/Disattiva lo stato massimizzazione" msgstr "Attiva/Disattiva lo stato massimizzazione"
#: ../data/50-mutter-windows.xml.in.h:5 #: data/50-mutter-windows.xml:14
msgid "Maximize window" msgid "Maximize window"
msgstr "Massimizza la finestra" msgstr "Massimizza la finestra"
#: ../data/50-mutter-windows.xml.in.h:6 #: data/50-mutter-windows.xml:16
msgid "Restore window" msgid "Restore window"
msgstr "Ripristina la finestra" msgstr "Ripristina la finestra"
#: ../data/50-mutter-windows.xml.in.h:7 #: data/50-mutter-windows.xml:18
msgid "Toggle shaded state" msgid "Toggle shaded state"
msgstr "Attiva/Disattiva lo stato arrotolato" msgstr "Attiva/Disattiva lo stato arrotolato"
#: ../data/50-mutter-windows.xml.in.h:8 #: data/50-mutter-windows.xml:20
msgid "Close window" msgid "Close window"
msgstr "Chiudi la finestra" msgstr "Chiudi la finestra"
#: ../data/50-mutter-windows.xml.in.h:9 #: data/50-mutter-windows.xml:22
msgid "Hide window" msgid "Hide window"
msgstr "Ridimensiona la finestra" msgstr "Ridimensiona la finestra"
#: ../data/50-mutter-windows.xml.in.h:10 #: data/50-mutter-windows.xml:24
msgid "Move window" msgid "Move window"
msgstr "Muovi la finestra" msgstr "Muovi la finestra"
#: ../data/50-mutter-windows.xml.in.h:11 #: data/50-mutter-windows.xml:26
msgid "Resize window" msgid "Resize window"
msgstr "Ridimensiona la finestra" msgstr "Ridimensiona la finestra"
#: ../data/50-mutter-windows.xml.in.h:12 #: data/50-mutter-windows.xml:29
msgid "Toggle window on all workspaces or one" msgid "Toggle window on all workspaces or one"
msgstr "" msgstr ""
"Attiva/Disattiva la stato «su tutti gli spazi di lavoro» per la finestra" "Attiva/Disattiva la stato «su tutti gli spazi di lavoro» per la finestra"
#: ../data/50-mutter-windows.xml.in.h:13 #: data/50-mutter-windows.xml:31
msgid "Raise window if covered, otherwise lower it" msgid "Raise window if covered, otherwise lower it"
msgstr "Solleva la finestra se è coperta, in caso contrario l'abbassa" msgstr "Solleva la finestra se è coperta, in caso contrario l'abbassa"
#: ../data/50-mutter-windows.xml.in.h:14 #: data/50-mutter-windows.xml:33
msgid "Raise window above other windows" msgid "Raise window above other windows"
msgstr "Solleva la finestra sopra le altre" msgstr "Solleva la finestra sopra le altre"
#: ../data/50-mutter-windows.xml.in.h:15 #: data/50-mutter-windows.xml:35
msgid "Lower window below other windows" msgid "Lower window below other windows"
msgstr "Abbassa la finestra sotto le altre" msgstr "Abbassa la finestra sotto le altre"
#: ../data/50-mutter-windows.xml.in.h:16 #: data/50-mutter-windows.xml:37
msgid "Maximize window vertically" msgid "Maximize window vertically"
msgstr "Massimizza verticalmente la finestra" msgstr "Massimizza verticalmente la finestra"
#: ../data/50-mutter-windows.xml.in.h:17 #: data/50-mutter-windows.xml:39
msgid "Maximize window horizontally" msgid "Maximize window horizontally"
msgstr "Massimizza orizzontalmente la finestra" msgstr "Massimizza orizzontalmente la finestra"
# scorciatoia per mettere la finestra a mezzo schermo intero sulla sinistra # scorciatoia per mettere la finestra a mezzo schermo intero sulla sinistra
# #
# traduzione infedele, ma "frazionamento della vista a sn/ds" mi pare peggio # traduzione infedele, ma "frazionamento della vista a sn/ds" mi pare peggio
#: ../data/50-mutter-windows.xml.in.h:18 #: data/50-mutter-windows.xml:43
msgid "View split on left" msgid "View split on left"
msgstr "Massimizza a sinistra" msgstr "Massimizza a sinistra"
#: ../data/50-mutter-windows.xml.in.h:19 #: data/50-mutter-windows.xml:47
msgid "View split on right" msgid "View split on right"
msgstr "Massimizza a destra" msgstr "Massimizza a destra"
#: ../data/mutter.desktop.in.h:1 #: data/mutter.desktop.in:4
msgid "Mutter" msgid "Mutter"
msgstr "Mutter" msgstr "Mutter"
#: ../data/org.gnome.mutter.gschema.xml.in.h:1 #: data/org.gnome.mutter.gschema.xml.in:7
msgid "Modifier to use for extended window management operations" msgid "Modifier to use for extended window management operations"
msgstr "Modificatore da utilizzare per le azioni di gestione finestre estese" msgstr "Modificatore da utilizzare per le azioni di gestione finestre estese"
#: ../data/org.gnome.mutter.gschema.xml.in.h:2 #: data/org.gnome.mutter.gschema.xml.in:8
msgid "" msgid ""
"This key will initiate the \"overlay\", which is a combination window " "This key will initiate the \"overlay\", which is a combination window "
"overview and application launching system. The default is intended to be the " "overview and application launching system. The default is intended to be the "
@@ -288,11 +288,11 @@ msgstr ""
"questa scorciatoia sia o il valore predefinito, oppure che sia impostata " "questa scorciatoia sia o il valore predefinito, oppure che sia impostata "
"alla stringa vuota." "alla stringa vuota."
#: ../data/org.gnome.mutter.gschema.xml.in.h:3 #: data/org.gnome.mutter.gschema.xml.in:20
msgid "Attach modal dialogs" msgid "Attach modal dialogs"
msgstr "Dialoghi modali attaccati" msgstr "Dialoghi modali attaccati"
#: ../data/org.gnome.mutter.gschema.xml.in.h:4 #: data/org.gnome.mutter.gschema.xml.in:21
msgid "" msgid ""
"When true, instead of having independent titlebars, modal dialogs appear " "When true, instead of having independent titlebars, modal dialogs appear "
"attached to the titlebar of the parent window and are moved together with " "attached to the titlebar of the parent window and are moved together with "
@@ -302,13 +302,13 @@ msgstr ""
"dialoghi modali appaiono attaccati alla barra del titolo della finestra " "dialoghi modali appaiono attaccati alla barra del titolo della finestra "
"genitore, muovendosi assieme ad essa." "genitore, muovendosi assieme ad essa."
#: ../data/org.gnome.mutter.gschema.xml.in.h:5 #: data/org.gnome.mutter.gschema.xml.in:30
msgid "Enable edge tiling when dropping windows on screen edges" msgid "Enable edge tiling when dropping windows on screen edges"
msgstr "" msgstr ""
"Abilita il tiling di bordo quando si trascinano le finestre sui bordi dello " "Abilita il tiling di bordo quando si trascinano le finestre sui bordi dello "
"schermo" "schermo"
#: ../data/org.gnome.mutter.gschema.xml.in.h:6 #: data/org.gnome.mutter.gschema.xml.in:31
msgid "" msgid ""
"If enabled, dropping windows on vertical screen edges maximizes them " "If enabled, dropping windows on vertical screen edges maximizes them "
"vertically and resizes them horizontally to cover half of the available " "vertically and resizes them horizontally to cover half of the available "
@@ -319,11 +319,11 @@ msgstr ""
"in modo da coprire metà dell'area disponibile. Trascinandole sul bordo " "in modo da coprire metà dell'area disponibile. Trascinandole sul bordo "
"superiore dello schermo le massimizza completamente." "superiore dello schermo le massimizza completamente."
#: ../data/org.gnome.mutter.gschema.xml.in.h:7 #: data/org.gnome.mutter.gschema.xml.in:40
msgid "Workspaces are managed dynamically" msgid "Workspaces are managed dynamically"
msgstr "Spazi di lavoro gestiti dinamicamente" msgstr "Spazi di lavoro gestiti dinamicamente"
#: ../data/org.gnome.mutter.gschema.xml.in.h:8 #: data/org.gnome.mutter.gschema.xml.in:41
msgid "" msgid ""
"Determines whether workspaces are managed dynamically or whether there's a " "Determines whether workspaces are managed dynamically or whether there's a "
"static number of workspaces (determined by the num-workspaces key in org." "static number of workspaces (determined by the num-workspaces key in org."
@@ -333,12 +333,12 @@ msgstr ""
"loro numero è fisso (determinato dalla chiave num-workspaces in org.gnome." "loro numero è fisso (determinato dalla chiave num-workspaces in org.gnome."
"desktop.wm.preferences)." "desktop.wm.preferences)."
#: ../data/org.gnome.mutter.gschema.xml.in.h:9 #: data/org.gnome.mutter.gschema.xml.in:50
msgid "Workspaces only on primary" msgid "Workspaces only on primary"
msgstr "Spazi di lavoro solo sul primario" msgstr "Spazi di lavoro solo sul primario"
# mica ho capito cosa fa... # mica ho capito cosa fa...
#: ../data/org.gnome.mutter.gschema.xml.in.h:10 #: data/org.gnome.mutter.gschema.xml.in:51
msgid "" msgid ""
"Determines whether workspace switching should happen for windows on all " "Determines whether workspace switching should happen for windows on all "
"monitors or only for windows on the primary monitor." "monitors or only for windows on the primary monitor."
@@ -347,11 +347,11 @@ msgstr ""
"tutti i monitor oppure solo per le finestre sul monitor primario." "tutti i monitor oppure solo per le finestre sul monitor primario."
# mah... sarebbe "popup quando si fa alt-tab", credo # mah... sarebbe "popup quando si fa alt-tab", credo
#: ../data/org.gnome.mutter.gschema.xml.in.h:11 #: data/org.gnome.mutter.gschema.xml.in:59
msgid "No tab popup" msgid "No tab popup"
msgstr "Nessun tab popup" msgstr "Nessun tab popup"
#: ../data/org.gnome.mutter.gschema.xml.in.h:12 #: data/org.gnome.mutter.gschema.xml.in:60
msgid "" msgid ""
"Determines whether the use of popup and highlight frame should be disabled " "Determines whether the use of popup and highlight frame should be disabled "
"for window cycling." "for window cycling."
@@ -359,11 +359,11 @@ msgstr ""
"Determina se disabilitare l'uso di popup e cornici di evidenziatura nel " "Determina se disabilitare l'uso di popup e cornici di evidenziatura nel "
"passare da una finestra all'altra." "passare da una finestra all'altra."
#: ../data/org.gnome.mutter.gschema.xml.in.h:13 #: data/org.gnome.mutter.gschema.xml.in:68
msgid "Delay focus changes until the pointer stops moving" msgid "Delay focus changes until the pointer stops moving"
msgstr "Ritarda il cambio del focus fino a quando il puntatore si ferma" msgstr "Ritarda il cambio del focus fino a quando il puntatore si ferma"
#: ../data/org.gnome.mutter.gschema.xml.in.h:14 #: data/org.gnome.mutter.gschema.xml.in:69
msgid "" msgid ""
"If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then " "If set to true, and the focus mode is either \"sloppy\" or \"mouse\" then "
"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 "
@@ -373,11 +373,11 @@ msgstr ""
"\"mouse\", il focus non viene spostato immediatamente quando si passa su una " "\"mouse\", il focus non viene spostato immediatamente quando si passa su una "
"finestra, ma solo quando il puntatore si ferma." "finestra, ma solo quando il puntatore si ferma."
#: ../data/org.gnome.mutter.gschema.xml.in.h:15 #: data/org.gnome.mutter.gschema.xml.in:79
msgid "Draggable border width" msgid "Draggable border width"
msgstr "Larghezza bordo trascinabile" msgstr "Larghezza bordo trascinabile"
#: ../data/org.gnome.mutter.gschema.xml.in.h:16 #: data/org.gnome.mutter.gschema.xml.in:80
msgid "" msgid ""
"The amount of total draggable borders. If the theme's visible borders are " "The amount of total draggable borders. If the theme's visible borders are "
"not enough, invisible borders will be added to meet this value." "not enough, invisible borders will be added to meet this value."
@@ -386,11 +386,11 @@ msgstr ""
"del tema non sono sufficienti, vengono aggiunti dei bordi invisibili per " "del tema non sono sufficienti, vengono aggiunti dei bordi invisibili per "
"raggiungere questo valore." "raggiungere questo valore."
#: ../data/org.gnome.mutter.gschema.xml.in.h:17 #: data/org.gnome.mutter.gschema.xml.in:89
msgid "Auto maximize nearly monitor sized windows" msgid "Auto maximize nearly monitor sized windows"
msgstr "Massimizza automaticamente finestre grandi quasi quanto lo schermo" msgstr "Massimizza automaticamente finestre grandi quasi quanto lo schermo"
#: ../data/org.gnome.mutter.gschema.xml.in.h:18 #: data/org.gnome.mutter.gschema.xml.in:90
msgid "" msgid ""
"If enabled, new windows that are initially the size of the monitor " "If enabled, new windows that are initially the size of the monitor "
"automatically get maximized." "automatically get maximized."
@@ -398,11 +398,11 @@ msgstr ""
"Se abilitato, le nuove finestre che hanno inizialmente la stessa dimensione " "Se abilitato, le nuove finestre che hanno inizialmente la stessa dimensione "
"del monitor vengono massimizzate automaticamente." "del monitor vengono massimizzate automaticamente."
#: ../data/org.gnome.mutter.gschema.xml.in.h:19 #: data/org.gnome.mutter.gschema.xml.in:98
msgid "Place new windows in the center" msgid "Place new windows in the center"
msgstr "Posiziona le nuove finestre al centro" msgstr "Posiziona le nuove finestre al centro"
#: ../data/org.gnome.mutter.gschema.xml.in.h:20 #: data/org.gnome.mutter.gschema.xml.in:99
msgid "" msgid ""
"When true, the new windows will always be put in the center of the active " "When true, the new windows will always be put in the center of the active "
"screen of the monitor." "screen of the monitor."
@@ -410,85 +410,93 @@ msgstr ""
"Se impostata a VERO, le nuove finestre verranno sempre posizionate al centro " "Se impostata a VERO, le nuove finestre verranno sempre posizionate al centro "
"dello schermo attivo." "dello schermo attivo."
#: ../data/org.gnome.mutter.gschema.xml.in.h:21 #: data/org.gnome.mutter.gschema.xml.in:120
msgid "Select window from tab popup" msgid "Select window from tab popup"
msgstr "Seleziona finestra dal tab popup" msgstr "Seleziona finestra dal tab popup"
#: ../data/org.gnome.mutter.gschema.xml.in.h:22 #: data/org.gnome.mutter.gschema.xml.in:125
msgid "Cancel tab popup" msgid "Cancel tab popup"
msgstr "Annulla tab popup" msgstr "Annulla tab popup"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:1 #: data/org.gnome.mutter.wayland.gschema.xml.in:6
msgid "Switch to VT 1" msgid "Switch to VT 1"
msgstr "Passa al VT 1" msgstr "Passa al VT 1"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:2 #: data/org.gnome.mutter.wayland.gschema.xml.in:10
msgid "Switch to VT 2" msgid "Switch to VT 2"
msgstr "Passa al VT 2" msgstr "Passa al VT 2"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:3 #: data/org.gnome.mutter.wayland.gschema.xml.in:14
msgid "Switch to VT 3" msgid "Switch to VT 3"
msgstr "Passa al VT 3" msgstr "Passa al VT 3"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:4 #: data/org.gnome.mutter.wayland.gschema.xml.in:18
msgid "Switch to VT 4" msgid "Switch to VT 4"
msgstr "Passa al VT 4" msgstr "Passa al VT 4"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:5 #: data/org.gnome.mutter.wayland.gschema.xml.in:22
msgid "Switch to VT 5" msgid "Switch to VT 5"
msgstr "Passa al VT 5" msgstr "Passa al VT 5"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:6 #: data/org.gnome.mutter.wayland.gschema.xml.in:26
msgid "Switch to VT 6" msgid "Switch to VT 6"
msgstr "Passa al VT 6" msgstr "Passa al VT 6"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:7 #: data/org.gnome.mutter.wayland.gschema.xml.in:30
msgid "Switch to VT 7" msgid "Switch to VT 7"
msgstr "Passa al VT 7" msgstr "Passa al VT 7"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:8 #: data/org.gnome.mutter.wayland.gschema.xml.in:34
msgid "Switch to VT 8" msgid "Switch to VT 8"
msgstr "Passa al VT 8" msgstr "Passa al VT 8"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:9 #: data/org.gnome.mutter.wayland.gschema.xml.in:38
msgid "Switch to VT 9" msgid "Switch to VT 9"
msgstr "Passa al VT 9" msgstr "Passa al VT 9"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:10 #: data/org.gnome.mutter.wayland.gschema.xml.in:42
msgid "Switch to VT 10" msgid "Switch to VT 10"
msgstr "Passa al VT 10" msgstr "Passa al VT 10"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:11 #: data/org.gnome.mutter.wayland.gschema.xml.in:46
msgid "Switch to VT 11" msgid "Switch to VT 11"
msgstr "Passa al VT 11" msgstr "Passa al VT 11"
#: ../data/org.gnome.mutter.wayland.gschema.xml.in.h:12 #: data/org.gnome.mutter.wayland.gschema.xml.in:50
msgid "Switch to VT 12" msgid "Switch to VT 12"
msgstr "Passa al VT 12" msgstr "Passa al VT 12"
#: ../src/backends/meta-monitor-manager.c:518 #: src/backends/meta-input-settings.c:1707
msgid "Switch monitor"
msgstr "Cambia monitor"
#: src/backends/meta-input-settings.c:1709
msgid "Show on-screen help"
msgstr "Mostra aiuto sullo schermo"
#: src/backends/meta-monitor-manager.c:514
msgid "Built-in display" msgid "Built-in display"
msgstr "Display integrato" msgstr "Display integrato"
#: ../src/backends/meta-monitor-manager.c:544 #: src/backends/meta-monitor-manager.c:537
msgid "Unknown" msgid "Unknown"
msgstr "Sconosciuto" msgstr "Sconosciuto"
#: ../src/backends/meta-monitor-manager.c:546 #: src/backends/meta-monitor-manager.c:539
msgid "Unknown Display" msgid "Unknown Display"
msgstr "Display sconosciuto" msgstr "Display sconosciuto"
#. TRANSLATORS: this is a monitor vendor name, followed by a #. TRANSLATORS: this is a monitor vendor name, followed by a
#. * size in inches, like 'Dell 15"' #. * size in inches, like 'Dell 15"'
#. #.
#: ../src/backends/meta-monitor-manager.c:554 #: src/backends/meta-monitor-manager.c:547
#, c-format #, c-format
msgid "%s %s" msgid "%s %s"
msgstr "%s %s" msgstr "%s %s"
#. This probably means that a non-WM compositor like xcompmgr is running; #. This probably means that a non-WM compositor like xcompmgr is running;
#. * we have no way to get it to exit #. * we have no way to get it to exit
#: ../src/compositor/compositor.c:456 #: src/compositor/compositor.c:463
#, c-format #, c-format
msgid "" msgid ""
"Another compositing manager is already running on screen %i on display \"%s" "Another compositing manager is already running on screen %i on display \"%s"
@@ -497,20 +505,20 @@ msgstr ""
"Un altro compositing manager è già in esecuzione sullo schermo %i sul " "Un altro compositing manager è già in esecuzione sullo schermo %i sul "
"display «%s»." "display «%s»."
#: ../src/core/bell.c:192 #: src/core/bell.c:194
msgid "Bell event" msgid "Bell event"
msgstr "Evento campanella" msgstr "Evento campanella"
#: ../src/core/delete.c:127 #: src/core/delete.c:127
#, c-format #, c-format
msgid "“%s” is not responding." msgid "“%s” is not responding."
msgstr "Nessuna risposta da %s." msgstr "Nessuna risposta da %s."
#: ../src/core/delete.c:129 #: src/core/delete.c:129
msgid "Application is not responding." msgid "Application is not responding."
msgstr "L'applicazione non risponde." msgstr "L'applicazione non risponde."
#: ../src/core/delete.c:134 #: src/core/delete.c:134
msgid "" msgid ""
"You may choose to wait a short while for it to continue or force the " "You may choose to wait a short while for it to continue or force the "
"application to quit entirely." "application to quit entirely."
@@ -518,56 +526,56 @@ msgstr ""
"È possibile scegliere di attendere un po' lasciando che l'applicazione " "È possibile scegliere di attendere un po' lasciando che l'applicazione "
"continui, oppure forzare la terminazione dell'applicazione." "continui, oppure forzare la terminazione dell'applicazione."
#: ../src/core/delete.c:141 #: src/core/delete.c:141
msgid "_Wait" msgid "_Wait"
msgstr "_Attendi" msgstr "_Attendi"
#: ../src/core/delete.c:141 #: src/core/delete.c:141
msgid "_Force Quit" msgid "_Force Quit"
msgstr "_Forza uscita" msgstr "_Forza uscita"
#: ../src/core/display.c:555 #: src/core/display.c:590
#, 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 "Apertura del display «%s» di X Window System non riuscita\n" msgstr "Apertura del display «%s» di X Window System non riuscita\n"
#: ../src/core/main.c:181 #: src/core/main.c:182
msgid "Disable connection to session manager" msgid "Disable connection to session manager"
msgstr "Disabilita la connessione al gestore di sessione" msgstr "Disabilita la connessione al gestore di sessione"
#: ../src/core/main.c:187 #: src/core/main.c:188
msgid "Replace the running window manager" msgid "Replace the running window manager"
msgstr "Sostituisce il window manager in esecuzione" msgstr "Sostituisce il window manager in esecuzione"
#: ../src/core/main.c:193 #: src/core/main.c:194
msgid "Specify session management ID" msgid "Specify session management ID"
msgstr "Specifica l'ID di gestione sessione" msgstr "Specifica l'ID di gestione sessione"
#: ../src/core/main.c:198 #: src/core/main.c:199
msgid "X Display to use" msgid "X Display to use"
msgstr "Display X da usare" msgstr "Display X da usare"
#: ../src/core/main.c:204 #: src/core/main.c:205
msgid "Initialize session from savefile" msgid "Initialize session from savefile"
msgstr "Inizializza la sessione da file salvato" msgstr "Inizializza la sessione da file salvato"
#: ../src/core/main.c:210 #: src/core/main.c:211
msgid "Make X calls synchronous" msgid "Make X calls synchronous"
msgstr "Rende le chiamate X sincrone" msgstr "Rende le chiamate X sincrone"
#: ../src/core/main.c:217 #: src/core/main.c:218
msgid "Run as a wayland compositor" msgid "Run as a wayland compositor"
msgstr "Esegui come compositor Wayland" msgstr "Esegui come compositor Wayland"
#: ../src/core/main.c:223 #: src/core/main.c:224
msgid "Run as a nested compositor" msgid "Run as a nested compositor"
msgstr "Esegui come compositor annidato" msgstr "Esegui come compositor annidato"
#: ../src/core/main.c:231 #: src/core/main.c:232
msgid "Run as a full display server, rather than nested" msgid "Run as a full display server, rather than nested"
msgstr "Esegui come display server invece che annidato" msgstr "Esegui come display server invece che annidato"
#: ../src/core/mutter.c:39 #: src/core/mutter.c:39
#, c-format #, c-format
msgid "" msgid ""
"mutter %s\n" "mutter %s\n"
@@ -582,20 +590,20 @@ msgstr ""
"NON è fornita alcuna garanzia; neanche di COMMERCIABILITÀ o\n" "NON è fornita alcuna garanzia; neanche di COMMERCIABILITÀ o\n"
"APPLICABILITÀ PER UNO SCOPO PARTICOLARE.\n" "APPLICABILITÀ PER UNO SCOPO PARTICOLARE.\n"
#: ../src/core/mutter.c:53 #: src/core/mutter.c:53
msgid "Print version" msgid "Print version"
msgstr "Stampa la versione" msgstr "Stampa la versione"
#: ../src/core/mutter.c:59 #: src/core/mutter.c:59
msgid "Mutter plugin to use" msgid "Mutter plugin to use"
msgstr "Plugin Mutter da usare" msgstr "Plugin Mutter da usare"
#: ../src/core/prefs.c:1997 #: src/core/prefs.c:1997
#, c-format #, c-format
msgid "Workspace %d" msgid "Workspace %d"
msgstr "Spazio di lavoro %d" msgstr "Spazio di lavoro %d"
#: ../src/core/screen.c:521 #: src/core/screen.c:521
#, c-format #, c-format
msgid "" msgid ""
"Display \"%s\" already has a window manager; try using the --replace option " "Display \"%s\" already has a window manager; try using the --replace option "
@@ -604,17 +612,22 @@ msgstr ""
"Il display «%s» ha già un window manager; provare a utilizzare l'opzione --" "Il display «%s» ha già un window manager; provare a utilizzare l'opzione --"
"replace per sostituirlo." "replace per sostituirlo."
#: ../src/core/screen.c:603 #: src/core/screen.c:606
#, c-format #, c-format
msgid "Screen %d on display '%s' is invalid\n" msgid "Screen %d on display '%s' is invalid\n"
msgstr "Lo schermo %d nel display «%s» non è valido\n" msgstr "Lo schermo %d nel display «%s» non è valido\n"
#: ../src/core/util.c:121 #: src/core/util.c:120
msgid "Mutter was compiled without support for verbose mode\n" msgid "Mutter was compiled without support for verbose mode\n"
msgstr "" msgstr ""
"Mutter è stato compilato escludendo il supporto per la modalità prolissa\n" "Mutter è stato compilato escludendo il supporto per la modalità prolissa\n"
#: ../src/x11/session.c:1815 #: src/wayland/meta-wayland-tablet-pad.c:595
#, c-format
msgid "Mode Switch: Mode %d"
msgstr "Cambio modalità: modalità %d"
#: src/x11/session.c:1815
msgid "" msgid ""
"These windows do not support &quot;save current setup&quot; and will have to " "These windows do not support &quot;save current setup&quot; and will have to "
"be restarted manually next time you log in." "be restarted manually next time you log in."
@@ -622,7 +635,7 @@ msgstr ""
"Queste finestre non supportano la funzione &quot;salva impostazioni " "Queste finestre non supportano la funzione &quot;salva impostazioni "
"attuali&quot; e dovranno essere riavviate manualmente al prossimo accesso." "attuali&quot; e dovranno essere riavviate manualmente al prossimo accesso."
#: ../src/x11/window-props.c:549 #: src/x11/window-props.c:548
#, c-format #, c-format
msgid "%s (on %s)" msgid "%s (on %s)"
msgstr "%s (su %s)" msgstr "%s (su %s)"

View File

@@ -1242,7 +1242,7 @@ lookup_tool_settings (ClutterInputDeviceTool *tool,
tool_id = clutter_input_device_tool_get_id (tool); tool_id = clutter_input_device_tool_get_id (tool);
device_id = get_tablet_settings_id (device, lookup_mapping_info (device)); device_id = get_tablet_settings_id (device, lookup_mapping_info (device));
path = g_strdup_printf ("/org/gnome/settings-daemon/peripherals/wacom/%s/%lx/", path = g_strdup_printf ("/org/gnome/settings-daemon/peripherals/wacom/%s/%" G_GUINT64_FORMAT "/",
device_id, tool_id); device_id, tool_id);
tool_settings = tool_settings_new (tool, path); tool_settings = tool_settings_new (tool, path);
g_object_set_qdata_full (G_OBJECT (tool), quark_tool_settings, tool_settings, g_object_set_qdata_full (G_OBJECT (tool), quark_tool_settings, tool_settings,

View File

@@ -1801,19 +1801,6 @@ crtc_can_drive_output (MetaCRTC *crtc,
return FALSE; return FALSE;
} }
static gboolean
output_supports_mode (MetaOutput *output,
MetaMonitorMode *mode)
{
unsigned int i;
for (i = 0; i < output->n_modes; i++)
if (output->modes[i] == mode)
return TRUE;
return FALSE;
}
static gboolean static gboolean
crtc_assignment_assign (CrtcAssignment *assign, crtc_assignment_assign (CrtcAssignment *assign,
MetaCRTC *crtc, MetaCRTC *crtc,
@@ -1828,9 +1815,6 @@ crtc_assignment_assign (CrtcAssignment *assign,
if (!crtc_can_drive_output (crtc, output)) if (!crtc_can_drive_output (crtc, output))
return FALSE; return FALSE;
if (!output_supports_mode (output, mode))
return FALSE;
if ((crtc->all_transforms & (1 << transform)) == 0) if ((crtc->all_transforms & (1 << transform)) == 0)
return FALSE; return FALSE;
@@ -1917,10 +1901,9 @@ static gboolean
real_assign_crtcs (CrtcAssignment *assignment, real_assign_crtcs (CrtcAssignment *assignment,
unsigned int output_num) unsigned int output_num)
{ {
MetaMonitorMode *modes;
MetaCRTC *crtcs; MetaCRTC *crtcs;
MetaOutput *outputs; MetaOutput *outputs;
unsigned int n_crtcs, n_modes, n_outputs; unsigned int n_crtcs, n_outputs;
MetaOutputKey *output_key; MetaOutputKey *output_key;
MetaOutputConfig *output_config; MetaOutputConfig *output_config;
unsigned int i; unsigned int i;
@@ -1936,7 +1919,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
return real_assign_crtcs (assignment, output_num + 1); return real_assign_crtcs (assignment, output_num + 1);
meta_monitor_manager_get_resources (assignment->manager, meta_monitor_manager_get_resources (assignment->manager,
&modes, &n_modes, NULL, NULL,
&crtcs, &n_crtcs, &crtcs, &n_crtcs,
&outputs, &n_outputs); &outputs, &n_outputs);
@@ -1953,9 +1936,9 @@ real_assign_crtcs (CrtcAssignment *assignment,
MetaOutput *output = find_output_by_key (outputs, n_outputs, output_key); MetaOutput *output = find_output_by_key (outputs, n_outputs, output_key);
unsigned int j; unsigned int j;
for (j = 0; j < n_modes; j++) for (j = 0; j < output->n_modes; j++)
{ {
MetaMonitorMode *mode = &modes[j]; MetaMonitorMode *mode = output->modes[j];
int width, height; int width, height;
if (meta_monitor_transform_is_rotated (output_config->transform)) if (meta_monitor_transform_is_rotated (output_config->transform))
@@ -1980,7 +1963,7 @@ real_assign_crtcs (CrtcAssignment *assignment,
output_config->transform, output_config->transform,
pass); pass);
if (crtc_assignment_assign (assignment, crtc, &modes[j], if (crtc_assignment_assign (assignment, crtc, mode,
output_config->rect.x, output_config->rect.y, output_config->rect.x, output_config->rect.y,
output_config->transform, output_config->transform,
output)) output))

View File

@@ -401,19 +401,12 @@ drm_mode_vrefresh (const drmModeModeInfo *mode)
{ {
float refresh = 0.0; float refresh = 0.0;
if (mode->vrefresh > 0.0)
return mode->vrefresh;
if (mode->htotal > 0 && mode->vtotal > 0) if (mode->htotal > 0 && mode->vtotal > 0)
{ {
/* Calculate refresh rate in milliHz first for extra precision. */ /* Calculate refresh rate in milliHz first for extra precision. */
refresh = (mode->clock * 1000000LL) / mode->htotal; refresh = (mode->clock * 1000000LL) / mode->htotal;
refresh += (mode->vtotal / 2); refresh += (mode->vtotal / 2);
refresh /= mode->vtotal; refresh /= mode->vtotal;
if (mode->flags & DRM_MODE_FLAG_INTERLACE)
refresh *= 2;
if (mode->flags & DRM_MODE_FLAG_DBLSCAN)
refresh /= 2;
if (mode->vscan > 1) if (mode->vscan > 1)
refresh /= mode->vscan; refresh /= mode->vscan;
refresh /= 1000.0; refresh /= 1000.0;
@@ -1357,11 +1350,19 @@ meta_monitor_manager_kms_apply_configuration (MetaMonitorManager *manager,
else else
hw_transform = META_MONITOR_TRANSFORM_NORMAL; hw_transform = META_MONITOR_TRANSFORM_NORMAL;
drmModeObjectSetProperty (manager_kms->fd, if (drmModeObjectSetProperty (manager_kms->fd,
crtc_kms->primary_plane_id, crtc_kms->primary_plane_id,
DRM_MODE_OBJECT_PLANE, DRM_MODE_OBJECT_PLANE,
crtc_kms->rotation_prop_id, crtc_kms->rotation_prop_id,
crtc_kms->rotation_map[hw_transform]); crtc_kms->rotation_map[hw_transform]) != 0)
{
g_warning ("Failed to apply DRM plane transform %d: %m", hw_transform);
/* Blacklist this HW transform, we want to fallback to our
* fallbacks in this case.
*/
crtc_kms->all_hw_transforms &= ~(1 << hw_transform);
}
} }
/* Disable CRTCs not mentioned in the list (they have is_dirty == FALSE, /* Disable CRTCs not mentioned in the list (they have is_dirty == FALSE,
because they weren't seen in the first loop) */ because they weren't seen in the first loop) */

View File

@@ -185,6 +185,22 @@ meta_window_delete (MetaWindow *window,
void void
meta_window_kill (MetaWindow *window) meta_window_kill (MetaWindow *window)
{ {
pid_t pid = meta_window_get_client_pid (window);
if (pid > 0)
{
meta_topic (META_DEBUG_WINDOW_OPS,
"Killing %s with kill()\n",
window->desc);
if (kill (pid, 9) == 0)
return;
meta_topic (META_DEBUG_WINDOW_OPS,
"Failed to signal %s: %s\n",
window->desc, strerror (errno));
}
META_WINDOW_GET_CLASS (window)->kill (window); META_WINDOW_GET_CLASS (window)->kill (window);
} }

View File

@@ -164,6 +164,7 @@ struct _MetaWindow
char *startup_id; char *startup_id;
char *mutter_hints; char *mutter_hints;
char *flatpak_id;
char *gtk_theme_variant; char *gtk_theme_variant;
char *gtk_application_id; char *gtk_application_id;
char *gtk_unique_bus_name; char *gtk_unique_bus_name;
@@ -524,6 +525,7 @@ struct _MetaWindowClass
gboolean (*update_icon) (MetaWindow *window, gboolean (*update_icon) (MetaWindow *window,
cairo_surface_t **icon, cairo_surface_t **icon,
cairo_surface_t **mini_icon); cairo_surface_t **mini_icon);
uint32_t (*get_client_pid) (MetaWindow *window);
void (*update_main_monitor) (MetaWindow *window); void (*update_main_monitor) (MetaWindow *window);
void (*main_monitor_changed) (MetaWindow *window, void (*main_monitor_changed) (MetaWindow *window,
const MetaMonitorInfo *old); const MetaMonitorInfo *old);
@@ -705,6 +707,8 @@ void meta_window_handle_leave (MetaWindow *window);
void meta_window_handle_ungrabbed_event (MetaWindow *window, void meta_window_handle_ungrabbed_event (MetaWindow *window,
const ClutterEvent *event); const ClutterEvent *event);
uint32_t meta_window_get_client_pid (MetaWindow *window);
void meta_window_get_client_area_rect (const MetaWindow *window, void meta_window_get_client_area_rect (const MetaWindow *window,
cairo_rectangle_int_t *rect); cairo_rectangle_int_t *rect);
void meta_window_get_titlebar_rect (MetaWindow *window, void meta_window_get_titlebar_rect (MetaWindow *window,

View File

@@ -253,6 +253,12 @@ meta_window_real_update_icon (MetaWindow *window,
return FALSE; return FALSE;
} }
static uint32_t
meta_window_real_get_client_pid (MetaWindow *window)
{
return 0;
}
static void static void
meta_window_finalize (GObject *object) meta_window_finalize (GObject *object)
{ {
@@ -287,6 +293,7 @@ meta_window_finalize (GObject *object)
g_free (window->res_name); g_free (window->res_name);
g_free (window->title); g_free (window->title);
g_free (window->desc); g_free (window->desc);
g_free (window->flatpak_id);
g_free (window->gtk_theme_variant); g_free (window->gtk_theme_variant);
g_free (window->gtk_application_id); g_free (window->gtk_application_id);
g_free (window->gtk_unique_bus_name); g_free (window->gtk_unique_bus_name);
@@ -420,6 +427,7 @@ meta_window_class_init (MetaWindowClass *klass)
klass->update_struts = meta_window_real_update_struts; klass->update_struts = meta_window_real_update_struts;
klass->get_default_skip_hints = meta_window_real_get_default_skip_hints; klass->get_default_skip_hints = meta_window_real_get_default_skip_hints;
klass->update_icon = meta_window_real_update_icon; klass->update_icon = meta_window_real_update_icon;
klass->get_client_pid = meta_window_real_get_client_pid;
obj_props[PROP_TITLE] = obj_props[PROP_TITLE] =
g_param_spec_string ("title", g_param_spec_string ("title",
@@ -757,6 +765,27 @@ sync_client_window_mapped (MetaWindow *window)
meta_error_trap_pop (window->display); meta_error_trap_pop (window->display);
} }
static void
meta_window_update_flatpak_id (MetaWindow *window)
{
uint32_t pid = meta_window_get_client_pid (window);
g_autoptr(GKeyFile) key_file = NULL;
g_autofree char *info_filename = NULL;
g_clear_pointer (&window->flatpak_id, g_free);
if (pid == 0)
return;
key_file = g_key_file_new ();
info_filename = g_strdup_printf ("/proc/%u/root/.flatpak-info", pid);
if (!g_key_file_load_from_file (key_file, info_filename, G_KEY_FILE_NONE, NULL))
return;
window->flatpak_id = g_key_file_get_string (key_file, "Application", "name", NULL);
}
static void static void
meta_window_update_desc (MetaWindow *window) meta_window_update_desc (MetaWindow *window)
{ {
@@ -856,6 +885,7 @@ _meta_window_shared_new (MetaDisplay *display,
window->screen = screen; window->screen = screen;
meta_window_update_flatpak_id (window);
meta_window_update_desc (window); meta_window_update_desc (window);
window->override_redirect = attrs->override_redirect; window->override_redirect = attrs->override_redirect;
@@ -6890,6 +6920,18 @@ meta_window_get_wm_class_instance (MetaWindow *window)
return window->res_name; return window->res_name;
} }
/**
* meta_window_get_flatpak_id:
* @window: a #MetaWindow
*
* Return value: (transfer none): the Flatpak application ID or %NULL
**/
const char *
meta_window_get_flatpak_id (MetaWindow *window)
{
return window->flatpak_id;
}
/** /**
* meta_window_get_gtk_theme_variant: * meta_window_get_gtk_theme_variant:
* @window: a #MetaWindow * @window: a #MetaWindow
@@ -7055,6 +7097,21 @@ meta_window_get_transient_for (MetaWindow *window)
return NULL; return NULL;
} }
/**
* meta_window_get_client_pid:
* @window: a #MetaWindow
*
* Returns the pid of the process that created this window, if available
* to the windowing system.
*
* Return value: the pid, or 0 if not known.
*/
uint32_t
meta_window_get_client_pid (MetaWindow *window)
{
return META_WINDOW_GET_CLASS (window)->get_client_pid (window);
}
/** /**
* meta_window_get_pid: * meta_window_get_pid:
* @window: a #MetaWindow * @window: a #MetaWindow

View File

@@ -138,6 +138,7 @@ const char * meta_window_get_wm_class (MetaWindow *window);
const char * meta_window_get_wm_class_instance (MetaWindow *window); const char * meta_window_get_wm_class_instance (MetaWindow *window);
gboolean meta_window_showing_on_its_workspace (MetaWindow *window); gboolean meta_window_showing_on_its_workspace (MetaWindow *window);
const char * meta_window_get_flatpak_id (MetaWindow *window);
const char * meta_window_get_gtk_theme_variant (MetaWindow *window); const char * meta_window_get_gtk_theme_variant (MetaWindow *window);
const char * meta_window_get_gtk_application_id (MetaWindow *window); const char * meta_window_get_gtk_application_id (MetaWindow *window);
const char * meta_window_get_gtk_unique_bus_name (MetaWindow *window); const char * meta_window_get_gtk_unique_bus_name (MetaWindow *window);

View File

@@ -494,6 +494,7 @@ meta_wayland_pointer_disable (MetaWaylandPointer *pointer)
} }
meta_wayland_pointer_end_grab (pointer); meta_wayland_pointer_end_grab (pointer);
meta_wayland_pointer_set_focus (pointer, NULL);
g_clear_pointer (&pointer->pointer_clients, g_hash_table_unref); g_clear_pointer (&pointer->pointer_clients, g_hash_table_unref);
pointer->cursor_surface = NULL; pointer->cursor_surface = NULL;

View File

@@ -106,24 +106,6 @@ meta_window_wayland_kill (MetaWindow *window)
{ {
MetaWaylandSurface *surface = window->surface; MetaWaylandSurface *surface = window->surface;
struct wl_resource *resource = surface->resource; struct wl_resource *resource = surface->resource;
pid_t pid;
uid_t uid;
gid_t gid;
wl_client_get_credentials (wl_resource_get_client (resource), &pid, &uid, &gid);
if (pid > 0)
{
meta_topic (META_DEBUG_WINDOW_OPS,
"Killing %s with kill()\n",
window->desc);
if (kill (pid, 9) == 0)
return;
meta_topic (META_DEBUG_WINDOW_OPS,
"Failed to signal %s: %s\n",
window->desc, strerror (errno));
}
/* Send the client an unrecoverable error to kill the client. */ /* Send the client an unrecoverable error to kill the client. */
wl_resource_post_error (resource, wl_resource_post_error (resource,
@@ -453,6 +435,17 @@ meta_window_wayland_main_monitor_changed (MetaWindow *window,
meta_window_emit_size_changed (window); meta_window_emit_size_changed (window);
} }
static uint32_t
meta_window_wayland_get_client_pid (MetaWindow *window)
{
MetaWaylandSurface *surface = window->surface;
struct wl_resource *resource = surface->resource;
pid_t pid;
wl_client_get_credentials (wl_resource_get_client (resource), &pid, NULL, NULL);
return (uint32_t)pid;
}
static void static void
appears_focused_changed (GObject *object, appears_focused_changed (GObject *object,
GParamSpec *pspec, GParamSpec *pspec,
@@ -487,6 +480,7 @@ meta_window_wayland_class_init (MetaWindowWaylandClass *klass)
window_class->move_resize_internal = meta_window_wayland_move_resize_internal; window_class->move_resize_internal = meta_window_wayland_move_resize_internal;
window_class->update_main_monitor = meta_window_wayland_update_main_monitor; window_class->update_main_monitor = meta_window_wayland_update_main_monitor;
window_class->main_monitor_changed = meta_window_wayland_main_monitor_changed; window_class->main_monitor_changed = meta_window_wayland_main_monitor_changed;
window_class->get_client_pid = meta_window_wayland_get_client_pid;
} }
MetaWindow * MetaWindow *

View File

@@ -1129,6 +1129,9 @@ meta_xwayland_selection_handle_selection_notify (MetaWaylandCompositor *composit
if (!selection) if (!selection)
return FALSE; return FALSE;
if (selection->window != event->requestor)
return FALSE;
/* convert selection failed */ /* convert selection failed */
if (event->property == None) if (event->property == None)
{ {
@@ -1261,6 +1264,9 @@ meta_xwayland_selection_handle_selection_request (MetaWaylandCompositor *composi
if (!selection) if (!selection)
return FALSE; return FALSE;
if (selection->window != event->owner)
return FALSE;
/* We must fetch from the currently active source, not the Xwayland one */ /* We must fetch from the currently active source, not the Xwayland one */
data_source = data_device_get_active_source_for_atom (&compositor->seat->data_device, data_source = data_device_get_active_source_for_atom (&compositor->seat->data_device,
selection->selection_atom); selection->selection_atom);

View File

@@ -28,6 +28,9 @@
#include <string.h> #include <string.h>
#include <X11/Xatom.h> #include <X11/Xatom.h>
#include <X11/Xlibint.h> /* For display->resource_mask */ #include <X11/Xlibint.h> /* For display->resource_mask */
#include <X11/Xlib-xcb.h>
#include <xcb/res.h>
#include <X11/extensions/shape.h> #include <X11/extensions/shape.h>
@@ -701,23 +704,6 @@ meta_window_x11_delete (MetaWindow *window,
static void static void
meta_window_x11_kill (MetaWindow *window) meta_window_x11_kill (MetaWindow *window)
{ {
meta_topic (META_DEBUG_WINDOW_OPS,
"Killing %s brutally\n",
window->desc);
if (!meta_window_is_remote (window) &&
window->net_wm_pid > 0)
{
meta_topic (META_DEBUG_WINDOW_OPS,
"Killing %s with kill()\n",
window->desc);
if (kill (window->net_wm_pid, 9) < 0)
meta_topic (META_DEBUG_WINDOW_OPS,
"Failed to signal %s: %s\n",
window->desc, strerror (errno));
}
meta_topic (META_DEBUG_WINDOW_OPS, meta_topic (META_DEBUG_WINDOW_OPS,
"Disconnecting %s with XKillClient()\n", "Disconnecting %s with XKillClient()\n",
window->desc); window->desc);
@@ -1481,6 +1467,42 @@ meta_window_x11_main_monitor_changed (MetaWindow *window,
{ {
} }
static uint32_t
meta_window_x11_get_client_pid (MetaWindow *window)
{
xcb_connection_t *xcb = XGetXCBConnection (window->display->xdisplay);
xcb_res_client_id_spec_t spec = { 0 };
xcb_res_query_client_ids_cookie_t cookie;
xcb_res_query_client_ids_reply_t *reply = NULL;
spec.client = window->xwindow;
spec.mask = XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID;
cookie = xcb_res_query_client_ids (xcb, 1, &spec);
reply = xcb_res_query_client_ids_reply (xcb, cookie, NULL);
if (reply == NULL)
return 0;
uint32_t pid = 0, *value;
xcb_res_client_id_value_iterator_t it;
for (it = xcb_res_query_client_ids_ids_iterator (reply);
it.rem;
xcb_res_client_id_value_next (&it))
{
spec = it.data->spec;
if (spec.mask & XCB_RES_CLIENT_ID_MASK_LOCAL_CLIENT_PID)
{
value = xcb_res_client_id_value_value (it.data);
pid = *value;
break;
}
}
free (reply);
return pid;
}
static void static void
meta_window_x11_class_init (MetaWindowX11Class *klass) meta_window_x11_class_init (MetaWindowX11Class *klass)
{ {
@@ -1501,6 +1523,7 @@ meta_window_x11_class_init (MetaWindowX11Class *klass)
window_class->update_icon = meta_window_x11_update_icon; window_class->update_icon = meta_window_x11_update_icon;
window_class->update_main_monitor = meta_window_x11_update_main_monitor; window_class->update_main_monitor = meta_window_x11_update_main_monitor;
window_class->main_monitor_changed = meta_window_x11_main_monitor_changed; window_class->main_monitor_changed = meta_window_x11_main_monitor_changed;
window_class->get_client_pid = meta_window_x11_get_client_pid;
} }
void void