Compare commits

..

39 Commits
3.6.2 ... 3.7.3

Author SHA1 Message Date
Giovanni Campagna
e179ab72fc Bump version to 3.7.3
To go along GNOME Shell 3.7.3
2012-12-18 21:20:58 +01:00
Yuri Myasoedov
11e8f2832c Updated Russian translation 2012-12-17 09:16:13 +04:00
Florian Müllner
61f86a3f29 alternate-tab: Re-use window-switcher in gnome-shell
gnome-shell now provides its own traditional window switcher using
a dedicated keybinding, so update the extension to just take over
the default application-based switchers as well.

https://bugzilla.gnome.org/show_bug.cgi?id=689724
2012-12-11 07:40:40 +01:00
Florian Müllner
0fed304f79 static-workspaces: New extension
Just as the default-min-max extension, this extension reverts a
gnome-shell override and is meant to be used in classic mode.

https://bugzilla.gnome.org/show_bug.cgi?id=689739
2012-12-11 05:29:47 +05:30
Ryan Lortie
02989fd0f7 gnome-classic.session: fix @libexecdir@ substitution
The Makefile had two rules by which it could possibly have generated the
intermediate .in file (on the way from .in.in to .session) and it picked
the one that didn't contain the substitution for @libexecdir@.

Consolidate the rules into one that does all the needed substitutions.

https://bugzilla.gnome.org/show_bug.cgi?id=689756
2012-12-11 05:24:36 +05:30
Giovanni Campagna
9900ae19dc Revert "Remove alternate-tab extension"
This reverts commit 0b7c3e3dbb.
Pushed by mistake, and we actually want the alternate-tab extension,
just in a different form.
2012-12-11 00:10:17 +01:00
Giovanni Campagna
b9a4d178a8 Enable classic-mode if all extensions are enabled
This allows to test classic-mode integration without losing the other
extensions.
2012-12-10 23:11:33 +01:00
Florian Müllner
8815c670ea Install a 'classic' mode for gnome-shell
Commit c421da905f added the necessary machinery for adding a
classic session, do the same for the corresponding gnome-shell
mode.

https://bugzilla.gnome.org/show_bug.cgi?id=689738
2012-12-10 23:02:25 +01:00
Florian Müllner
1e45a69d36 Add generated data files to .gitignore
https://bugzilla.gnome.org/show_bug.cgi?id=689738
2012-12-10 23:02:12 +01:00
Giovanni Campagna
0b7c3e3dbb Remove alternate-tab extension
It's in core shell now! Just replace the switch applications keybinding
with switch windows in the keyboard panel.
2012-12-10 23:00:46 +01:00
Matej Urbančič
b9563829bb Updated Slovenian translation 2012-12-10 21:54:18 +01:00
Piotr Drąg
4b26753d83 Updated Polish translation 2012-12-06 22:35:29 +01:00
Daniel Mustieles
cdb7ff0cec Updated Spanish translation 2012-12-05 20:08:57 +01:00
Debarshi Ray
c421da905f Add the machinery to provide a classic-mode session
A new session is added only when --enable-extensions=classic-mode is
used.

https://bugzilla.gnome.org/show_bug.cgi?id=689285
2012-11-30 18:53:29 +01:00
Debarshi Ray
5a08081cc0 workspace-indicator: Remove it from CLASSIC_EXTENSIONS
It is not one of the extensions nominated for the fallback replacement
mode.

https://bugzilla.gnome.org/show_bug.cgi?id=689365
2012-11-30 18:50:35 +01:00
Debarshi Ray
ad542d2f77 default-min-max: New extension
Adds minimize and maximize buttons to the titlebar by default. It
restores org.gnome.desktop.wm.preferences as the schema to be used for
the button-layout key.

It is included in classic-mode.

https://bugzilla.gnome.org/show_bug.cgi?id=689275
2012-11-30 18:50:14 +01:00
Khaled Hosny
20e8a0dcc3 Update Arabic translation 2012-11-21 17:00:42 +02:00
Cheng-Chia Tseng
87c26eab14 Updated Traditional Chinese translation(Hong Kong and Taiwan) 2012-11-21 14:40:34 +08:00
Giovanni Campagna
877a53c2fc Bump version to 3.7.2
To go along GNOME Shell 3.7.2
2012-11-20 16:46:42 +01:00
Giovanni Campagna
10e38adf20 Add "classic-mode" build infrastructure
As part of removing fallback mode, GNOME wants to support a subset of
gnome-shell-extensions that restore part of the GNOME 2 experience.
This commit introduces that distinction, and allows to build only the
supported "classic-mode" extensions.
2012-11-20 16:39:45 +01:00
Giovanni Campagna
2a64ee6993 alternative-status-menu: flip the default hibernate option
Many people complained that they can't make hibernate visible. Given
that using gsettings with extensions is not easy (you need --schemadir etc.),
just flip the default, and tell people that don't want it to change it
(or just core shell)
2012-11-20 16:37:20 +01:00
Giovanni Campagna
9d9ef27317 WindowsNavigator: fix with recent shell
Recently WindowsNavigator would just crash the shell upon entering
the overview. I'm not sure where the bug was, probably it was due to
the new window layout code.
2012-11-20 16:37:20 +01:00
Giovanni Campagna
785656d149 alternate-tab: don't show attached modal dialogs
Attached modal dialogs cannot be focused on their own, so the expected
interaction is to choose their parent instead.
2012-11-20 16:37:20 +01:00
Giovanni Campagna
f8ee696c7c alternate-tab: port to the new keybindings infrastructure
Keybindings were refactored in 3.7.2, to allow handling them
while the shell is modal, and now require a set of flags indicating
the "allowed modes"
2012-11-20 16:37:20 +01:00
Stas Solovey
aa677b265a Updated Russian translation 2012-11-20 11:33:17 +04:00
Giovanni Campagna
9b04e6f44c PlacesMenu: ignore missing local bookmarks
If a local bookmark does not refer to an existing directory, ignore
it instead of showing a broken entry.
2012-11-16 20:29:56 +01:00
Giovanni Campagna
315aa82d15 PlacesMenu: support historical location for bookmarks file
Ubuntu is shipping with Nautilus 3.4 in 12.10, so the bookmarks file
was not moved to .config/gtk-3.0.
2012-11-16 20:29:51 +01:00
Giovanni Campagna
0bc41bcb1d native-window-placement: fix disabling the extension
The monkey patch was being reinstalled under the wrong name.
2012-11-11 19:26:56 +01:00
Мирослав Николић
e59c218c62 Updated Serbian translation 2012-11-09 11:54:47 +01:00
Giovanni Campagna
880758e470 PlacesMenu: don't fail for GIO errors getting the file name
Different GIO backends can fail in different ways trying to query
file infos. If that's the case, fail back to safe get_basename()
instead of crashing.
2012-11-07 17:43:17 +01:00
Dušan Kazik
a5ce94c6d3 Updated slovak translation 2012-11-06 23:29:13 +01:00
Giovanni Campagna
8a73e58134 Bump version to 3.7.1
To go along GNOME Shell 3.7.1
2012-10-26 17:20:41 +02:00
Giovanni Campagna
bfe7a760d1 NativeWindowPlacement: reduce the number of hacks to work better with 3.7.1
3.7 is brought some big changes in the window layout code, but I'm not
going to take advantage of them (as the assume some sort of row based layout).
Instead, just work around them in a way that makes the extension work
without major issues.
2012-10-26 17:20:41 +02:00
Giovanni Campagna
0d932f4b24 alternative-status-menu: update for 3.7
gnome-shell uses logind for suspending now. Take the occasion to
do some cleanups as well.
2012-10-26 17:20:41 +02:00
Giovanni Campagna
6c1dbe1ee1 places-menu: don't crash if a special directory or mount doesn't exists
Under broken configurations, it is possible that a special directory
is configured but does not exist. In that case, just skip the menu item
altogheter.
2012-10-26 17:20:41 +02:00
A S Alam
a125390c5f update Punjabi Translation for package 2012-10-25 09:11:13 +05:30
Christian Kirbach
fdb5f3e8ef Updated German translation 2012-10-24 12:41:24 +02:00
Aurimas Černius
d64feb040d Updated Lithuanian translation 2012-10-20 21:52:39 +03:00
Giovanni Campagna
987409b742 Remove dock and gajim extensions from the repository
They're buggy, unmaintained, and nobody stepped up to fix them.
See full rationale at
https://mail.gnome.org/archives/gnome-shell-list/2012-August/msg00132.html

Anyone who's unhappy with this decision, please contact me and we
can arrange co-maintainership or ownership transfer.
2012-10-16 16:22:45 +02:00
49 changed files with 1770 additions and 3584 deletions

4
.gitignore vendored
View File

@@ -6,6 +6,7 @@ config.log
config.status
aclocal.m4
autom4te.cache/
data/*.json
po/gnome-shell-extensions.pot
po/POTFILES
po/stamp-it
@@ -15,5 +16,8 @@ zip-files/
*~
*.gmo
metadata.json
*.desktop
*.desktop.in
*.gschema.xml
*.gschema.valid
*.session

View File

@@ -1,7 +1,13 @@
ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
DIST_SUBDIRS = data extensions po
SUBDIRS = extensions po
if CLASSIC_MODE
SUBDIRS += data
endif
EXTRA_DIST = lib/convenience.js
DISTCHECK_CONFIGURE_FLAGS = --enable-extensions=all

25
NEWS
View File

@@ -1,3 +1,28 @@
3.7.3
=====
* new extensions: default-min-max, static-workspaces
* alternate-tab now uses the built-in window switcher and just
takes over the switch-application keybinding
* workspace-indicator: is no longer part of classic-mode
* we now install classic-mode data files for gdm, gnome-session
and gnome-shell, so if you enable classic-mode you get a new
session option in GDM
* updated translations (ar, es, pl, ru, sl, zh_HK, zh_TW)
3.7.2
=====
* fixed crashes with places-menu, windowsNavigator, alternate-tab
and native-window-placement
* alternate-tab now hides attached modal dialogs
* places-menu has restored support for Nautilus 3.4
* the default for hibernate is now to show in alternative-status-menu
* some extensions are now tagged as "classic", and can be chosen with
--enable-extensions=classic-mode
* dock and gajim were removed at the beginning of the 3.7.1 cycle,
as they were buggy and unmaintained
* updated translations (ar, cs, de, el, es, gl, id, lt, lv, pa, pl
ru, sk, sl, sr, sr@latin)
3.6.1
=====
* fixed alternative-status-menu for the new lock screen

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell-extensions],[3.6.2],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_INIT([gnome-shell-extensions],[3.7.3],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([config])
@@ -27,22 +27,26 @@ fi
AC_SUBST([SHELL_VERSION])
dnl keep this in alphabetic order
dnl by default, install only extensions that do not change completely the shell experience,
dnl that don't require GSettings and that don't require external packages for typelibs
dnl (so basically only menus, status icons, search providers, overview tabs, message tray sources, etc.)
DEFAULT_EXTENSIONS="alternative-status-menu apps-menu dock drive-menu gajim places-menu windowsNavigator workspace-indicator"
ALL_EXTENSIONS="$DEFAULT_EXTENSIONS alternate-tab auto-move-windows example native-window-placement systemMonitor user-theme xrandr-indicator"
CLASSIC_EXTENSIONS="apps-menu places-menu alternate-tab default-min-max static-workspaces"
DEFAULT_EXTENSIONS="$CLASSIC_EXTENSIONS alternative-status-menu drive-menu windowsNavigator workspace-indicator"
ALL_EXTENSIONS="$DEFAULT_EXTENSIONS auto-move-windows example native-window-placement systemMonitor user-theme xrandr-indicator"
AC_SUBST(CLASSIC_EXTENSIONS, [$CLASSIC_EXTENSIONS])
AC_SUBST(ALL_EXTENSIONS, [$ALL_EXTENSIONS])
AC_ARG_ENABLE([extensions],
[AS_HELP_STRING([--enable-extensions],[Space separated list of extensions to enable.
The default is to build all extensions that can be installed in the home directory and have no external depedencies.
Use "all" to enable all available extensions.])],
The default is to build and distribute all extensions that can be installed in the home directory and have no external depedencies.
Use "all" to enable all available extensions, or "classic-mode" to enable extensions that restore GNOME 2 functionality.])],
[],
[enable_extensions=$DEFAULT_EXTENSIONS]
)
AM_CONDITIONAL([CLASSIC_MODE], [test x"$enable_extensions" = xclassic-mode -o x"$enable_extensions" = xall])
if test x"$enable_extensions" = xall; then
enable_extensions="$ALL_EXTENSIONS"
fi
if test x"$enable_extensions" = xclassic-mode; then
enable_extensions="$CLASSIC_EXTENSIONS"
fi
ENABLED_EXTENSIONS=
for e in $enable_extensions; do
@@ -58,7 +62,7 @@ for e in $enable_extensions; do
[AC_MSG_WARN([gnome-desktop-3.0 not found, disabling xrandr-indicator])])
;;
dnl keep this in alphabetic order
alternate-tab|alternative-status-menu|apps-menu|auto-move-windows|dock|drive-menu|example|gajim|native-window-placement|places-menu|user-theme|windowsNavigator|workspace-indicator)
alternate-tab|alternative-status-menu|apps-menu|auto-move-windows|default-min-max|drive-menu|example|native-window-placement|places-menu|static-workspaces|user-theme|windowsNavigator|workspace-indicator)
ENABLED_EXTENSIONS="$ENABLED_EXTENSIONS $e"
;;
*)
@@ -70,16 +74,17 @@ AC_SUBST(ENABLED_EXTENSIONS, [$ENABLED_EXTENSIONS])
dnl Please keep this sorted alphabetically
AC_CONFIG_FILES([
data/Makefile
extensions/alternate-tab/Makefile
extensions/alternative-status-menu/Makefile
extensions/apps-menu/Makefile
extensions/auto-move-windows/Makefile
extensions/dock/Makefile
extensions/default-min-max/Makefile
extensions/drive-menu/Makefile
extensions/example/Makefile
extensions/gajim/Makefile
extensions/native-window-placement/Makefile
extensions/places-menu/Makefile
extensions/static-workspaces/Makefile
extensions/systemMonitor/Makefile
extensions/user-theme/Makefile
extensions/windowsNavigator/Makefile

54
data/Makefile.am Normal file
View File

@@ -0,0 +1,54 @@
include $(top_srcdir)/include.mk
desktopdir = $(datadir)/applications
desktop_in_in_files = gnome-shell-classic.desktop.in.in
desktop_in_files = $(desktop_in_in_files:.desktop.in.in=.desktop.in)
desktop_DATA = $(desktop_in_files:.desktop.in=.desktop)
sessiondir = $(datadir)/gnome-session/sessions
session_in_in_files = gnome-classic.session.desktop.in.in
session_in_files = $(session_in_in_files:.session.desktop.in.in=.session.desktop.in)
session_DATA = $(session_in_files:.session.desktop.in=.session)
xsessiondir = $(datadir)/xsessions
xsession_in_files = gnome-classic.desktop.in
xsession_DATA = $(xsession_in_files:.desktop.in=.desktop)
modedir = $(datadir)/gnome-shell/modes
mode_in_files = classic.json.in
mode_DATA = $(mode_in_files:.json.in=.json)
%.desktop.in:%.desktop.in.in
$(AM_V_GEN) sed \
-e "s|\@libexecdir\@|$(libexecdir)|" \
-e "s|\@bindir\@|$(bindir)|" \
-e "s|\@VERSION\@|$(VERSION)|" \
$< > $@
comma:=,
empty:=
space:= $(empty) $(empty)
extensions:=$(patsubst %,\"%$(extensionbase)\",$(CLASSIC_EXTENSIONS))
extension_list:=$(subst $(space),$(comma),$(extensions))
%.json:%.json.in
$(AM_V_GEN) sed \
-e "s|\@CLASSIC_EXTENSIONS\@|$(extension_list)|g" \
$< > $@
%.session: %.session.desktop.in $(INTLTOOL_MERGE) $(wildcard $(top_srcdir)/po/*.po) ; LC_ALL=C $(INTLTOOL_MERGE) -d -u -c $(top_builddir)/po/.intltool-merge-cache $(top_srcdir)/po $< $@
@INTLTOOL_DESKTOP_RULE@
EXTRA_DIST = \
$(desktop_in_in_files) \
$(session_in_in_files) \
$(xsession_in_files) \
$(mode_in_files) \
$(NULL)
CLEANFILES = \
$(desktop_DATA) \
$(session_DATA) \
$(xsession_DATA) \
$(mode_DATA) \
$(NULL)

4
data/classic.json.in Normal file
View File

@@ -0,0 +1,4 @@
{
"parentMode": "user",
"enabledExtensions": [@CLASSIC_EXTENSIONS@]
}

View File

@@ -0,0 +1,7 @@
[Desktop Entry]
_Name=GNOME Classic
_Comment=This session logs you into GNOME Classic
Exec=gnome-session --session gnome-classic
TryExec=gnome-session
Icon=
Type=Application

View File

@@ -0,0 +1,5 @@
[GNOME Session]
_Name=GNOME Classic
RequiredComponents=gnome-shell-classic;gnome-settings-daemon;
IsRunnableHelper=@libexecdir@/gnome-session-check-accelerated
FallbackSession=gnome-fallback

View File

@@ -0,0 +1,17 @@
[Desktop Entry]
Type=Application
_Name=GNOME Shell Classic
_Comment=Window management and application launching
Exec=@bindir@/gnome-shell --mode=classic
TryExec=@bindir@/gnome-shell
X-GNOME-Bugzilla-Bugzilla=GNOME
X-GNOME-Bugzilla-Product=gnome-shell
X-GNOME-Bugzilla-Component=general
X-GNOME-Bugzilla-Version=@VERSION@
Categories=GNOME;GTK;Core;
OnlyShowIn=GNOME;
NoDisplay=true
X-GNOME-Autostart-Phase=WindowManager
X-GNOME-Provides=panel;windowmanager;
X-GNOME-Autostart-Notify=true
X-GNOME-AutoRestart=false

View File

@@ -3,4 +3,3 @@ EXTENSION_ID = alternate-tab
EXTRA_MODULES = prefs.js
include ../../extension.mk
include ../../settings.mk

View File

@@ -1,443 +1,63 @@
/* -*- mode: js; js-basic-offset: 4; indent-tabs-mode: nil -*- */
/* most of the code is borrowed from
* > js/ui/altTab.js <
* of the gnome-shell source code
*/
const Clutter = imports.gi.Clutter;
const Gdk = imports.gi.Gdk;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const AltTab = imports.ui.altTab;
const Main = imports.ui.main;
const ModalDialog = imports.ui.modalDialog;
const Tweener = imports.ui.tweener;
const WindowManager = imports.ui.windowManager;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = function(e) { return e };
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
const Convenience = Me.imports.convenience;
let settings;
const AppIconMode = {
THUMBNAIL_ONLY: 1,
APP_ICON_ONLY: 2,
BOTH: 3,
};
const SETTINGS_APP_ICON_MODE = 'app-icon-mode';
const SETTINGS_CURRENT_WORKSPACE_ONLY = 'current-workspace-only';
function mod(a, b) {
return ((a+b) % b);
}
const AltTabPopup = new Lang.Class({
Name: 'AlternateTab.AltTabPopup',
_init : function(settings) {
this._settings = settings;
this.actor = new Shell.GenericContainer({ name: 'altTabPopup',
reactive: true });
this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this.actor.connect('allocate', Lang.bind(this, this._allocate));
this._haveModal = false;
this._currentWindow = 0;
this._motionTimeoutId = 0;
this._initialDelayTimeoutId = 0;
// Initially disable hover so we ignore the enter-event if
// the switcher appears underneath the current pointer location
this._disableHover();
Main.uiGroup.add_actor(this.actor);
},
_getPreferredWidth: function (actor, forHeight, alloc) {
alloc.min_size = global.screen_width;
alloc.natural_size = global.screen_width;
},
_getPreferredHeight: function (actor, forWidth, alloc) {
alloc.min_size = global.screen_height;
alloc.natural_size = global.screen_height;
},
_allocate: function (actor, box, flags) {
let childBox = new Clutter.ActorBox();
let primary = Main.layoutManager.primaryMonitor;
let leftPadding = this.actor.get_theme_node().get_padding(St.Side.LEFT);
let rightPadding = this.actor.get_theme_node().get_padding(St.Side.RIGHT);
let bottomPadding = this.actor.get_theme_node().get_padding(St.Side.BOTTOM);
let vPadding = this.actor.get_theme_node().get_vertical_padding();
let hPadding = leftPadding + rightPadding;
// Allocate the appSwitcher
// We select a size based on an icon size that does not overflow the screen
let [childMinHeight, childNaturalHeight] = this._appSwitcher.actor.get_preferred_height(primary.width - hPadding);
let [childMinWidth, childNaturalWidth] = this._appSwitcher.actor.get_preferred_width(childNaturalHeight);
childBox.x1 = Math.max(primary.x + leftPadding, primary.x + Math.floor((primary.width - childNaturalWidth) / 2));
childBox.x2 = Math.min(primary.x + primary.width - rightPadding, childBox.x1 + childNaturalWidth);
childBox.y1 = primary.y + Math.floor((primary.height - childNaturalHeight) / 2);
childBox.y2 = childBox.y1 + childNaturalHeight;
this._appSwitcher.actor.allocate(childBox, flags);
},
show : function(backward, binding, mask) {
let windows;
if (!settings.get_boolean(SETTINGS_CURRENT_WORKSPACE_ONLY)) {
// This is roughly what meta_display_get_tab_list does, except
// that it doesn't filter on workspace
// See in particular src/core/window-private.h for the filters
windows = global.get_window_actors().map(function(actor) {
return actor.meta_window;
}).filter(function(win) {
return !win.is_override_redirect() &&
win.get_window_type() != Meta.WindowType.DESKTOP &&
win.get_window_type() != Meta.WindowType.DOCK;
}).sort(function(one, two) {
return two.get_user_time() - one.get_user_time();
});
} else {
windows = global.display.get_tab_list(Meta.TabList.NORMAL_ALL, global.screen,
global.screen.get_active_workspace());
}
if (!windows.length) {
this.destroy();
return false;
}
if (!Main.pushModal(this.actor)) {
// Probably someone else has a pointer grab, try again with keyboard only
if (!Main.pushModal(this.actor, global.get_current_time(), Meta.ModalOptions.POINTER_ALREADY_GRABBED)) {
return false;
}
}
this._haveModal = true;
this._modifierMask = AltTab.primaryModifier(mask);
this.actor.connect('key-press-event', Lang.bind(this, this._keyPressEvent));
this.actor.connect('key-release-event', Lang.bind(this, this._keyReleaseEvent));
this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
this._appSwitcher = new WindowList(windows, this._settings);
this.actor.add_actor(this._appSwitcher.actor);
this._appSwitcher.connect('item-activated', Lang.bind(this, this._windowActivated));
this._appSwitcher.connect('item-entered', Lang.bind(this, this._windowEntered));
// make the initial selection
this._currentWindow = 0;
if (backward)
this._select(this._previousWindow());
else
this._select(this._nextWindow());
this.actor.opacity = 0;
this.actor.show();
// There's a race condition; if the user released Alt before
// we got the grab, then we won't be notified. (See
// https://bugzilla.gnome.org/show_bug.cgi?id=596695 for
// details.) So we check now. (Have to do this after updating
// selection.)
let [x, y, mods] = global.get_pointer();
if (!(mods & this._modifierMask)) {
this._finish();
return false;
}
// We delay showing the popup so that fast Alt+Tab users aren't
// disturbed by the popup briefly flashing.
this._initialDelayTimeoutId = Mainloop.timeout_add(AltTab.POPUP_DELAY_TIMEOUT,
Lang.bind(this, function () {
this.actor.opacity = 255;
this._initialDelayTimeoutId = 0;
}));
return true
},
_windowActivated : function(thumbnailList, n) {
let win = this._appSwitcher.windows[n];
Main.activateWindow(win);
this.destroy();
},
_finish : function() {
let win = this._appSwitcher.windows[this._currentWindow];
Main.activateWindow(win);
this.destroy();
},
_keyPressEvent : function(actor, event) {
let keysym = event.get_key_symbol();
let event_state = event.get_state();
let backwards = event_state & Clutter.ModifierType.SHIFT_MASK;
let action = global.display.get_keybinding_action(event.get_key_code(), event_state);
this._disableHover();
if (keysym == Clutter.Escape) {
this.destroy();
} else if (action == Meta.KeyBindingAction.SWITCH_WINDOWS ||
action == Meta.KeyBindingAction.SWITCH_GROUP) {
this._select(backwards ? this._previousWindow() : this._nextWindow());
} else if (action == Meta.KeyBindingAction.SWITCH_WINDOWS_BACKWARD ||
action == Meta.KeyBindingAction.SWITCH_GROUP_BACKWARD) {
this._select(this._previousWindow());
} else {
if (keysym == Clutter.Left)
this._select(this._previousWindow());
else if (keysym == Clutter.Right)
this._select(this._nextWindow());
}
return true;
},
_keyReleaseEvent : function(actor, event) {
let [x, y, mods] = global.get_pointer();
let state = mods & this._modifierMask;
if (state == 0)
this._finish();
return true;
},
_onScroll : function(actor, event) {
let direction = event.get_scroll_direction();
if (direction == Clutter.ScrollDirection.UP)
this._select(this._previousWindow());
else if (direction == Clutter.ScrollDirection.DOWN)
this._select(this._nextWindow());
return true;
},
_clickedOutside : function(actor, event) {
this.destroy();
},
_windowEntered : function(windowSwitcher, n) {
if (!this._mouseActive)
return;
this._select(n);
},
_disableHover : function() {
this._mouseActive = false;
if (this._motionTimeoutId != 0)
Mainloop.source_remove(this._motionTimeoutId);
this._motionTimeoutId = Mainloop.timeout_add(AltTab.DISABLE_HOVER_TIMEOUT, Lang.bind(this, this._mouseTimedOut));
},
_mouseTimedOut : function() {
this._motionTimeoutId = 0;
this._mouseActive = true;
},
_popModal: function() {
if (this._haveModal) {
Main.popModal(this.actor);
this._haveModal = false;
}
},
destroy : function() {
this._popModal();
if (this.actor.visible) {
Tweener.addTween(this.actor,
{ opacity: 0,
time: AltTab.POPUP_FADE_OUT_TIME,
transition: 'easeOutQuad',
onComplete: Lang.bind(this, this._finishDestroy),
});
} else
this._finishDestroy();
},
_finishDestroy : function() {
if (this._motionTimeoutId != 0) {
Mainloop.source_remove(this._motionTimeoutId);
this._motionTimeoutId = 0;
}
if (this._initialDelayTimeoutId != 0) {
Mainloop.source_remove(this._initialDelayTimeoutId);
this._initialDelayTimeoutId = 0;
}
this.actor.destroy();
},
_select : function(window) {
this._currentWindow = window;
this._appSwitcher.highlight(window);
},
_nextWindow: function() {
return mod(this._currentWindow + 1, this._appSwitcher.windows.length);
},
_previousWindow: function() {
return mod(this._currentWindow - 1, this._appSwitcher.windows.length);
},
});
const WindowIcon = new Lang.Class({
Name: 'AlternateTab.WindowIcon',
_init: function(window, settings) {
this.window = window;
this._settings = settings;
this.actor = new St.BoxLayout({ style_class: 'alt-tab-app',
vertical: true });
this.icon = null;
this._iconBin = new St.Widget({ layout_manager: new Clutter.BinLayout() });
this.actor.add(this._iconBin, { x_fill: false, y_fill: false } );
this.label = new St.Label({ text: window.get_title() });
this.actor.add(this.label, { x_fill: false });
let tracker = Shell.WindowTracker.get_default();
this.app = tracker.get_window_app(window);
let mutterWindow = this.window.get_compositor_private();
let windowTexture = mutterWindow.get_texture();
let [width, height] = windowTexture.get_size();
let scale, size;
this._iconBin.destroy_all_children();
switch (this._settings.get_enum(SETTINGS_APP_ICON_MODE)) {
case AppIconMode.THUMBNAIL_ONLY:
scale = Math.min(1.0, 128 / width, 128 / height);
size = 128;
this.clone = new Clutter.Clone({ source: windowTexture,
width: width * scale,
height: height * scale,
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
// usual hack for the usual bug in ClutterBinLayout...
x_expand: true,
y_expand: true });
this._iconBin.add_actor(this.clone);
break;
case AppIconMode.BOTH:
scale = Math.min(1.0, 128 / width, 128 / height);
size = 128;
this.clone = new Clutter.Clone({ source: windowTexture,
width: width * scale,
height: height * scale,
x_align: Clutter.ActorAlign.CENTER,
y_align: Clutter.ActorAlign.CENTER,
// usual hack for the usual bug in ClutterBinLayout...
x_expand: true,
y_expand: true });
this._iconBin.add_actor(this.clone);
if (this.app) {
this.appIcon = this.app.create_icon_texture(size / 2);
this.appIcon.x_expand = this.appIcon.y_expand = true;
this.appIcon.x_align = Clutter.ActorAlign.END;
this.appIcon.y_align = Clutter.ActorAlign.END;
this._iconBin.add_actor(this.appIcon);
}
break;
case AppIconMode.APP_ICON_ONLY:
size = 96;
if (this.app) {
this.appIcon = this.app.create_icon_texture(size);
this.appIcon.x_expand = this.appIcon.y_expand = true;
} else {
this.appIcon = new St.Icon({ icon_name: 'icon-missing',
icon_size: size,
x_expand: true,
y_expand: true });
}
this._iconBin.add_actor(this.appIcon);
}
this._iconBin.set_size(size, size);
}
});
const WindowList = new Lang.Class({
Name: 'AlternateTab.WindowList',
Extends: AltTab.SwitcherList,
_init : function(windows, settings) {
this.parent(true);
this.windows = windows;
this.icons = [];
for (let i = 0; i < windows.length; i++) {
let win = windows[i];
let icon = new WindowIcon(win, settings);
this.addItem(icon.actor, icon.label);
this.icons.push(icon);
}
}
});
function doAltTab(display, screen, window, binding) {
if (Main.wm._workspaceSwitcherPopup)
Main.wm._workspaceSwitcherPopup.actor.hide();
let modifiers = binding.get_modifiers()
let backwards = modifiers & Meta.VirtualModifier.SHIFT_MASK;
let popup = new AltTabPopup(settings);
if (!popup.show(backwards, binding.get_name(), binding.get_mask()))
popup.destroy();
}
let injections = {};
function init(metadata) {
Convenience.initTranslations();
settings = Convenience.getSettings();
}
function setKeybinding(name, func) {
Main.wm.setCustomKeybindingHandler(name, Main.KeybindingMode.NORMAL, func);
}
function enable() {
Meta.keybindings_set_custom_handler('switch-windows', doAltTab);
Meta.keybindings_set_custom_handler('switch-group', doAltTab);
Meta.keybindings_set_custom_handler('switch-windows-backward', doAltTab);
Meta.keybindings_set_custom_handler('switch-group-backward', doAltTab);
injections['_initialSelection'] = AltTab.WindowSwitcherPopup.prototype._initialSelection;
AltTab.WindowSwitcherPopup.prototype._initialSelection = function(backward, binding) {
if (binding == 'switch-windows-backward' ||
binding == 'switch-applications-backward' ||
binding == 'switch-group-backward' || backward)
this._select(this._items.length - 1);
else if (this._items.length == 1)
this._select(0);
else
this._select(1);
};
injections['_keyPressHandler'] = AltTab.WindowSwitcherPopup.prototype._keyPressHandler;
AltTab.WindowSwitcherPopup.prototype._keyPressHandler = function(keysym, backwards, action) {
if (action == Meta.KeyBindingAction.SWITCH_WINDOWS ||
action == Meta.KeyBindingAction.SWITCH_APPLICATIONS ||
action == Meta.KeyBindingAction.SWITCH_GROUP) {
this._select(backwards ? this._previous() : this._next());
} else if (action == Meta.KeyBindingAction.SWITCH_WINDOWS_BACKWARD ||
action == Meta.KeyBindingAction.SWITCH_APPLICATIONS_BACKWARD ||
action == Meta.KeyBindingAction.SWITCH_GROUP_BACKWARD) {
this._select(this._previous());
} else {
if (keysym == Clutter.Left)
this._select(this._previous());
else if (keysym == Clutter.Right)
this._select(this._next());
}
};
setKeybinding('switch-applications', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
setKeybinding('switch-group', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
setKeybinding('switch-applications-backward', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
setKeybinding('switch-group-backward', Lang.bind(Main.wm, Main.wm._startWindowSwitcher));
}
function disable() {
Meta.keybindings_set_custom_handler('switch-windows', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-windows-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
setKeybinding('switch-applications', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
setKeybinding('switch-group', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
setKeybinding('switch-applications-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
setKeybinding('switch-group-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
for (prop in injections)
AltTab.WindowSwitcherPopup.prototype[prop] = injections[prop];
}

View File

@@ -1,26 +0,0 @@
<schemalist gettext-domain="gnome-shell-extensions">
<enum id="org.gnome.shell.extensions.alternate-tab.AppIconMode">
<value value="1" nick="thumbnail_only"/>
<value value="2" nick="app_icon_only"/>
<value value="3" nick="both"/>
</enum>
<schema id="org.gnome.shell.extensions.alternate-tab" path="/org/gnome/shell/extensions/alternate-tab/">
<key name="app-icon-mode" enum="org.gnome.shell.extensions.alternate-tab.AppIconMode">
<default>'both'</default>
<_summary>The application icon mode.</_summary>
<_description>
Configures how the windows are shown in the switcher. Valid possibilities
are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only'
(shows only the application icon) or 'both'.
</_description>
</key>
<key type="b" name="current-workspace-only">
<default>false</default>
<summary>Limit switcher to current workspace.</summary>
<description>
If true, only windows from the current workspace are shown in the switcher.
Otherwise, all windows are included.
</description>
</key>
</schema>
</schemalist>

View File

@@ -1,11 +1,5 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
/* most of the code is borrowed from
* > js/ui/altTab.js <
* of the gnome-shell source code
*/
const Gdk = imports.gi.Gdk;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const GObject = imports.gi.GObject;
@@ -23,9 +17,9 @@ const SETTINGS_APP_ICON_MODE = 'app-icon-mode';
const SETTINGS_CURRENT_WORKSPACE_ONLY = 'current-workspace-only';
const MODES = {
thumbnail_only: N_("Thumbnail only"),
app_icon_only: N_("Application icon only"),
both: N_("Thumbnail and application icon"),
'thumbnail-only': N_("Thumbnail only"),
'app-icon-only': N_("Application icon only"),
'both': N_("Thumbnail and application icon"),
};
const AltTabSettingsWidget = new GObject.Class({
@@ -38,7 +32,7 @@ const AltTabSettingsWidget = new GObject.Class({
this.margin = 10;
this.orientation = Gtk.Orientation.VERTICAL;
this._settings = Convenience.getSettings();
this._settings = new Gio.Settings({ schema: 'org.gnome.shell.window-switcher' });
let presentLabel = _("Present windows as");
this.add(new Gtk.Label({ label: presentLabel, sensitive: true,

View File

@@ -1,6 +1,12 @@
/* -*- mode: js2 - indent-tabs-mode: nil - js2-basic-offset: 4 -*- */
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu;
@@ -13,19 +19,65 @@ const Convenience = Me.imports.convenience;
const LOCK_ENABLED_KEY = 'lock-enabled';
let suspend_item = null;
let hibernate_item = null;
let poweroff_item = null;
let suspend_signal_id = 0, hibernate_signal_id = 0;
let settings = null;
let setting_changed_id = 0;
let extension;
function updateSuspend(object, pspec, item) {
item.actor.visible = object.get_can_suspend() && settings.get_boolean('allow-suspend');
// Need to reimplement here the missing bits from LoginManager
function loginManager_hibernate() {
if (this._proxy) {
// systemd path
this._proxy.call("Hibernate",
GLib.Variant.new('(b)', [true]),
Gio.DBusCallFlags.NONE,
-1, null, null);
} else {
// upower path
this._upClient.hibernate_sync(null);
}
}
function updateHibernate(object, pspec, item) {
item.actor.visible = object.get_can_hibernate() && settings.get_boolean('allow-hibernate');
function loginManager_canHibernate(asyncCallback) {
if (this._proxy) {
// systemd path
this._proxy.call("CanHibernate",
null,
Gio.DBusCallFlags.NONE,
-1, null, function(proxy, asyncResult) {
let result, error;
try {
result = proxy.call_finish(asyncResult);
} catch(e) {
error = e;
}
if (error)
asyncCallback(false);
else
asyncCallback(result[0] != 'no');
});
} else {
Mainloop.idle_add(Lang.bind(this, function() {
asyncCallback(this._upClient.get_can_hibernate());
return false;
}));
}
}
function statusMenu_updateHaveHibernate() {
loginManager_canHibernate.call(this._loginManager, Lang.bind(this,
function(result) {
this._haveHibernate = result;
this._updateSuspendOrPowerOff();
}));
}
function statusMenu_updateSuspendOrPowerOff() {
this._suspendOrPowerOffItem.actor.hide();
extension.suspendItem.actor.visible = this._haveSuspend;
extension.hibernateItem.actor.visible = this._haveHibernate;
extension.powerOffItem.actor.visible = this._haveShutdown;
}
function onSuspendActivate(item) {
@@ -35,12 +87,13 @@ function onSuspendActivate(item) {
let tmpId = Main.screenShield.connect('lock-screen-shown', Lang.bind(this, function() {
Main.screenShield.disconnect(tmpId);
this._upClient.suspend_sync(null);
this._loginManager.suspend();
}));
this.menu.close(BoxPointer.PopupAnimation.NONE);
Main.screenShield.lock(true);
} else {
this._upClient.suspend_sync(null);
this._loginManager.suspend();
}
}
@@ -51,102 +104,88 @@ function onHibernateActivate(item) {
let tmpId = Main.screenShield.connect('lock-screen-shown', Lang.bind(this, function() {
Main.screenShield.disconnect(tmpId);
this._upClient.hibernate_sync(null);
loginManager_hibernate.call(this._loginManager);
}));
this.menu.close(BoxPointer.PopupAnimation.NONE);
Main.screenShield.lock(true);
} else {
this._upClient.hibernate_sync(null);
loginManager_hibernate.call(this._loginManager);
}
}
const Extension = new Lang.Class({
Name: 'AlternativeStatusMenu.Extension',
_init: function() {
this.suspendItem = null;
this.hibernateItem = null;
this.powerOffItem = null;
Convenience.initTranslations();
this._settings = Convenience.getSettings();
},
enable: function() {
let statusMenu = Main.panel.statusArea.userMenu;
let children = statusMenu.menu._getMenuItems();
let index = children.length;
/* find the old entry */
for (let i = children.length - 1; i >= 0; i--) {
if (children[i] == statusMenu._suspendOrPowerOffItem) {
index = i;
break;
}
}
/* add the new entries */
this.suspendItem = new PopupMenu.PopupMenuItem(_("Suspend"));
this.suspendItem.connect('activate', Lang.bind(statusMenu, onSuspendActivate));
this.hibernateItem = new PopupMenu.PopupMenuItem(_("Hibernate"));
this.hibernateItem.connect('activate', Lang.bind(statusMenu, onHibernateActivate));
this.powerOffItem = new PopupMenu.PopupMenuItem(_("Power Off"));
this.powerOffItem.connect('activate', Lang.bind(statusMenu, function() {
this._session.ShutdownRemote();
}));
/* insert the entries at the found position */
statusMenu.menu.addMenuItem(this.suspendItem, index);
statusMenu.menu.addMenuItem(this.hibernateItem, index + 1);
statusMenu.menu.addMenuItem(this.powerOffItem, index + 2);
this._openStateChangedId = statusMenu.menu.connect('open-state-changed', function() {
statusMenu_updateHaveHibernate.call(statusMenu);
});
this._previousUpdateSuspendOrPowerOff = statusMenu._updateSuspendOrPowerOff;
statusMenu._updateSuspendOrPowerOff = statusMenu_updateSuspendOrPowerOff;
this._settingsChangedId = this._settings.connect('changed', function() {
statusMenu._updateSuspendOrPowerOff();
});
},
disable: function() {
let statusMenu = Main.panel.statusArea.userMenu;
this.suspendItem.destroy();
this.hibernateItem.destroy();
this.powerOffItem.destroy();
statusMenu.menu.disconnect(this._openStateChangedId);
this._settings.disconnect(this._settingsChangedId);
statusMenu._updateSuspendOrPowerOff = this._previousUpdateSuspendOrPowerOff;
statusMenu._updateSuspendOrPowerOff();
},
});
// Put your extension initialization code here
function init(metadata) {
Convenience.initTranslations();
return (extension = new Extension());
}
function enable() {
let statusMenu = Main.panel.statusArea.userMenu;
settings = Convenience.getSettings();
let children = statusMenu.menu._getMenuItems();
let index = children.length;
/* find and destroy the old entry */
for (let i = children.length - 1; i >= 0; i--) {
if (children[i] == statusMenu._suspendOrPowerOffItem) {
children[i].destroy();
index = i;
break;
}
}
/* add the new entries */
suspend_item = new PopupMenu.PopupMenuItem(_("Suspend"));
suspend_item.connect('activate', Lang.bind(statusMenu, onSuspendActivate));
suspend_signal_id = statusMenu._upClient.connect('notify::can-suspend', Lang.bind(statusMenu, updateSuspend, suspend_item));
updateSuspend(statusMenu._upClient, null, suspend_item);
hibernate_item = new PopupMenu.PopupMenuItem(_("Hibernate"));
hibernate_item.connect('activate', Lang.bind(statusMenu, onHibernateActivate));
hibernate_signal_id = statusMenu._upClient.connect('notify::can-hibernate', Lang.bind(statusMenu, updateHibernate, hibernate_item));
updateHibernate(statusMenu._upClient, null, hibernate_item);
poweroff_item = new PopupMenu.PopupMenuItem(_("Power Off"));
poweroff_item.connect('activate', Lang.bind(statusMenu, function() {
this._session.ShutdownRemote();
}));
/* insert the entries at the found position */
statusMenu.menu.addMenuItem(suspend_item, index);
statusMenu.menu.addMenuItem(hibernate_item, index + 1);
statusMenu.menu.addMenuItem(poweroff_item, index + 2);
// clear out this to avoid criticals (we don't mess with
// updateSuspendOrPowerOff)
statusMenu._suspendOrPowerOffItem = null;
setting_changed_id = settings.connect('changed', function() {
updateSuspend(statusMenu._upClient, null, suspend_item);
updateHibernate(statusMenu._upClient, null, hibernate_item);
});
}
function disable() {
let statusMenu = Main.panel.statusArea.userMenu;
let children = statusMenu.menu._getMenuItems();
let index = children.length;
/* find the index for the previously created suspend entry */
for (let i = children.length - 1; i >= 0; i--) {
if (children[i] == suspend_item) {
index = i;
break;
}
}
/* disconnect signals */
statusMenu._upClient.disconnect(suspend_signal_id);
statusMenu._upClient.disconnect(hibernate_signal_id);
suspend_signal_id = hibernate_signal_id = 0;
settings.disconnect(setting_changed_id);
setting_changed_id = 0;
settings = null;
/* destroy the entries we had created */
suspend_item.destroy();
hibernate_item.destroy();
poweroff_item.destroy();
/* create a new suspend/poweroff entry */
/* empty strings are fine for the labels, since we immediately call updateSuspendOrPowerOff */
let item = new PopupMenu.PopupAlternatingMenuItem("", "");
/* restore the userMenu field */
statusMenu._suspendOrPowerOffItem = item;
statusMenu.menu.addMenuItem(item, index);
item.connect('activate', Lang.bind(statusMenu, statusMenu._onSuspendOrPowerOffActivate));
statusMenu._updateSuspendOrPowerOff();
}

View File

@@ -6,7 +6,7 @@
<_description>Control the visibility of the Suspend menu item</_description>
</key>
<key name="allow-hibernate" type="b">
<default>false</default>
<default>true</default>
<_summary>Enable hibernating</_summary>
<_description>Control the visibility of the Hibernate menu item</_description>
</key>

View File

@@ -0,0 +1,3 @@
EXTENSION_ID = default-min-max
include ../../extension.mk

View File

@@ -0,0 +1,20 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
const Meta = imports.gi.Meta;
const BUTTON_LAYOUT_KEY = 'button-layout';
const EXTENSION_SCHEMA = 'org.gnome.desktop.wm.preferences';
const SHELL_OVERRIDES_SCHEMA = 'org.gnome.shell.overrides';
function init(metadata) {
}
function enable() {
// Override gnome-shell's overrides
Meta.prefs_override_preference_schema(BUTTON_LAYOUT_KEY, EXTENSION_SCHEMA);
}
function disable() {
// Restore gnome-shell's overrides
Meta.prefs_override_preference_schema(BUTTON_LAYOUT_KEY, SHELL_OVERRIDES_SCHEMA);
}

View File

@@ -0,0 +1,11 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Default Minimize and Maximize",
"description": "Adds minimize and maximize buttons to the titlebar by default",
"original-authors": [ "debarshir@gnome.org" ],
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -0,0 +1 @@
/* This extensions requires no special styling */

View File

@@ -1,5 +0,0 @@
EXTENSION_ID = dock
include ../../extension.mk
include ../../settings.mk

View File

@@ -1,991 +0,0 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Pango = imports.gi.Pango;
const GLib = imports.gi.GLib;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Shell = imports.gi.Shell;
const Lang = imports.lang;
const Signals = imports.signals;
const St = imports.gi.St;
const Mainloop = imports.mainloop;
const AppFavorites = imports.ui.appFavorites;
const DND = imports.ui.dnd;
const Main = imports.ui.main;
const Overview = imports.ui.overview;
const PopupMenu = imports.ui.popupMenu;
const Search = imports.ui.search;
const Tweener = imports.ui.tweener;
const Workspace = imports.ui.workspace;
const AppDisplay = imports.ui.appDisplay;
const AltTab = imports.ui.altTab;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
const Convenience = Me.imports.convenience;
// Settings
const DOCK_POSITION_KEY = 'position';
const DOCK_SIZE_KEY = 'size';
const DOCK_HIDE_KEY = 'autohide';
const DOCK_EFFECTHIDE_KEY = 'hide-effect';
const DOCK_AUTOHIDE_ANIMATION_TIME_KEY = 'hide-effect-duration';
const DOCK_MONITOR_KEY = 'monitor';
// Keep enums in sync with GSettings schemas
const PositionMode = {
LEFT: 0,
RIGHT: 1
};
const AutoHideEffect = {
RESIZE: 0,
RESCALE: 1,
MOVE: 2
};
const DND_RAISE_APP_TIMEOUT = 500;
// Utility function to make the dock clipped to the primary monitor
function updateClip(actor, monitorNumber) {
let monitor;
if (monitorNumber > -1 && monitorNumber < Main.layoutManager.monitors.length)
monitor = Main.layoutManager.monitors[monitorNumber];
else
monitor = Main.layoutManager.primaryMonitor;
let allocation = actor.allocation;
// Here we implicitly assume that the stage and actor's parent
// share the same coordinate space
let clip = new Clutter.ActorBox({ x1: Math.max(monitor.x, allocation.x1),
y1: Math.max(monitor.y, allocation.y1),
x2: Math.min(monitor.x + monitor.width, allocation.x2),
y2: Math.min(monitor.y + monitor.height, allocation.y2) });
// Translate back into actor's coordinate space
clip.x1 -= actor.x;
clip.x2 -= actor.x;
clip.y1 -= actor.y;
clip.y2 -= actor.y;
// Apply the clip
actor.set_clip(clip.x1, clip.y1, clip.x2-clip.x1, clip.y2 - clip.y1);
}
/*************************************************************************************/
/**** start resize's Dock functions *****************/
/*************************************************************************************/
function hideDock_size () {
if (!this._hideable)
return;
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let position_x = monitor.x;
let height = (this._nicons)*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
Tweener.addTween(this, {
_item_size: 1,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function () {
height = (this._nicons)*(this._item_size + this._spacing) + 2*this._spacing;
width = this._item_size + 4*this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
position_x=monitor.x-2*this._spacing;
break;
case PositionMode.RIGHT:
default:
position_x = monitor.x + (monitor.width-1-this._item_size-2*this._spacing);
}
this.actor.set_position (position_x,monitor.y+(monitor.height-height)/2);
this.actor.set_size(width,height);
updateClip(this.actor, this._displayMonitor);
},
});
this._hidden = true;
}
function showDock_size () {
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let height = (this._nicons)*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
let position_x = monitor.x;
Tweener.addTween(this, {
_item_size: this._settings.get_int(DOCK_SIZE_KEY),
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function () {
height = (this._nicons)*(this._item_size + this._spacing) + 2*this._spacing;
width = this._item_size + 4*this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
position_x=monitor.x-2*this._spacing;
break;
case PositionMode.RIGHT:
default:
position_x=monitor.x + (monitor.width-this._item_size-2*this._spacing);
}
this.actor.set_position (position_x, monitor.y+(monitor.height-height)/2);
this.actor.set_size(width,height);
updateClip(this.actor, this._displayMonitor);
}
});
this._hidden = false;
}
function showEffectAddItem_size () {
let primary = Main.layoutManager.primaryMonitor;
let height = (this._nicons)*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
Tweener.addTween(this.actor, {
y: primary.y + (primary.height-height)/2,
height: height,
width: width,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function (monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
}
/**************************************************************************************/
/**** start rescale's Dock functions *****************/
/**************************************************************************************/
function hideDock_scale () {
if (!this._hideable)
return;
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let cornerX = 0;
let height = this._nicons*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
cornerX=monitor.x;
break;
case PositionMode.RIGHT:
default:
cornerX = monitor.x + monitor.width-1;
}
Tweener.addTween(this.actor,{
y: monitor.y + (monitor.height-height)/2,
x: cornerX,
height:height,
width: width,
scale_x: 0.025,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function(monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
this._hidden = true;
}
function showDock_scale () {
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let position_x = monitor.x;
let height = this._nicons*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
position_x=monitor.x-2*this._spacing;
break;
case PositionMode.RIGHT:
default:
position_x=monitor.x + (monitor.width-this._item_size-2*this._spacing);
}
Tweener.addTween(this.actor, {
y: monitor.y + (monitor.height-height)/2,
x: monitor.x + position_x,
height: height,
width: width,
scale_x: 1,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function(monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
this._hidden = false;
}
function showEffectAddItem_scale () {
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let height = this._nicons*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
Tweener.addTween(this.actor, {
y: monitor.y + (monitor.height-height)/2,
height: height,
width: width,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function(monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
}
/**************************************************************************************/
/**** start move Dock functions *****************/
/**************************************************************************************/
function hideDock_move () {
if (!this._hideable)
return;
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let cornerX = 0;
let height = this._nicons*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
cornerX= monitor.x - width + this._spacing;
break;
case PositionMode.RIGHT:
default:
cornerX = monitor.x + monitor.width - this._spacing;
}
Tweener.addTween(this.actor,{
x: cornerX,
y: monitor.y + (monitor.height - height)/2,
width: width,
height: height,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function(monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
this._hidden = true;
}
function showDock_move () {
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let position_x = monitor.x;
let height = this._nicons*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
position_x=monitor.x - 2*this._spacing;
break;
case PositionMode.RIGHT:
default:
position_x=monitor.x + (monitor.width-this._item_size-2*this._spacing);
}
Tweener.addTween(this.actor, {
x: position_x,
y: monitor.y + (monitor.height - height)/2,
width: width,
height: height,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function(monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
this._hidden = false;
}
function showEffectAddItem_move () {
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let height = this._nicons*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
Tweener.addTween(this.actor, {
y: monitor.y + (monitor.height-height)/2,
height: height,
width: width,
time: this._settings.get_double(DOCK_AUTOHIDE_ANIMATION_TIME_KEY),
transition: 'easeOutQuad',
onUpdate: function(monitor) {
updateClip(this, monitor);
},
onUpdateParams: [this._displayMonitor]
});
}
const Dock = new Lang.Class({
Name: 'Dock.Dock',
_init : function() {
this._placeholderText = null;
this._menus = [];
this._menuDisplays = [];
this._favorites = [];
// Load Settings
this._settings = Convenience.getSettings();
this._hidden = false;
this._hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
this._displayMonitor = this._settings.get_int(DOCK_MONITOR_KEY);
this._spacing = 4;
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
this._nicons = 0;
this._selectEffectFunctions(this._settings.get_enum(DOCK_EFFECTHIDE_KEY));
let [_x, _y, _w, _h] = this.get_start_position();
this.actor = new St.BoxLayout({ name: 'dock', vertical: true, reactive: true,
x: _x, y: _y, width: _w, height: _h });
this._grid = new Shell.GenericContainer();
this.actor.add(this._grid, { expand: true, y_align: St.Align.START });
this.actor.connect('style-changed', Lang.bind(this, this._onStyleChanged));
this._grid.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this._grid.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this._grid.connect('allocate', Lang.bind(this, this._allocate));
this._workId = Main.initializeDeferredWork(this.actor, Lang.bind(this, this._redisplay));
this._tracker = Shell.WindowTracker.get_default();
this._appSystem = Shell.AppSystem.get_default();
this._installedChangedId = this._appSystem.connect('installed-changed', Lang.bind(this, this._queueRedisplay));
this._appFavoritesChangedId = AppFavorites.getAppFavorites().connect('changed', Lang.bind(this, this._queueRedisplay));
this._appStateChangedId = this._appSystem.connect('app-state-changed', Lang.bind(this, this._queueRedisplay));
this._overviewShowingId = Main.overview.connect('showing', Lang.bind(this, function() {
this.actor.hide();
}));
this._overviewHiddenId = Main.overview.connect('hidden', Lang.bind(this, function() {
this.actor.show();
}));
Main.layoutManager.addChrome(this.actor,
{ affectsStruts: !this._settings.get_boolean(DOCK_HIDE_KEY) });
//hidden
this._settings.connect('changed::'+DOCK_POSITION_KEY, Lang.bind(this, this._redisplay));
this._settings.connect('changed::'+DOCK_SIZE_KEY, Lang.bind(this, this._redisplay));
this._settings.connect('changed::'+DOCK_MONITOR_KEY, Lang.bind(this, function (){
this._displayMonitor = this._settings.get_int(DOCK_MONITOR_KEY);
this._redisplay();
}));
this._settings.connect('changed::'+DOCK_HIDE_KEY, Lang.bind(this, function (){
Main.layoutManager.removeChrome(this.actor);
Main.layoutManager.addChrome(this.actor,
{ affectsStruts: !this._settings.get_boolean(DOCK_HIDE_KEY) });
this._hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
if (this._hideable)
this._hideDock();
else
this._showDock();
}));
this._settings.connect('changed::' + DOCK_EFFECTHIDE_KEY, Lang.bind(this, function () {
let hideEffect = this._settings.get_enum(DOCK_EFFECTHIDE_KEY);
// restore the effects of the other functions
switch (hideEffect) {
case AutoHideEffect.RESCALE:
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
break;
case AutoHideEffect.RESIZE:
this.actor.set_scale(1, 1);
break;
case AutoHideEffect.MOVE:
this.actor.set_scale(1, 1);
this._item_size = this._settings.get_int(DOCK_SIZE_KEY);
}
this.actor.disconnect(this._leave_event);
this.actor.disconnect(this._enter_event);
this._selectEffectFunctions(hideEffect);
this._leave_event = this.actor.connect('leave-event', Lang.bind(this, this._hideDock));
this._enter_event = this.actor.connect('enter-event', Lang.bind(this, this._showDock));
this._redisplay();
}));
this._leave_event = this.actor.connect('leave-event', Lang.bind(this, this._hideDock));
this._enter_event = this.actor.connect('enter-event', Lang.bind(this, this._showDock));
this._hideDock();
},
get_start_position: function() {
let item_size = this._settings.get_int(DOCK_SIZE_KEY);
let monitor = Main.layoutManager.primaryMonitor;
if (this._displayMonitor > -1 && this._displayMonitor < Main.layoutManager.monitors.length) {
monitor = Main.layoutManager.monitors[this._displayMonitor];
}
let position_x = monitor.x;
let width = item_size + 4 * this._spacing;
switch (this._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
position_x=monitor.x - 2 * this._spacing;
break;
case PositionMode.RIGHT:
default:
position_x=monitor.x + (monitor.width - item_size - 2 * this._spacing);
}
return [ position_x, monitor.y, width, monitor.height ];
},
destroy: function() {
if (this._installedChangedId) {
this._appSystem.disconnect(this._installedChangedId);
this._installedChangedId = 0;
}
if (this._appFavoritesChangedId) {
AppFavorites.getAppFavorites().disconnect(this._appFavoritesChangedId);
this._appFavoritesChangedId = 0;
}
if (this._appStateChangedId) {
this._appSystem.disconnect(this._appStateChangedId);
this._appStateChangedId = 0;
}
if (this._overviewShowingId) {
Main.overview.disconnect(this._overviewShowingId);
this._overviewShowingId = 0;
}
if (this._overviewHiddenId) {
Main.overview.disconnect(this._overviewHiddenId);
this._overviewHiddenId = 0;
}
this.actor.destroy();
// Break reference cycles
this._settings.run_dispose();
this._settings = null;
this._appSystem = null;
this._tracker = null;
},
// fuctions hide
_restoreHideDock: function() {
this._hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
},
_disableHideDock: function() {
this._hideable = false;
},
_selectEffectFunctions: function(hideEffect) {
switch (hideEffect) {
case AutoHideEffect.RESCALE:
this._hideDock = hideDock_scale;
this._showDock = showDock_scale;
this._showEffectAddItem = showEffectAddItem_scale;
break;
case AutoHideEffect.MOVE:
this._hideDock = hideDock_move;
this._showDock = showDock_move;
this._showEffectAddItem = showEffectAddItem_move;
break;
case AutoHideEffect.RESIZE:
default:
this._hideDock = hideDock_size;
this._showDock = showDock_size;
this._showEffectAddItem = showEffectAddItem_size;
}
},
_appIdListToHash: function(apps) {
let ids = {};
for (let i = 0; i < apps.length; i++)
ids[apps[i].get_id()] = apps[i];
return ids;
},
_queueRedisplay: function () {
Main.queueDeferredWork(this._workId);
},
_redisplay: function () {
this.removeAll();
let favorites = AppFavorites.getAppFavorites().getFavoriteMap();
let running = this._appSystem.get_running();
let runningIds = this._appIdListToHash(running);
let icons = 0;
let nFavorites = 0;
for (let id in favorites) {
let app = favorites[id];
let display = new DockIcon(app,this);
this.addItem(display.actor);
nFavorites++;
icons++;
}
for (let i = 0; i < running.length; i++) {
let app = running[i];
if (app.get_id() in favorites)
continue;
let display = new DockIcon(app,this);
icons++;
this.addItem(display.actor);
}
this._nicons=icons;
if (this._placeholderText) {
this._placeholderText.destroy();
this._placeholderText = null;
}
if (running.length == 0 && nFavorites == 0) {
this._placeholderText = new St.Label({ text: _("Drag here to add favorites") });
this.actor.add_actor(this._placeholderText);
}
let primary = Main.layoutManager.primaryMonitor;
let height = (icons)*(this._item_size + this._spacing) + 2*this._spacing;
let width = this._item_size + 4*this._spacing;
if (this._hideable && this._hidden) {
this._hideDock();
} else {
if (this._settings.get_int(DOCK_SIZE_KEY) == this._item_size) {
// only add/delete icon
this._showEffectAddItem ();
} else {
// change size icon
this._showDock ();
}
}
},
_getPreferredWidth: function (grid, forHeight, alloc) {
alloc.min_size = this._item_size;
alloc.natural_size = this._item_size + this._spacing;
},
_getPreferredHeight: function (grid, forWidth, alloc) {
let children = this._grid.get_children();
let nRows = children.length;
let totalSpacing = Math.max(0, nRows - 1) * this._spacing;
let height = nRows * this._item_size + totalSpacing;
alloc.min_size = height;
alloc.natural_size = height;
},
_allocate: function (grid, box, flags) {
let children = this._grid.get_children();
let x = box.x1 + this._spacing;
if (this._settings.get_enum(DOCK_POSITION_KEY) == PositionMode.LEFT)
x = box.x1 + 2*this._spacing;
let y = box.y1 + this._spacing;
for (let i = 0; i < children.length; i++) {
let childBox = new Clutter.ActorBox();
childBox.x1 = x;
childBox.y1 = y;
childBox.x2 = childBox.x1 + this._item_size;
childBox.y2 = childBox.y1 + this._item_size;
children[i].allocate(childBox, flags);
y += this._item_size + this._spacing;
}
},
_onStyleChanged: function() {
let themeNode = this.actor.get_theme_node();
let [success, len] = themeNode.get_length('spacing', false);
if (success)
this._spacing = len;
[success, len] = themeNode.get_length('-shell-grid-item-size', false);
if (success)
this._item_size = len;
this._grid.queue_relayout();
},
removeAll: function () {
this._grid.get_children().forEach(Lang.bind(this, function (child) {
child.destroy();
}));
},
addItem: function(actor) {
this._grid.add_actor(actor);
}
});
Signals.addSignalMethods(Dock.prototype);
const DockIcon = new Lang.Class({
Name: 'Dock.DockIcon',
_init : function(app, dock) {
this._dock = dock;
this._settings = dock._settings;
this.app = app;
this.actor = new St.Button({ style_class: 'app-well-app',
button_mask: St.ButtonMask.ONE | St.ButtonMask.TWO,
reactive: true,
x_fill: true,
y_fill: true });
this.actor._delegate = this;
this._icon = new AppDisplay.AppIcon(app, { setSizeManually: true,
showLabel: false });
this.actor.set_child(this._icon.actor);
this._icon.setIconSize(this._settings.get_int(DOCK_SIZE_KEY));
this.actor.connect('clicked', Lang.bind(this, this._onClicked));
this._menu = null;
this._menuManager = new PopupMenu.PopupMenuManager(this);
this._has_focus = false;
let tracker = Shell.WindowTracker.get_default();
tracker.connect('notify::focus-app', Lang.bind(this, this._onStateChanged));
this.actor.connect('button-press-event', Lang.bind(this, this._onButtonPress));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this.actor.connect('notify::hover', Lang.bind(this, this._hoverChanged));
this._menuTimeoutId = 0;
this._stateChangedId = this.app.connect('notify::state',
Lang.bind(this, this._onStateChanged));
this._onStateChanged();
},
_onDestroy: function() {
if (this._stateChangedId > 0)
this.app.disconnect(this._stateChangedId);
this._stateChangedId = 0;
this._removeMenuTimeout();
},
_removeMenuTimeout: function() {
if (this._menuTimeoutId > 0) {
Mainloop.source_remove(this._menuTimeoutId);
this._menuTimeoutId = 0;
}
},
_hoverChanged: function(actor) {
if (actor != this.actor)
this._has_focus = false;
else
this._has_focus = true;
return false;
},
_onStateChanged: function() {
let tracker = Shell.WindowTracker.get_default();
let focusedApp = tracker.focus_app;
if (this.app.state != Shell.AppState.STOPPED) {
this.actor.add_style_class_name('running');
if (this.app == focusedApp) {
this.actor.add_style_class_name('focused');
} else {
this.actor.remove_style_class_name('focused');
}
} else {
this.actor.remove_style_class_name('focused');
this.actor.remove_style_class_name('running');
}
},
_onButtonPress: function(actor, event) {
let button = event.get_button();
if (button == 1) {
this._removeMenuTimeout();
this._menuTimeoutId = Mainloop.timeout_add(AppDisplay.MENU_POPUP_TIMEOUT, Lang.bind(this, function() {
this.popupMenu();
}));
} else if (button == 3) {
this.popupMenu();
}
},
_onClicked: function(actor, button) {
this._removeMenuTimeout();
if (button == 1) {
this._onActivate(Clutter.get_current_event());
} else if (button == 2) {
// Last workspace is always empty
let launchWorkspace = global.screen.get_workspace_by_index(global.screen.n_workspaces - 1);
launchWorkspace.activate(global.get_current_time());
this.emit('launching');
this.app.open_new_window(-1);
}
return false;
},
getId: function() {
return this.app.get_id();
},
popupMenu: function() {
this._removeMenuTimeout();
this.actor.fake_release();
this._dock._disableHideDock();
if (!this._menu) {
this._menu = new DockIconMenu(this);
this._menu.connect('activate-window', Lang.bind(this, function (menu, window) {
this.activateWindow(window);
}));
this._menu.connect('open-state-changed', Lang.bind(this, function (menu, isPoppedUp) {
if (!isPoppedUp){
//Restore value of autohidedock
this._dock._restoreHideDock();
this._dock._hideDock();
this._onMenuPoppedDown();
}
}));
this._menuManager.addMenu(this._menu, true);
}
this._menu.redisplay();
this._menu.open();
return false;
},
activateWindow: function(metaWindow) {
if (metaWindow) {
this._didActivateWindow = true;
Main.activateWindow(metaWindow);
}
},
setSelected: function (isSelected) {
this._selected = isSelected;
if (this._selected)
this.actor.add_style_class_name('selected');
else
this.actor.remove_style_class_name('selected');
},
_onMenuPoppedDown: function() {
this.actor.sync_hover();
},
_getRunning: function() {
return this.app.state != Shell.AppState.STOPPED;
},
_onActivate: function (event) {
this.emit('launching');
let modifiers = event.get_state();
if (modifiers & Clutter.ModifierType.CONTROL_MASK
&& this.app.state == Shell.AppState.RUNNING) {
let current_workspace = global.screen.get_active_workspace().index();
this.app.open_new_window(current_workspace);
} else {
let tracker = Shell.WindowTracker.get_default();
let focusedApp = tracker.focus_app;
if (this.app == focusedApp) {
let windows = this.app.get_windows();
let current_workspace = global.screen.get_active_workspace();
for (let i = 0; i < windows.length; i++) {
let w = windows[i];
if (w.get_workspace() == current_workspace)
w.minimize();
}
} else {
this.app.activate(-1);
}
}
Main.overview.hide();
}
});
Signals.addSignalMethods(DockIcon.prototype);
const DockIconMenu = new Lang.Class({
Name: 'Dock.DockIconMenu',
Extends: PopupMenu.PopupMenu,
_init: function(source) {
let side;
switch (source._settings.get_enum(DOCK_POSITION_KEY)) {
case PositionMode.LEFT:
side = St.Side.LEFT;
break;
case PositionMode.RIGHT:
default:
side = St.Side.RIGHT;
}
this.parent(source.actor, 0.5, side);
this._source = source;
this.connect('activate', Lang.bind(this, this._onActivate));
this.actor.add_style_class_name('dock-menu');
// Chain our visibility and lifecycle to that of the source
source.actor.connect('notify::mapped', Lang.bind(this, function () {
if (!source.actor.mapped)
this.close();
}));
source.actor.connect('destroy', Lang.bind(this, function () { this.destroy(); }));
Main.layoutManager.addChrome(this.actor);
},
redisplay: function() {
this.removeAll();
let windows = this._source.app.get_windows();
// Display the app windows menu items and the separator between windows
// of the current desktop and other windows.
let activeWorkspace = global.screen.get_active_workspace();
let separatorShown = windows.length > 0 && windows[0].get_workspace() != activeWorkspace;
for (let i = 0; i < windows.length; i++) {
if (!separatorShown && windows[i].get_workspace() != activeWorkspace) {
this._appendSeparator();
separatorShown = true;
}
let item = this._appendMenuItem(windows[i].title);
item._window = windows[i];
}
if (windows.length > 0)
this._appendSeparator();
let isFavorite = AppFavorites.getAppFavorites().isFavorite(this._source.app.get_id());
this._newWindowMenuItem = windows.length > 0 ? this._appendMenuItem(_("New Window")) : null;
this._quitAppMenuItem = windows.length >0 ? this._appendMenuItem(_("Quit Application")) : null;
if (windows.length > 0)
this._appendSeparator();
this._toggleFavoriteMenuItem = this._appendMenuItem(isFavorite ?
_("Remove from Favorites")
: _("Add to Favorites"));
this._highlightedItem = null;
},
_appendSeparator: function () {
let separator = new PopupMenu.PopupSeparatorMenuItem();
this.addMenuItem(separator);
},
_appendMenuItem: function(labelText) {
// FIXME: app-well-menu-item style
let item = new PopupMenu.PopupMenuItem(labelText);
this.addMenuItem(item);
return item;
},
popup: function(activatingButton) {
this._redisplay();
this.open();
},
_onActivate: function (actor, child) {
if (child._window) {
let metaWindow = child._window;
this.emit('activate-window', metaWindow);
} else if (child == this._newWindowMenuItem) {
let current_workspace = global.screen.get_active_workspace().index();
this._source.app.open_new_window(current_workspace);
this.emit('activate-window', null);
} else if (child == this._quitAppMenuItem) {
this._source.app.request_quit();
} else if (child == this._toggleFavoriteMenuItem) {
let favs = AppFavorites.getAppFavorites();
let isFavorite = favs.isFavorite(this._source.app.get_id());
if (isFavorite)
favs.removeFavorite(this._source.app.get_id());
else
favs.addFavorite(this._source.app.get_id());
}
this.close();
}
});
function init() {
Convenience.initTranslations();
}
let dock;
function enable() {
dock = new Dock();
}
function disable() {
dock.destroy();
dock = null;
}

View File

@@ -1,43 +0,0 @@
<schemalist gettext-domain="gnome-shell-extensions">
<enum id='org.gnome.shell.extensions.dock.PositionMode'>
<value nick='left' value='0'/>
<value nick='right' value='1'/>
</enum>
<enum id='org.gnome.shell.extensions.dock.AutoHideEffect'>
<value nick='resize' value='0'/>
<value nick='rescale' value='1'/>
<value nick='move' value='2'/>
</enum>
<schema id="org.gnome.shell.extensions.dock" path="/org/gnome/shell/extensions/dock/">
<key name="position" enum="org.gnome.shell.extensions.dock.PositionMode">
<default>'right'</default>
<_summary>Position of the dock</_summary>
<_description>Sets the position of the dock in the screen. Allowed values are 'right' or 'left'</_description>
</key>
<key name="size" type="i">
<default>48</default>
<_summary>Icon size</_summary>
<_description>Sets icon size of the dock.</_description>
</key>
<key name="autohide" type="b">
<default>true</default>
<_summary>Enable/disable autohide</_summary>
</key>
<key name="hide-effect" enum="org.gnome.shell.extensions.dock.AutoHideEffect">
<default>'move'</default>
<_summary>Autohide effect</_summary>
<_description>Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and 'move'</_description>
</key>
<key name="hide-effect-duration" type="d">
<default>0.3</default>
<_summary>Autohide duration</_summary>
<_description>Sets the time duration of the autohide effect.</_description>
</key>
<key name="monitor" type="i">
<default>-1</default>
<_summary>Monitor</_summary>
<_description>Sets monitor to display dock in. The default value (-1) is the primary monitor.</_description>
</key>
</schema>
</schemalist>

View File

@@ -1,10 +0,0 @@
#dock {
border-radius: 9px;
background-color: rgba(0,0,0,0.9);
border-width: 2px;
border-color: #5f5f5f;
}
.dock-menu {
font-size: 12px
}

View File

@@ -1,3 +0,0 @@
EXTENSION_ID = gajim
include ../../extension.mk

View File

@@ -1,339 +0,0 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const DBus = imports.dbus;
const Gettext = imports.gettext.domain('gnome-shell');
const Gio = imports.gi.Gio;
const GLib = imports.gi.GLib;
const Lang = imports.lang;
const Signals = imports.signals;
const St = imports.gi.St;
const Tp = imports.gi.TelepathyGLib;
const Main = imports.ui.main;
const Mainloop = imports.mainloop;
const MessageTray = imports.ui.messageTray;
const Shell = imports.gi.Shell;
const TelepathyClient = imports.ui.telepathyClient;
const _ = Gettext.gettext;
// http://ntt.cc/ext/base64-Encoding-Decoding.html
const keyStr = "ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/=";
function decode64(input) {
let output = "";
let chr1, chr2, chr3;
let enc1, enc2, enc3, enc4;
let i = 0;
input = input.replace(/[^A-Za-z0-9\+\/\=]/g, "");
do {
enc1 = keyStr.indexOf(input.charAt(i++));
enc2 = keyStr.indexOf(input.charAt(i++));
enc3 = keyStr.indexOf(input.charAt(i++));
enc4 = keyStr.indexOf(input.charAt(i++));
chr1 = (enc1 << 2) | (enc2 >> 4);
chr2 = ((enc2 & 15) << 4) | (enc3 >> 2);
chr3 = ((enc3 & 3) << 6) | enc4;
output = output + String.fromCharCode(chr1);
if (enc3 != 64) {
output = output + String.fromCharCode(chr2);
}
if (enc4 != 64) {
output = output + String.fromCharCode(chr3);
}
chr1 = chr2 = chr3 = "";
enc1 = enc2 = enc3 = enc4 = "";
} while (i < input.length);
return unescape(output);
}
function wrappedText(text, sender, timestamp, direction) {
if (!timestamp)
timestamp = (Date.now() / 1000);
return {
messageType: Tp.ChannelTextMessageType.NORMAL,
text: text,
sender: sender,
timestamp: timestamp,
direction: direction
};
}
function Source(gajimClient, accountName, author, initialMessage) {
this._init(gajimClient, accountName, author, initialMessage);
}
Source.prototype = {
__proto__: MessageTray.Source.prototype,
_init: function(gajimClient, accountName, author, initialMessage) {
MessageTray.Source.prototype._init.call(this, author);
this.isChat = true;
this._author = author;
this._gajimClient = gajimClient;
this._accountName = accountName;
this._initialMessage = initialMessage;
this._iconUri = null;
this._presence = "online";
this._notification = new TelepathyClient.ChatNotification(this);
this._notification.setUrgency(MessageTray.Urgency.HIGH);
let jid = author.split('/')[0];
let proxy = this._gajimClient.proxy();
proxy.contact_infoRemote(jid, Lang.bind(this, this._gotContactInfos));
this._statusChangeId = proxy.connect('ContactStatus',
Lang.bind(this, this._onStatusChange));
this._contactAbsenceId = proxy.connect('ContactAbsence',
Lang.bind(this, this._onStatusChange));
this._chatStateId = proxy.connect('ChatState',
Lang.bind(this, this._onChatState));
this._messageSentId = proxy.connect('MessageSent',
Lang.bind(this, this._messageSent));
this._newMessageId = proxy.connect('NewMessage',
Lang.bind(this, this._messageReceived));
},
destroy: function() {
let proxy = this._gajimClient.proxy();
proxy.disconnect(this._statusChangeId);
proxy.disconnect(this._contactAbsenceId);
proxy.disconnect(this._chatStateId);
proxy.disconnect(this._messageSentId);
proxy.disconnect(this._newMessageId);
MessageTray.Source.prototype.destroy.call(this);
},
_gotContactInfos: function(result, excp) {
this.title = result['FN'] || result['NICKNAME'] || result['jid'];
let avatarUri = null;
if (result['PHOTO']) {
let mimeType = result['PHOTO']['TYPE'];
let avatarData = decode64(result['PHOTO']['BINVAL']);
let sha = result['PHOTO']['SHA'];
avatarUri = this._gajimClient.cacheAvatar(mimeType, sha, avatarData);
}
this._iconUri = avatarUri;
this._setSummaryIcon(this.createNotificationIcon());
let message = wrappedText(this._initialMessage, this._author, null, TelepathyClient.NotificationDirection.RECEIVED);
this._notification.appendMessage(message, false);
if (!Main.messageTray.contains(this))
Main.messageTray.add(this);
this.notify(this._notification);
},
createNotificationIcon: function() {
let iconBox = new St.Bin({ style_class: 'avatar-box' });
iconBox._size = this.ICON_SIZE;
if (!this._iconUri) {
iconBox.child = new St.Icon({ icon_name: 'avatar-default',
icon_size: iconBox._size });
} else {
let textureCache = St.TextureCache.get_default();
iconBox.child = textureCache.load_uri_async(this._iconUri, iconBox._size, iconBox._size);
}
return iconBox;
},
open: function(notification) {
// Lookup for the messages window and display it. In the case where it's not o
// opened yet fallback to the roster window.
let windows = global.get_window_actors();
for (let i = 0; i < windows.length; i++) {
let metaWindow = windows[i].metaWindow;
if (metaWindow.get_wm_class_instance() == "gajim" &&
metaWindow.get_role() == "messages") {
Main.activateWindow(metaWindow);
return;
}
}
let app = Shell.AppSystem.get_default().lookup_app('gajim.desktop');
app.activate(-1);
},
_onChatState: function(emitter, data) {
let chatstate = data[1][5];
if (chatstate == 'gone')
this.destroy();
},
setChatState: function(state) {
// Gajim DBUS API doesn't support sending chatstate yet.
},
_messageReceived: function(emitter, data) {
let author = data[1][0];
let text = data[1][1];
if (text && (author == this._author)) {
let message = wrappedText(text, this._author, null, TelepathyClient.NotificationDirection.RECEIVED);
this._notification.appendMessage(message, false);
this.notify(this._notification);
}
},
_messageSent: function(emitter, data) {
let recipient = data[1][0];
let text = data[1][1];
let chatstate = data[1][3];
if (text && (recipient == this._author)) {
let message = wrappedText(text, this._author, null, TelepathyClient.NotificationDirection.SENT);
this._notification.appendMessage(message, false);
} else if (chatstate == 'gone')
this.destroy();
},
notify: function() {
MessageTray.Source.prototype.notify.call(this, this._notification);
},
respond: function(text) {
let jid = this._author;
let keyID = ""; // unencrypted.
this._gajimClient.proxy().send_chat_messageRemote(jid, text, keyID, this._accountName);
},
_onStatusChange: function(emitter, data) {
if (!this.title)
return;
let jid = data[1][0];
let presence = data[1][1];
let message = data[1][2];
if (jid != this._author.split('/')[0])
return;
let presenceMessage, shouldNotify, title;
title = GLib.markup_escape_text(this.title, -1);
if (presence == "away") {
presenceMessage = _("%s is away.").format(title);
shouldNotify = false;
} else if (presence == "offline") {
presenceMessage = _("%s is offline.").format(title);
shouldNotify = (this._presence != "offline");
} else if (presence == "online") {
presenceMessage = _("%s is online.").format(title);
shouldNotify = (this._presence == "offline");
} else if (presence == "dnd") {
presenceMessage = _("%s is busy.").format(title);
shouldNotify = false;
} else
return;
this._presence = presence;
if (message)
presenceMessage += ' <i>(' + GLib.markup_escape_text(message, -1) + ')</i>';
this._notification.appendPresence(presenceMessage, shouldNotify);
if (shouldNotify)
this.notify(this._notification);
}
};
const GajimIface = {
name: 'org.gajim.dbus.RemoteInterface',
properties: [],
methods: [{ name: 'send_chat_message', inSignature: 'ssss', outSignature: 'b'},
{ name: 'contact_info', inSignature: 's', outSignature: 'a{sv}'}],
signals: [{ name: 'NewMessage', inSignature: 'av' },
{ name: 'ChatState', inSignature: 'av' },
{ name: 'ContactStatus', inSignature: 'av' },
{ name: 'ContactAbsence', inSignature: 'av' },
{ name: 'MessageSent', inSignature: 'av' }]
};
let Gajim = DBus.makeProxyClass(GajimIface);
function GajimClient() {
this._init();
}
GajimClient.prototype = {
_init: function() {
this._sources = {};
},
proxy : function() {
return this._proxy;
},
enable: function() {
this._cacheDir = GLib.get_user_cache_dir() + '/gnome-shell/gajim-avatars';
let dir = Gio.file_new_for_path(this._cacheDir);
if (!dir.query_exists(null)) {
GLib.mkdir_with_parents(this._cacheDir, 0x1c0); // 0x1c0 = octal 0700
}
this._proxy = new Gajim(DBus.session, 'org.gajim.dbus', '/org/gajim/dbus/RemoteObject');
this._newMessageId = this._proxy.connect('NewMessage', Lang.bind(this, this._messageReceived));
},
disable: function() {
if (this._newMessageId) {
this._proxy.disconnect(this._newMessageId);
this._newMessageId = 0;
}
this._proxy = null;
for (let id in this._sources)
this._sources[id].destroy();
this._sources = { };
},
_messageReceived : function(emitter, data) {
let author = data[1][0];
let message = data[1][1];
let account = data[0];
let source = this._sources[author];
if (!source) {
source = new Source(this, account, author, message);
source.connect('destroy', Lang.bind(this,
function() {
delete this._sources[author];
}));
this._sources[author] = source;
}
},
cacheAvatar : function(mimeType, sha, avatarData) {
let ext = mimeType.split('/')[1];
let file = this._cacheDir + '/' + sha + '.' + ext;
let uri = GLib.filename_to_uri(file, null);
if (GLib.file_test(file, GLib.FileTest.EXISTS))
return uri;
let success = false;
try {
success = GLib.file_set_contents(file, avatarData, avatarData.length);
} catch (e) {
logError(e, 'Error caching avatar data');
}
return uri;
}
};
function init() {
return new GajimClient();
}

View File

@@ -1,10 +0,0 @@
{
"extension-id": "@extension_id@",
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Gajim IM integration",
"description": "Display Gajim incoming chats as notifications in the Shell message tray.",
"shell-version": [ "@shell_current@" ],
"url": "http://base-art.net"
}

View File

@@ -1 +0,0 @@
/* none used */

View File

@@ -123,6 +123,7 @@ function enable() {
let settings = Convenience.getSettings();
let useMoreScreen = settings.get_boolean('use-more-screen');
let windowCaptionsOnTop = settings.get_boolean('window-captions-on-top');
let signalId = settings.connect('changed::use-more-screen', function() {
useMoreScreen = settings.get_boolean('use-more-screen');
});
@@ -148,7 +149,13 @@ function enable() {
let ratio = this._width / this._height;
let x_gap = Math.max(WORKSPACE_BORDER_GAP, WINDOW_AREA_TOP_GAP * ratio);
let y_gap = Math.max(WORKSPACE_BORDER_GAP / ratio, WINDOW_AREA_TOP_GAP);
let area = new Rect(this._x + x_gap/2, this._y + y_gap, this._width - x_gap, this._height - y_gap);
let bottom_padding = 0;
// If the window captions are below the window, put an additional gap to account for them
if (!windowCaptionsOnTop && this._windowOverlays.length)
bottom_padding += this._windowOverlays[0].chromeHeights()[1];
let area = new Rect(this._x + x_gap/2, this._y + y_gap, this._width - x_gap, this._height - y_gap - bottom_padding);
let bounds = area.copy();
@@ -321,17 +328,17 @@ function enable() {
let animate = flags & WindowPositionFlags.ANIMATE;
// Start the animations
let targets = [];
let targets = [];
let scales = [];
[clones, targets] = this._calculateWindowTransformationsNatural(clones);
let currentWorkspace = global.screen.get_active_workspace();
let currentWorkspace = global.screen.get_active_workspace();
let isOnCurrentWorkspace = this.metaWorkspace == null || this.metaWorkspace == currentWorkspace;
for (let i = 0; i < clones.length; i++) {
let clone = clones[i];
let [x, y , scale] = targets[i];
let [x, y , scale] = targets[i];
let metaWindow = clone.metaWindow;
let mainIndex = this._lookupIndex(metaWindow);
let overlay = this._windowOverlays[mainIndex];
@@ -375,63 +382,15 @@ function enable() {
}
/// position window titles on top of windows in overlay ////
if (settings.get_boolean('window-captions-on-top')) {
winInjections['_init'] = Workspace.WindowOverlay.prototype._init;
Workspace.WindowOverlay.prototype._init = function(windowClone, parentActor) {
let metaWindow = windowClone.metaWindow;
this._windowClone = windowClone;
this._parentActor = parentActor;
this._hidden = false;
let title = new St.Label({ style_class: 'window-caption',
text: metaWindow.title });
title.clutter_text.ellipsize = Pango.EllipsizeMode.END;
title._spacing = 0;
title._overlap = 0;
this._updateCaptionId = metaWindow.connect('notify::title', Lang.bind(this, function(w) {
this.title.text = w.title;
}));
let button = new St.Button({ style_class: 'window-close' });
button._overlap = 0;
this._idleToggleCloseId = 0;
button.connect('clicked', Lang.bind(this, this._closeWindow));
windowClone.actor.connect('destroy', Lang.bind(this, this._onDestroy));
windowClone.actor.connect('enter-event', Lang.bind(this, this._onEnter));
windowClone.actor.connect('leave-event', Lang.bind(this, this._onLeave));
this._windowAddedId = 0;
windowClone.connect('zoom-start', Lang.bind(this, this.hide));
windowClone.connect('zoom-end', Lang.bind(this, this.show));
button.hide();
this.title = title;
this.closeButton = button;
parentActor.add_actor(this.title);
parentActor.add_actor(this.closeButton);
title.connect('style-changed', Lang.bind(this, this._onStyleChanged));
button.connect('style-changed', Lang.bind(this, this._onStyleChanged));
// force a style change if we are already on a stage - otherwise
// the signal will be emitted normally when we are added
if (parentActor.get_stage())
this._onStyleChanged();
},
if (windowCaptionsOnTop) {
winInjections['chromeHeights'] = Workspace.WindowOverlay.prototype.chromeHeights;
Workspace.WindowOverlay.prototype.chromeHeights = function () {
Workspace.WindowOverlay.prototype.chromeHeights = function () {
return [Math.max( this.closeButton.height - this.closeButton._overlap, this.title.height - this.title._overlap),
0];
},
0];
};
winInjections['updatePositions'] = Workspace.WindowOverlay.prototype.updatePositions;
Workspace.WindowOverlay.prototype.updatePositions = function(cloneX, cloneY, cloneWidth, cloneHeight, animate) {
Workspace.WindowOverlay.prototype.updatePositions = function(cloneX, cloneY, cloneWidth, cloneHeight, animate) {
let button = this.closeButton;
let title = this.title;
@@ -463,7 +422,7 @@ function enable() {
let titleWidth = Math.min(title.fullWidth, cloneWidth);
let titleX = cloneX + (cloneWidth - titleWidth) / 2;
let titleY = cloneY - title.height + title._overlap;
let titleY = cloneY - title.height + title._spacing;
if (animate)
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), titleWidth);
@@ -471,19 +430,7 @@ function enable() {
title.width = titleWidth;
title.set_position(Math.floor(titleX), Math.floor(titleY));
}
},
winInjections['_onStyleChanged'] = Workspace.WindowOverlay.prototype._onStyleChanged;
Workspace.WindowOverlay.prototype._onStyleChanged = function() {
let titleNode = this.title.get_theme_node();
this.title._spacing = titleNode.get_length('-shell-caption-spacing');
this.title._overlap = titleNode.get_length('-shell-caption-overlap');
let closeNode = this.closeButton.get_theme_node();
this.closeButton._overlap = closeNode.get_length('-shell-close-overlap');
this._parentActor.queue_relayout();
}
};
}
}

View File

@@ -1,3 +1,3 @@
.window-caption {
-shell-caption-overlap: 13px; /* current caption height is 26px => set it to half of it. TODO: better solution needed */
-shell-caption-spacing: 13px; /* current caption height is 26px => set it to half of it. TODO: better solution needed */
}

View File

@@ -123,8 +123,15 @@ const PlacesManager = new Lang.Class({
let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]);
if (specialPath == homePath)
continue;
this._places.special.push(new PlaceInfo('special',
Gio.File.new_for_path(specialPath)));
let file = Gio.File.new_for_path(specialPath), info;
try {
info = new PlaceInfo('special', file);
} catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) {
continue;
}
this._places.special.push(info);
}
/*
@@ -311,7 +318,14 @@ const PlacesManager = new Lang.Class({
},
_addMount: function(kind, mount) {
let devItem = new PlaceDeviceInfo(kind, mount);
let devItem;
try {
devItem = new PlaceDeviceInfo(kind, mount);
} catch(e if e.matches(Gio.IOErrorEnum, Gio.IOErrorEnum.NOT_FOUND)) {
return;
}
this._places[kind].push(devItem);
},

View File

@@ -0,0 +1,3 @@
EXTENSION_ID = static-workspaces
include ../../extension.mk

View File

@@ -0,0 +1,18 @@
// -*- mode: js2; indent-tabs-mode: nil; js2-basic-offset: 4 -*-
const Meta = imports.gi.Meta;
function init(metadata) {
}
function enable() {
// Override gnome-shell's overrides
Meta.prefs_override_preference_schema('dynamic-workspaces',
'org.gnome.mutter');
}
function disable() {
// Restore gnome-shell's overrides
Meta.prefs_override_preference_schema('dynamic-workspaces',
'org.gnome.shell.overrides');
}

View File

@@ -3,9 +3,9 @@
"uuid": "@uuid@",
"settings-schema": "@gschemaname@",
"gettext-domain": "@gettext_domain@",
"name": "Dock",
"description": "A dock for the GNOME Shell -- displays favorite and running applications",
"original-author": "tclaesson@gmail.com",
"name": "Static workspaces",
"description": "Disable dynamic workspace management",
"original-authors": [ "fmuellner@gnome.org" ],
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -0,0 +1 @@
/* This extensions requires no special styling */

View File

@@ -33,26 +33,10 @@ function resetState() {
function enable() {
resetState();
Workspace.WindowOverlay.prototype.setId = function(id) {
if (this._text && this._text.visible && id == null)
this._text.hide();
this._id = id;
if (id != null)
this._text.text = this._id.toString();
}
winInjections['setId'] = undefined;
Workspace.WindowOverlay.prototype.getId = function() {
return this._id;
}
winInjections['getId'] = undefined;
Workspace.WindowOverlay.prototype.showTooltip = function() {
if (this._id === null)
return;
this._text.raise_top();
this._text.show();
this._text.text = this._id.toString();
this._text.text = (this._windowClone.slotId + 1).toString();
}
winInjections['showTooltip'] = undefined;
@@ -83,11 +67,9 @@ function enable() {
workspaceInjections['hideTooltip'] = undefined;
Workspace.Workspace.prototype.getWindowWithTooltip = function(id) {
for (let i in this._windowOverlays) {
if (this._windowOverlays[i] == null)
continue;
if (this._windowOverlays[i].getId() === id)
return this._windowOverlays[i]._windowClone.metaWindow;
for (let i = 0; i < this._windows.length; i++) {
if ((this._windows[i].slotId + 1) == id)
return this._windows[i].metaWindow;
}
return null;
}
@@ -127,11 +109,11 @@ function enable() {
workViewInjections['_hideWorkspacesTooltips'] = undefined;
WorkspacesView.WorkspacesView.prototype._onKeyRelease = function(s, o) {
if (this._pickWindow &&
if (this._pickWindow &&
(o.get_key_symbol() == Clutter.KEY_Alt_L ||
o.get_key_symbol() == Clutter.KEY_Alt_R))
this._hideTooltips();
if (this._pickWorkspace &&
if (this._pickWorkspace &&
(o.get_key_symbol() == Clutter.KEY_Control_L ||
o.get_key_symbol() == Clutter.KEY_Control_R))
this._hideWorkspacesTooltips();
@@ -245,23 +227,6 @@ function enable() {
this._tip = null;
});
workspaceInjections['positionWindows'] = injectToFunction(Workspace.Workspace.prototype, 'positionWindows', function(flags) {
let visibleClones = this._windows.slice();
if (this._reservedSlot)
visibleClones.push(this._reservedSlot);
let slots = this._computeAllWindowSlots(visibleClones.length);
visibleClones = this._orderWindowsByMotionAndStartup(visibleClones, slots);
for (let i = 0; i < visibleClones.length; i++) {
let clone = visibleClones[i];
let metaWindow = clone.metaWindow;
let mainIndex = this._lookupIndex(metaWindow);
let overlay = this._windowOverlays[mainIndex];
if (overlay)
overlay.setId(i < 9 ? i + 1 : null);
}
});
workViewInjections['_init'] = injectToFunction(WorkspacesView.WorkspacesView.prototype, '_init', function(width, height, x, y, workspaces) {
this._pickWorkspace = false;
this._pickWindow = false;

View File

@@ -1,5 +1,6 @@
extensions/alternate-tab/extension.js
extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in
data/gnome-classic.desktop.in
data/gnome-classic.session.desktop.in.in
data/gnome-shell-classic.desktop.in.in
extensions/alternate-tab/prefs.js
extensions/alternative-status-menu/extension.js
extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in
@@ -7,13 +8,10 @@ extensions/apps-menu/extension.js
extensions/auto-move-windows/extension.js
extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
extensions/auto-move-windows/prefs.js
extensions/dock/extension.js
extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in
extensions/drive-menu/extension.js
extensions/example/extension.js
extensions/example/org.gnome.shell.extensions.example.gschema.xml.in
extensions/example/prefs.js
extensions/gajim/extension.js
extensions/native-window-placement/extension.js
extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
extensions/places-menu/extension.js

148
po/ar.po
View File

@@ -6,8 +6,8 @@ msgid ""
msgstr ""
"Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-05 21:43+0200\n"
"PO-Revision-Date: 2012-10-05 21:46+0200\n"
"POT-Creation-Date: 2012-11-21 16:58+0200\n"
"PO-Revision-Date: 2012-11-21 17:00+0200\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n"
"Language: ar\n"
@@ -50,15 +50,15 @@ msgid "Show only windows in the current workspace"
msgstr "أظهر نوافذ مساحات العمل الحالية فقط"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "علّق"
#: ../extensions/alternative-status-menu/extension.js:73
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "أسبِت"
#: ../extensions/alternative-status-menu/extension.js:78
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "أطفئ"
@@ -109,83 +109,18 @@ msgstr "أنشئ قاعدة تطابق"
msgid "Add"
msgstr "أضِف"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "اسحب إلى هنا ليضاف إلى المفضّلة"
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "فشل إخراج '%s':"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "نافذة جديدة"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "أغلق التطبيق"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "أزِل من المفضّلة"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "أضِف إلى المفضّلة"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "حجم الأيقونة"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr ""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "الشاشة"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
#: ../extensions/drive-menu/extension.js:56
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "الأجهزة المنفصلة"
#: ../extensions/drive-menu/extension.js:67
msgid "Open file manager"
msgstr "افتح مدير الملفّات"
#: ../extensions/drive-menu/extension.js:106
msgid "Open File"
msgstr "افتح الملف"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
@@ -214,26 +149,6 @@ msgstr ""
msgid "Message:"
msgstr "الرسالة:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "%s غائب."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "%s غير متّصل."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "%s متّصل."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "%s مشغول."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr ""
@@ -281,11 +196,11 @@ msgstr "فشل تشغيل \"%s\""
msgid "Home"
msgstr "المنزل"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "نظام الملفات"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "تصفّح الشبكة"
@@ -346,6 +261,39 @@ msgstr "العرض"
msgid "Display Settings"
msgstr "إعدادات العرض"
#~ msgid "Drag here to add favorites"
#~ msgstr "اسحب إلى هنا ليضاف إلى المفضّلة"
#~ msgid "New Window"
#~ msgstr "نافذة جديدة"
#~ msgid "Quit Application"
#~ msgstr "أغلق التطبيق"
#~ msgid "Remove from Favorites"
#~ msgstr "أزِل من المفضّلة"
#~ msgid "Add to Favorites"
#~ msgstr "أضِف إلى المفضّلة"
#~ msgid "Icon size"
#~ msgstr "حجم الأيقونة"
#~ msgid "Monitor"
#~ msgstr "الشاشة"
#~ msgid "%s is away."
#~ msgstr "%s غائب."
#~ msgid "%s is offline."
#~ msgstr "%s غير متّصل."
#~ msgid "%s is online."
#~ msgstr "%s متّصل."
#~ msgid "%s is busy."
#~ msgstr "%s مشغول."
#~ msgid ""
#~ "This mode presents all applications from all workspaces in one selection "
#~ "list. Instead of using the application icon of every window, it uses "

221
po/de.po
View File

@@ -8,7 +8,7 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-24 12:36+0200\n"
"POT-Creation-Date: 2012-10-24 12:41+0200\n"
"PO-Revision-Date: 2012-10-24 12:37+0100\n"
"Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n"
@@ -26,8 +26,14 @@ msgid "The application icon mode."
msgstr "Der Modus des Anwendungssymbols."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'."
msgstr "Legt fest, wie die Fenster im Fensterumschalter angezeigt werden. Gültige Werte sind »thumbnail-only« (zeigt ein Vorschaubild des Fensters), »app-icon-only« (zeigt das Anwendungssymbol) oder »both« (beides)."
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"Legt fest, wie die Fenster im Fensterumschalter angezeigt werden. Gültige "
"Werte sind »thumbnail-only« (zeigt ein Vorschaubild des Fensters), »app-icon-"
"only« (zeigt das Anwendungssymbol) oder »both« (beides)."
#: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only"
@@ -83,8 +89,13 @@ msgid "Application and workspace list"
msgstr "Anwendungs- und Arbeitsflächenliste"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number"
msgstr "Eine Liste aus Zeichenketten, wovon jede eine Anwendungskennung (*.desktop-Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der Arbeitsfläche"
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Eine Liste aus Zeichenketten, wovon jede eine Anwendungskennung (*.desktop-"
"Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der "
"Arbeitsfläche"
#: ../extensions/auto-move-windows/prefs.js:55
msgid "Application"
@@ -107,72 +118,6 @@ msgstr "Neue Übereinstimmungsregel erstellen"
msgid "Add"
msgstr "Hinzufügen"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Hierher ziehen, um zu Favoriten hinzuzufügen"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Neues Fenster"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Anwendung beenden"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Aus Favoriten entfernen"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Zu Favoriten hinzufügen"
# Dock = das Dock ? -ck
# Sofern es sich nicht um das Original-Dash handelt, ja. -mb
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Position des Docks"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Sets the position of the dock in the screen. Allowed values are 'right' or 'left'"
msgstr "Legt die Position des Docks auf dem Bildschirm fest. Mögliche Werte sind »right« und »left«"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Symbolgröße"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Legt die Symbolgröße für das Dock fest"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Automatisches Verbergen aktivieren/deaktivieren"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Effekt automatisch verbergen"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and 'move'"
msgstr "Legt den Effekt für das versteckte Dock fest. Mögliche Werte sind »resize«, »rescale« und »move«"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Dauer automatisch verbergen"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Legt die Effektdauer für automatisches Verbergen fest."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Bildschirm"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid "Sets monitor to display dock in. The default value (-1) is the primary monitor."
msgstr "Legt den Bildschirm fest, in dem das Dock angezeigt werden soll. Die Voreinstellung (-1) entspricht dem primären Bildschirm."
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
@@ -195,58 +140,58 @@ msgid "Alternative greeting text."
msgstr "Alternative Begrüßungstext."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
msgid "If not empty, it contains the text that will be shown when clicking on the panel."
msgstr "Falls nicht leer, ist dies der Text, der beim Anklicken des Panels angezeigt wird."
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"Falls nicht leer, ist dies der Text, der beim Anklicken des Panels angezeigt "
"wird."
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: ../extensions/example/prefs.js:30
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and as such it has little functionality on its own.\n"
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"Das Beispiel soll zeigen, wie sich korrekt verhaltende Erweiterungen für die Shell erstellt werden. Es enthält grundlegende Funktionalität.\n"
"Das Beispiel soll zeigen, wie sich korrekt verhaltende Erweiterungen für die "
"Shell erstellt werden. Es enthält grundlegende Funktionalität.\n"
"Es ist möglich, die Begrüßungsnachricht zu ändern."
#: ../extensions/example/prefs.js:36
msgid "Message:"
msgstr "Nachricht:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "%s ist abwesend."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "%s ist abgemeldet."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "%s ist angemeldet."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "%s ist beschäftigt."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Mehr Bildschirmbereich für Fenster verwenden"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating them further to reduce the bounding box. This setting applies only with the natural placement strategy."
msgstr "Versuchen, mehr Bildschirmfläche zum Platzieren der Fenstervorschaubilder zu verwenden, indem das Bildschirmseitenverhältnis berücksichtigt wird und diese stärker zusammengelegt werden, um den umgebenden Rahmen zu verkleinern. Diese Einstellung betrifft nur den natürlichen Platzierungsalgorithmus."
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Versuchen, mehr Bildschirmfläche zum Platzieren der Fenstervorschaubilder zu "
"verwenden, indem das Bildschirmseitenverhältnis berücksichtigt wird und "
"diese stärker zusammengelegt werden, um den umgebenden Rahmen zu "
"verkleinern. Diese Einstellung betrifft nur den natürlichen "
"Platzierungsalgorithmus."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top"
msgstr "Fensterbeschriftungen oben platzieren"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "If true, place window captions on top the respective thumbnail, overriding shell default of placing it at the bottom. Changing this setting requires restarting the shell to have any effect."
msgstr "Falls wahr, so werden die Fensterbeschriftungen über dem zugehörigen Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Falls wahr, so werden die Fensterbeschriftungen über dem zugehörigen "
"Vorschaubild platziert und damit die Voreinstellung der Shell übergangen. "
"Eine Änderungseinstellung tritt erst mit einem Neustart der Shell in Kraft."
#: ../extensions/places-menu/extension.js:46
msgid "Places"
@@ -295,7 +240,9 @@ msgstr "Themenname"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden soll"
msgstr ""
"Der Name des Themas, welches aus ~/.themes/name/gnome-shell geladen werden "
"soll"
#: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
@@ -338,6 +285,80 @@ msgstr "Anzeige"
msgid "Display Settings"
msgstr "Bildschirmeinstellungen"
#~ msgid "Drag here to add favorites"
#~ msgstr "Hierher ziehen, um zu Favoriten hinzuzufügen"
#~ msgid "New Window"
#~ msgstr "Neues Fenster"
#~ msgid "Quit Application"
#~ msgstr "Anwendung beenden"
#~ msgid "Remove from Favorites"
#~ msgstr "Aus Favoriten entfernen"
#~ msgid "Add to Favorites"
#~ msgstr "Zu Favoriten hinzufügen"
# Dock = das Dock ? -ck
# Sofern es sich nicht um das Original-Dash handelt, ja. -mb
#~ msgid "Position of the dock"
#~ msgstr "Position des Docks"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr ""
#~ "Legt die Position des Docks auf dem Bildschirm fest. Mögliche Werte sind "
#~ "»right« und »left«"
#~ msgid "Icon size"
#~ msgstr "Symbolgröße"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Legt die Symbolgröße für das Dock fest"
#~ msgid "Enable/disable autohide"
#~ msgstr "Automatisches Verbergen aktivieren/deaktivieren"
#~ msgid "Autohide effect"
#~ msgstr "Effekt automatisch verbergen"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "Legt den Effekt für das versteckte Dock fest. Mögliche Werte sind "
#~ "»resize«, »rescale« und »move«"
#~ msgid "Autohide duration"
#~ msgstr "Dauer automatisch verbergen"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Legt die Effektdauer für automatisches Verbergen fest."
#~ msgid "Monitor"
#~ msgstr "Bildschirm"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Legt den Bildschirm fest, in dem das Dock angezeigt werden soll. Die "
#~ "Voreinstellung (-1) entspricht dem primären Bildschirm."
#~ msgid "%s is away."
#~ msgstr "%s ist abwesend."
#~ msgid "%s is offline."
#~ msgstr "%s ist abgemeldet."
#~ msgid "%s is online."
#~ msgstr "%s ist angemeldet."
#~ msgid "%s is busy."
#~ msgstr "%s ist beschäftigt."
#~ msgid "Removable Devices"
#~ msgstr "Wechseldatenträger"

201
po/es.po
View File

@@ -11,8 +11,8 @@ msgstr ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-10-08 17:42+0000\n"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-12-05 14:20+0000\n"
"PO-Revision-Date: 2012-12-05 19:20+0100\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
@@ -22,6 +22,24 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.5\n"
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
msgid "GNOME Classic"
msgstr "GNOME clásico"
#: ../data/gnome-classic.desktop.in.h:2
msgid "This session logs you into GNOME Classic"
msgstr "Esta sesión inicia GNOME clásico"
#: ../data/gnome-shell-classic.desktop.in.in.h:1
msgid "GNOME Shell Classic"
msgstr "GNOME Shell clásico"
#: ../data/gnome-shell-classic.desktop.in.in.h:2
#| msgid "Thumbnail and application icon"
msgid "Window management and application launching"
msgstr "Gestión de ventanas e inicio de aplicaciones"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The application icon mode."
@@ -58,15 +76,15 @@ msgid "Show only windows in the current workspace"
msgid "Show only windows in the current workspace"
msgstr "Mostrar ventanas solamente en el área de trabajo actual"
#. add the new entries
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "Suspender"
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "Hibernar"
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Apagar"
@@ -119,82 +137,6 @@ msgstr "Crear regla de coincidencia nueva"
#: ../extensions/auto-move-windows/prefs.js:98
msgid "Add"
msgstr "Añadir"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Arrastrar aquí para añadir a favoritos"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Ventana nueva"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Salir de la aplicación"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Quitar de favoritos"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Añadir a favoritos"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Posición del tablero"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Configura la posición del tablero en la pantalla. Los valores permitidos son "
"«right» (derecha) o «left» (izquierda)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Tamaño del icono"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Configura el tamaño de los íconos del tablero."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Activar/desactivar ocultación automática"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Efecto de ocultación automática"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Establece el efecto de ocultación del tablero. Los valores permitidos son "
"«resize» (redimensionar) y «rescale» (re-escalar) y «move» (mover)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Duración de la ocultación automática"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Configura la duración del efecto de ocultación automática."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Pantalla"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"Establece la pantalla en la que mostrar el tablero. El valor predeterminado "
"es (-1), que es la pantalla principal."
#: ../extensions/drive-menu/extension.js:72
#, c-format
@@ -205,7 +147,6 @@ msgid "Removable devices"
msgid "Removable devices"
msgstr "Dispositivos extraíbles"
#: ../extensions/drive-menu/extension.js:106
#: ../extensions/drive-menu/extension.js:106
msgid "Open File"
msgstr "Abrir archivo"
@@ -242,26 +183,6 @@ msgstr ""
#: ../extensions/example/prefs.js:36
msgid "Message:"
msgstr "Mensaje:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "%s no está disponible."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "%s está desconectado."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "%s está conectado."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "%s está ocupado."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
@@ -316,11 +237,11 @@ msgstr "Falló al lanzar «%s»"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "Carpeta personal"
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "Sistema de archivos"
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "Examinar la red"
@@ -381,6 +302,78 @@ msgstr "Pantalla"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "Configuración de pantalla"
#~ msgid "Drag here to add favorites"
#~ msgstr "Arrastrar aquí para añadir a favoritos"
#~ msgid "New Window"
#~ msgstr "Ventana nueva"
#~ msgid "Quit Application"
#~ msgstr "Salir de la aplicación"
#~ msgid "Remove from Favorites"
#~ msgstr "Quitar de favoritos"
#~ msgid "Add to Favorites"
#~ msgstr "Añadir a favoritos"
#~ msgid "Position of the dock"
#~ msgstr "Posición del tablero"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr ""
#~ "Configura la posición del tablero en la pantalla. Los valores permitidos "
#~ "son «right» (derecha) o «left» (izquierda)"
#~ msgid "Icon size"
#~ msgstr "Tamaño del icono"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Configura el tamaño de los íconos del tablero."
#~ msgid "Enable/disable autohide"
#~ msgstr "Activar/desactivar ocultación automática"
#~ msgid "Autohide effect"
#~ msgstr "Efecto de ocultación automática"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "Establece el efecto de ocultación del tablero. Los valores permitidos son "
#~ "«resize» (redimensionar) y «rescale» (re-escalar) y «move» (mover)"
#~ msgid "Autohide duration"
#~ msgstr "Duración de la ocultación automática"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Configura la duración del efecto de ocultación automática."
#~ msgid "Monitor"
#~ msgstr "Pantalla"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Establece la pantalla en la que mostrar el tablero. El valor "
#~ "predeterminado es (-1), que es la pantalla principal."
#~ msgid "%s is away."
#~ msgstr "%s no está disponible."
#~ msgid "%s is offline."
#~ msgstr "%s está desconectado."
#~ msgid "%s is online."
#~ msgstr "%s está conectado."
#~ msgid "%s is busy."
#~ msgstr "%s está ocupado."
#~ msgid "Removable Devices"
#~ msgstr "Dispositivos extraíbles"

109
po/lt.po
View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: lt\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-09-07 15:25+0000\n"
"PO-Revision-Date: 2012-09-15 15:14+0300\n"
"POT-Creation-Date: 2012-10-16 14:24+0000\n"
"PO-Revision-Date: 2012-10-20 21:51+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <>\n"
"Language: \n"
@@ -26,12 +26,10 @@ msgid "Configures how the windows are shown in the switcher. Valid possibilities
msgstr "Nustato, kaip langai yra rodomi perjungimo lange. Galimos vertės yra „thumbnail-only“ (rodo lango miniatiūrą), „app-icon-only“ (rodo tik programos piktogramą) ir „both“."
#: ../extensions/alternate-tab/prefs.js:26
#| msgid "All & Thumbnails"
msgid "Thumbnail only"
msgstr "Tik miniatiūros"
#: ../extensions/alternate-tab/prefs.js:27
#| msgid "Application"
msgid "Application icon only"
msgstr "Tik programos piktograma"
@@ -48,15 +46,15 @@ msgid "Show only windows in the current workspace"
msgstr "Rodyti tik dabartinio darbalaukio langus"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68
#: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend"
msgstr "Užmigdyti"
#: ../extensions/alternative-status-menu/extension.js:73
#: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate"
msgstr "Hibernuoti"
#: ../extensions/alternative-status-menu/extension.js:78
#: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off"
msgstr "Išjungti"
@@ -105,77 +103,19 @@ msgstr "Sukurti naują atitikimo taisyklę"
msgid "Add"
msgstr "Pridėti"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Nuvilkite čia, jei norite pridėt prie mėgstamų"
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Laikmenos „%s“ išstūmimas nepavyko:"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Naujas langas"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Uždaryti programą"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Pridėti prie mėgstamų"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Skydelio pozicija"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Sets the position of the dock in the screen. Allowed values are 'right' or 'left'"
msgstr "Nustato skydelio vietą ekrane. Galimos reikšmės yra „right“ arba „left“"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Piktogramų dydis"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Nustato skydelio piktogramos dydį."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Įjungti/Išjungti automatinį slėpimą"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Automatinio slėpimo efektas"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and 'move'"
msgstr "Nustato skydelio slėpimo efektą. Galimos reikšmės yra „resize“, „rescale“ arba „move“"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Automatinio slėpimo trukmė"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Nustato automatinio slėpimo efekto trukmę."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Monitorius"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid "Sets monitor to display dock in. The default value (-1) is the primary monitor."
msgstr "Nustato monitorių, kuriame rodyti doką. Numatytoji reikšmė (-1) yra pagrindinis monitorius."
#: ../extensions/drive-menu/extension.js:56
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "Išimami įrenginiai"
#: ../extensions/drive-menu/extension.js:67
msgid "Open file manager"
msgstr "Atverti failų tvarkyklę"
#: ../extensions/drive-menu/extension.js:106
#| msgid "Open file manager"
msgid "Open File"
msgstr "Atverti failą"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
@@ -203,26 +143,6 @@ msgstr ""
msgid "Message:"
msgstr "Pranešimas:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "%s yra pasitraukęs."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "%s yra atsijungęs."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "%s yra prisijungęs."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "%s yra užsiėmęs."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Naudoti daugiau ekrano langams "
@@ -326,7 +246,6 @@ msgid "Display"
msgstr "Vaizduoklis"
#: ../extensions/xrandr-indicator/extension.js:80
#| msgid "System Settings"
msgid "Display Settings"
msgstr "Vaizduoklio nustatymai"

251
po/pa.po
View File

@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-08-18 00:42+0000\n"
"PO-Revision-Date: 2012-08-19 15:11+0530\n"
"POT-Creation-Date: 2012-10-16 14:24+0000\n"
"PO-Revision-Date: 2012-10-25 09:10+0530\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
"Language: pa\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.4\n"
"X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
@@ -31,12 +31,10 @@ msgid ""
msgstr ""
#: ../extensions/alternate-tab/prefs.js:26
#| msgid "All & Thumbnails"
msgid "Thumbnail only"
msgstr "ਕੇਵਲ ਥੰਮਨੇਲ ਹੀ"
#: ../extensions/alternate-tab/prefs.js:27
#| msgid "Application"
msgid "Application icon only"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਆਈਕਾਨ ਹੀ"
@@ -53,16 +51,15 @@ msgid "Show only windows in the current workspace"
msgstr "ਮੌਜੂਦਾ ਵਰਕਸਪੇਸ ਵਿੱਚੋਂ ਹੀ ਵਿੰਡੋਜ਼ ਹੀ ਵੇਖਾਓ"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68
#: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend"
msgstr "ਸਸਪੈਂਡ"
#: ../extensions/alternative-status-menu/extension.js:73
#: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate"
msgstr "ਹਾਈਬਰਨੇਟ"
#: ../extensions/alternative-status-menu/extension.js:78
#| msgid "Power Off..."
#: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off"
msgstr "ਬੰਦ ਕਰੋ"
@@ -116,87 +113,19 @@ msgstr "ਨਵਾਂ ਮਿਲਾਉਣ ਨਿਯਮ ਬਣਾਉ"
msgid "Add"
msgstr "ਸ਼ਾਮਲ"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜਨ ਲਈ ਇੱਥੇ ਸੁੱਟੋ"
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "ਡਰਾਇਵ '%s' ਬਾਹਰ ਕੱਢਣ ਲਈ ਫੇਲ੍ਹ:"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰੋ"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "ਡੌਕ ਦੀ ਸਥਿਤੀ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr "ਸਕਰੀਨ ਵਿੱਚ ਡੌਕ ਦੀ ਸਥਿਤੀ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਸੰਭਵ ਮੁੱਲ ਹਨ 'right' ਜਾਂ 'left'"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "ਆਈਕਾਨ ਆਕਾਰ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "ਡੌਕ ਦਾ ਆਈਕਾਨ ਆਕਾਰ ਸੈੱਟ ਕਰੋ।"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "ਆਪੇ-ਓਹਲੇ ਕਰਨਾ ਚਾਲੂ/ਬੰਦ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "ਆਪੇ-ਓਹਲੇ ਹੋਣ ਪ੍ਰਭਾਵ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"ਡੌਕ ਓਹਲੇ ਕਰਨ ਦਾ ਪ੍ਰਭਾਵ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਸੰਭਵ ਮੁੱਲ ਹਨ 'resize', 'rescale' ਅਤੇ "
"'move'"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "ਆਪੇ ਓਹਲੇ ਹੋਣ ਅੰਤਰਾਲ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "ਆਪੇ-ਓਹਲੇ ਕਰਨ ਦੇ ਪ੍ਰਭਾਵ ਦੀ ਸਮੇਂ ਦਾ ਅੰਤਰਾਲ ਸੈੱਟ ਕਰੋ।"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "ਮਾਨੀਟਰ"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"ਡੌਕ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਨਿਗਾਰਨ ਸੈੱਟ ਕਰੋ। ਪ੍ਰਾਈਮਰੀ ਮਾਨੀਟਰ ਲਈ ਡਿਫਾਲਟ ਮੁੱਲ (-1) ਹੈ।"
#: ../extensions/drive-menu/extension.js:57
#| msgid "Removable Devices"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ"
#: ../extensions/drive-menu/extension.js:68
msgid "Open file manager"
msgstr "ਫਾਇਲ ਮੈਨੇਜਰ ਖੋਲ੍ਹੋ"
#: ../extensions/drive-menu/extension.js:106
#| msgid "Open file manager"
msgid "Open File"
msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
@@ -227,26 +156,6 @@ msgstr ""
msgid "Message:"
msgstr "ਸੁਨੇਹਾ:"
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
msgstr "%s ਦੂਰ ਹੈ।"
#: ../extensions/gajim/extension.js:230
#, c-format
msgid "%s is offline."
msgstr "%s ਆਫਲਾਈਨ ਹੈ।"
#: ../extensions/gajim/extension.js:233
#, c-format
msgid "%s is online."
msgstr "%s ਆਨਲਾਈਨ ਹੈ।"
#: ../extensions/gajim/extension.js:236
#, c-format
msgid "%s is busy."
msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "ਵਿੰਡੋਜ਼ ਲਈ ਹੋਰ ਸਕਰੀਨ ਵਰਤੋਂ"
@@ -269,9 +178,46 @@ msgid ""
"restarting the shell to have any effect."
msgstr ""
#: ../extensions/places-menu/extension.js:39
msgid "Removable Devices"
msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ"
#: ../extensions/places-menu/extension.js:46
msgid "Places"
msgstr "ਥਾਵਾਂ"
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "ਜੰਤਰ"
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "ਬੁੱਕਮਾਰਕ"
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "ਨੈੱਟਵਰਕ"
#: ../extensions/places-menu/placeDisplay.js:48
#, c-format
msgid "Failed to launch \"%s\""
msgstr "\"%s\" ਚਲਾਉਣ ਲਈ ਫੇਲ੍ਹ ਹੈ"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "ਘਰ"
#: ../extensions/places-menu/placeDisplay.js:184
msgid "File System"
msgstr "ਫਾਇਲ ਸਿਸਟਮ"
#: ../extensions/places-menu/placeDisplay.js:188
msgid "Browse network"
msgstr "ਨੈੱਟਵਰਕ ਝਲਕ"
#: ../extensions/systemMonitor/extension.js:213
msgid "CPU"
msgstr "ਸੀਪੀਯੂ"
#: ../extensions/systemMonitor/extension.js:266
msgid "Memory"
msgstr "ਮੈਮੋਰੀ"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "Theme name"
@@ -314,9 +260,87 @@ msgstr "ਸੱਜੇ"
msgid "Upside-down"
msgstr "ਉਤਲਾ ਹੇਠ"
#: ../extensions/xrandr-indicator/extension.js:82
msgid "Configure display settings..."
msgstr "ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ ਸੰਰਚਨਾ..."
#: ../extensions/xrandr-indicator/extension.js:50
msgid "Display"
msgstr "ਡਿਸਪਲੇਅ"
#: ../extensions/xrandr-indicator/extension.js:80
#| msgid "System Settings"
msgid "Display Settings"
msgstr "ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ"
#~ msgid "Drag here to add favorites"
#~ msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜਨ ਲਈ ਇੱਥੇ ਸੁੱਟੋ"
#~ msgid "New Window"
#~ msgstr "ਨਵੀਂ ਵਿੰਡੋ"
#~ msgid "Quit Application"
#~ msgstr "ਐਪਲੀਕੇਸ਼ਨ ਬੰਦ ਕਰੋ"
#~ msgid "Remove from Favorites"
#~ msgstr "ਪਸੰਦ ਵਿੱਚੋਂ ਹਟਾਓ"
#~ msgid "Add to Favorites"
#~ msgstr "ਪਸੰਦ 'ਚ ਸ਼ਾਮਲ ਕਰੋ"
#~ msgid "Position of the dock"
#~ msgstr "ਡੌਕ ਦੀ ਸਥਿਤੀ"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr "ਸਕਰੀਨ ਵਿੱਚ ਡੌਕ ਦੀ ਸਥਿਤੀ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਸੰਭਵ ਮੁੱਲ ਹਨ 'right' ਜਾਂ 'left'"
#~ msgid "Icon size"
#~ msgstr "ਆਈਕਾਨ ਆਕਾਰ"
#~ msgid "Sets icon size of the dock."
#~ msgstr "ਡੌਕ ਦਾ ਆਈਕਾਨ ਆਕਾਰ ਸੈੱਟ ਕਰੋ।"
#~ msgid "Enable/disable autohide"
#~ msgstr "ਆਪੇ-ਓਹਲੇ ਕਰਨਾ ਚਾਲੂ/ਬੰਦ"
#~ msgid "Autohide effect"
#~ msgstr "ਆਪੇ-ਓਹਲੇ ਹੋਣ ਪ੍ਰਭਾਵ"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "ਡੌਕ ਓਹਲੇ ਕਰਨ ਦਾ ਪ੍ਰਭਾਵ ਸੈੱਟ ਕਰਦਾ ਹੈ। ਸੰਭਵ ਮੁੱਲ ਹਨ 'resize', 'rescale' ਅਤੇ 'move'"
#~ msgid "Autohide duration"
#~ msgstr "ਆਪੇ ਓਹਲੇ ਹੋਣ ਅੰਤਰਾਲ"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "ਆਪੇ-ਓਹਲੇ ਕਰਨ ਦੇ ਪ੍ਰਭਾਵ ਦੀ ਸਮੇਂ ਦਾ ਅੰਤਰਾਲ ਸੈੱਟ ਕਰੋ।"
#~ msgid "Monitor"
#~ msgstr "ਮਾਨੀਟਰ"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr "ਡੌਕ ਵਿੱਚ ਵੇਖਾਉਣ ਲਈ ਨਿਗਾਰਨ ਸੈੱਟ ਕਰੋ। ਪ੍ਰਾਈਮਰੀ ਮਾਨੀਟਰ ਲਈ ਡਿਫਾਲਟ ਮੁੱਲ (-1) ਹੈ।"
#~ msgid "%s is away."
#~ msgstr "%s ਦੂਰ ਹੈ।"
#~ msgid "%s is offline."
#~ msgstr "%s ਆਫਲਾਈਨ ਹੈ।"
#~ msgid "%s is online."
#~ msgstr "%s ਆਨਲਾਈਨ ਹੈ।"
#~ msgid "%s is busy."
#~ msgstr "%s ਰੁੱਝਿਆ/ਰੁੱਝੀ ਹੈ।"
#~ msgid "Removable Devices"
#~ msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ"
#~ msgid "Configure display settings..."
#~ msgstr "ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ ਸੰਰਚਨਾ..."
#~ msgid "The alt tab behaviour."
#~ msgstr "alt tab ਰਵੱਈਆ ਹੈ।"
@@ -343,9 +367,6 @@ msgstr "ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ ਸੰਰਚਨਾ..."
#~ msgid "My Account"
#~ msgstr "ਮੇਰਾ ਅਕਾਊਂਟ"
#~ msgid "System Settings"
#~ msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ"
#~ msgid "Lock Screen"
#~ msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ"

127
po/pl.po
View File

@@ -10,8 +10,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-10-08 23:03+0200\n"
"PO-Revision-Date: 2012-10-08 23:04+0200\n"
"POT-Creation-Date: 2012-12-06 22:34+0100\n"
"PO-Revision-Date: 2012-12-06 22:35+0100\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n"
@@ -23,6 +23,23 @@ msgstr ""
"X-Poedit-Language: Polish\n"
"X-Poedit-Country: Poland\n"
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
msgid "GNOME Classic"
msgstr "Klasyczne GNOME"
#: ../data/gnome-classic.desktop.in.h:2
msgid "This session logs you into GNOME Classic"
msgstr "Ta sesja loguje do klasycznego środowiska GNOME"
#: ../data/gnome-shell-classic.desktop.in.in.h:1
msgid "GNOME Shell Classic"
msgstr "Klasyczna powłoka GNOME"
#: ../data/gnome-shell-classic.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Zarządzanie oknami i uruchamianie programów"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The application icon mode."
msgstr "Tryb ikon programów."
@@ -58,15 +75,15 @@ msgid "Show only windows in the current workspace"
msgstr "Wyświetlanie tylko okien w bieżącym obszarze roboczym"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:86
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "Uśpij"
#: ../extensions/alternative-status-menu/extension.js:91
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "Hibernuj"
#: ../extensions/alternative-status-menu/extension.js:96
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Wyłącz komputer"
@@ -119,82 +136,6 @@ msgstr "Utwórz nową pasującą regułę"
msgid "Add"
msgstr "Dodaj"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Przeciągnięcie tutaj dodaje do ulubionych"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Nowe okno"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Zakończ program"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Usuń z ulubionych"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Dodaj do ulubionych"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Położenie doka"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Ustawia położenie doku na ekranie. Dozwolone wartości to \"right\" lub \"left"
"\""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Rozmiar ikon"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Ustawia rozmiar ikon doku."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Włączenie/wyłączenie automatycznego ukrywania"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Efekt automatycznego ukrywania"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Ustawia efekt ukrywania doku. Dozwolone wartości to \"resize\", \"rescale\" "
"i \"move\""
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Czas trwania automatycznego ukrywania"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Ustawia czas trwania efektu automatycznego ukrywania."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Monitor"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"Ustawia, na którym monitorze wyświetlać dok. Domyślna wartość (-1) oznacza "
"główny monitor."
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
@@ -239,26 +180,6 @@ msgstr ""
msgid "Message:"
msgstr "Wiadomość:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "Użytkownik %s jest nieobecny."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "Użytkownik %s jest w trybie offline."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "Użytkownik %s jest w trybie online."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "Użytkownik %s jest zajęty."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Użycie więcej miejsca dla okien"
@@ -313,11 +234,11 @@ msgstr "Uruchomienie \"%s\" się nie powiodło"
msgid "Home"
msgstr "Katalog domowy"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "System plików"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "Przeglądaj sieć"

245
po/ru.po
View File

@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-09-22 10:34+0000\n"
"PO-Revision-Date: 2012-09-27 17:23+0400\n"
"POT-Creation-Date: 2012-12-11 16:59+0000\n"
"PO-Revision-Date: 2012-12-17 09:16+0400\n"
"Last-Translator: Yuri Myasoedov <omerta13@yandex.ru>\n"
"Language-Team: русский <gnome-cyr@gnome.org>\n"
"Language: ru\n"
@@ -21,51 +21,54 @@ msgstr ""
"%10<=4 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
"X-Generator: Gtranslator 2.91.5\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The application icon mode."
msgstr "Режим значков приложения."
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
msgid "GNOME Classic"
msgstr "Традиционный GNOME"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"Устанавливает способ отображения окна при переключении. Возможные значения: "
"«thumbnail-only» (показывать миниатюру окна), «app-icon-only» (показывать "
"только значок приложения), или «both» (показывать миниатюру окна и значок "
"приложения)."
#: ../data/gnome-classic.desktop.in.h:2
msgid "This session logs you into GNOME Classic"
msgstr "Этот сеанс использует традиционный GNOME"
#: ../extensions/alternate-tab/prefs.js:26
#: ../data/gnome-shell-classic.desktop.in.in.h:1
msgid "GNOME Shell Classic"
msgstr "Традиционный GNOME Shell"
#: ../data/gnome-shell-classic.desktop.in.in.h:2
#| msgid "Thumbnail and application icon"
msgid "Window management and application launching"
msgstr "Управление окнами и запуск приложений"
#: ../extensions/alternate-tab/prefs.js:20
msgid "Thumbnail only"
msgstr "Только миниатюры"
#: ../extensions/alternate-tab/prefs.js:27
#: ../extensions/alternate-tab/prefs.js:21
msgid "Application icon only"
msgstr "Только значок приложения"
#: ../extensions/alternate-tab/prefs.js:28
#: ../extensions/alternate-tab/prefs.js:22
msgid "Thumbnail and application icon"
msgstr "Миниатюра и значок приложения"
#: ../extensions/alternate-tab/prefs.js:43
#: ../extensions/alternate-tab/prefs.js:37
msgid "Present windows as"
msgstr "Отображать окна как"
#: ../extensions/alternate-tab/prefs.js:68
#: ../extensions/alternate-tab/prefs.js:62
msgid "Show only windows in the current workspace"
msgstr "Отображать окна только текущей рабочей области"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "Ждущий режим"
#: ../extensions/alternative-status-menu/extension.js:73
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "Спящий режим"
#: ../extensions/alternative-status-menu/extension.js:78
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Выключить"
@@ -118,89 +121,18 @@ msgstr "Создать новое правило соответствия"
msgid "Add"
msgstr "Добавить"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Перетащите, чтобы добавить в избранное"
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Не удалось извлечь диск «%s»:"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Создать окно"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Закрыть приложение"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Удалить из избранного"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Добавить в избранное"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Расположение док-панели"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Устанавливает положение док-панели на экране. Возможные значения: «right» "
"или «left»"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Размер значков"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Устанавливает размер значка док-панели."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Включить/выключить автоскрытие"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Эффект автоскрытия"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Устанавливает эффект скрытия док-панели. Возможные значения: «resize», "
"«rescale» и «move»"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Таймер автоскрытия"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Устанавливает продолжительность эффекта автоскрытия."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Монитор"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"Устанавливает монитор для отображения док-панели. Значением по умолчанию "
"(-1) является основной монитор."
#: ../extensions/drive-menu/extension.js:56
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "Съёмные устройства"
#: ../extensions/drive-menu/extension.js:67
msgid "Open file manager"
msgstr "Открыть файловый менеджер"
#: ../extensions/drive-menu/extension.js:106
msgid "Open File"
msgstr "Открыть файл"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
@@ -233,26 +165,6 @@ msgstr ""
msgid "Message:"
msgstr "Сообщение:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "%s отошёл."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "%s не в сети."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "%s в сети."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "%s занят."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Использовать дополнительную площадь экрана для окон"
@@ -307,11 +219,11 @@ msgstr "Не удалось запустить «%s»"
msgid "Home"
msgstr "Домашняя папка"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "Файловая система"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "Обзор сети"
@@ -371,3 +283,88 @@ msgstr "Экран"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "Параметры экрана"
#~ msgid "The application icon mode."
#~ msgstr "Режим значков приложения."
#~ msgid ""
#~ "Configures how the windows are shown in the switcher. Valid possibilities "
#~ "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
#~ "only' (shows only the application icon) or 'both'."
#~ msgstr ""
#~ "Устанавливает способ отображения окна при переключении. Возможные "
#~ "значения: «thumbnail-only» (показывать миниатюру окна), «app-icon-"
#~ "only» (показывать только значок приложения), или «both» (показывать "
#~ "миниатюру окна и значок приложения)."
#~ msgid "Drag here to add favorites"
#~ msgstr "Перетащите, чтобы добавить в избранное"
#~ msgid "New Window"
#~ msgstr "Создать окно"
#~ msgid "Quit Application"
#~ msgstr "Закрыть приложение"
#~ msgid "Remove from Favorites"
#~ msgstr "Удалить из избранного"
#~ msgid "Add to Favorites"
#~ msgstr "Добавить в избранное"
#~ msgid "Position of the dock"
#~ msgstr "Расположение док-панели"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr ""
#~ "Устанавливает положение док-панели на экране. Возможные значения: «right» "
#~ "или «left»"
#~ msgid "Icon size"
#~ msgstr "Размер значков"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Устанавливает размер значка док-панели."
#~ msgid "Enable/disable autohide"
#~ msgstr "Включить/выключить автоскрытие"
#~ msgid "Autohide effect"
#~ msgstr "Эффект автоскрытия"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "Устанавливает эффект скрытия док-панели. Возможные значения: «resize», "
#~ "«rescale» и «move»"
#~ msgid "Autohide duration"
#~ msgstr "Таймер автоскрытия"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Устанавливает продолжительность эффекта автоскрытия."
#~ msgid "Monitor"
#~ msgstr "Монитор"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Устанавливает монитор для отображения док-панели. Значением по умолчанию "
#~ "(-1) является основной монитор."
#~ msgid "%s is away."
#~ msgstr "%s отошёл."
#~ msgid "%s is offline."
#~ msgstr "%s не в сети."
#~ msgid "%s is online."
#~ msgstr "%s в сети."
#~ msgid "%s is busy."
#~ msgstr "%s занят."

126
po/sk.po
View File

@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-10-27 19:36+0000\n"
"POT-Creation-Date: 2012-10-26 15:22+0000\n"
"PO-Revision-Date: 2012-11-04 21:46+0100\n"
"Last-Translator: Dušan Kazik <prescott66@gmail.com>\n"
"Language-Team: Slovak <gnome-sk-list@gnome.org>\n"
@@ -51,7 +51,7 @@ msgstr "Len ikona aplikácie"
msgid "Thumbnail and application icon"
msgstr "Miniatúra a ikona aplikácie"
#  Label
# Label
#: ../extensions/alternate-tab/prefs.js:43
msgid "Present windows as"
msgstr "Uvádzať okná ako"
@@ -63,17 +63,17 @@ msgstr "Zobraziť len okná z aktuálneho pracovného priestoru"
# PopupMenuItem
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:86
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "Uspať"
# PopupMenuItem
#: ../extensions/alternative-status-menu/extension.js:91
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "Hibernovať"
# PopupMenuItem
#: ../extensions/alternative-status-menu/extension.js:96
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Vypnúť"
@@ -137,87 +137,13 @@ msgstr "Vytvorenie nového odpovedajúceho pravidla"
msgid "Add"
msgstr "Pridať"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Pretiahnutím na toto miesto položku preidáte do obľúbených"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Nové okno"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Ukončiť aplikáciu"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Odstrániť z obľúbených"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Pridať do obľúbených"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Pozícia doku"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Nastaví pozíciu doku na obrazovke. Povolené hodnoty sú „right“ (vpravo) "
"alebo „left“ (vľavo)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Veľkosť ikony"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Nastaví veľkosť ikony v doku."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Povoliť/zakázať automatické skrývanie"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Efekt automatického skrývania"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Nastaví efekt skrývania doku. Povolené hodnoty sú „resize“ (zmena veľkosti) "
"alebo „rescale“ (zmena mierky)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Trvanie automatického skrývania"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Nastaví dĺžku trvania efektu automatického skrývania."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Monitor"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr "Nastaví monitor, v ktorom sa má zobraziť dok. Predvolená hodnota (-1) je hlavný monitor."
# https://bugzilla.gnome.org/show_bug.cgi?id=687590
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Zlyhalo vysúvanie jednotky „%s“:"
#  Menu
# Menu
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "Vymeniteľné zariadenia"
@@ -246,42 +172,24 @@ msgid ""
"panel."
msgstr "Obsahuje text, ktorý bude zobrazený po kliknutí na panel."
# PM: podľa mňa chýba preklad druhej časti prvej vety
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: ../extensions/example/prefs.js:30
#, fuzzy
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"Rozšírenie Example vám má ukázať, ako sa dajú zostaviť dobre vyzerajúce a "
"jednoduché rozšírenia pre Shell.\n"
"Rozšírenie Example vám má ukázať, ako sa dajú zostaviť dobre vyzerajúce a jednoduché rozšírenia "
"pre Shell.\n"
"Napriek tomu je možné prispôsobiť správu privítania."
#: ../extensions/example/prefs.js:36
msgid "Message:"
msgstr "Správa:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "Kontakt %s je neprítomný."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "Kontakt %s je odpojený."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "Kontakt %s je pripojený."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "Kontakt %s je zaneprázdnený."
# summary
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
@@ -314,22 +222,22 @@ msgstr ""
"miniatúry. Prepíše sa tým predvolené nastavenie shellu, ktorý ho umiestňuje "
"nadol. Aby sa prejavila zmena, je potrebné reštartovať shell."
#  menu item
# menu item
#: ../extensions/places-menu/extension.js:46
msgid "Places"
msgstr "Miesta"
#  menu item
# menu item
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "Zariadenia"
#  menu item
# menu item
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "Záložky"
#  menu item
# menu item
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "Sieť"
@@ -344,11 +252,11 @@ msgstr "Zlyhalo spustenie „%s“"
msgid "Home"
msgstr "Domov"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:191
msgid "File System"
msgstr "Súborový systém"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:195
msgid "Browse network"
msgstr "Prehliadať sieť"
@@ -414,7 +322,7 @@ msgid "Upside-down"
msgstr "Hore nohami"
# PM: V tomto prípade by asi viac hodilo obrazovka
#  menu
# menu
#: ../extensions/xrandr-indicator/extension.js:50
msgid "Display"
msgstr "Displej"

250
po/sl.po
View File

@@ -7,27 +7,51 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-10-08 17:42+0000\n"
"PO-Revision-Date: 2012-10-08 21:14+0100\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-12-06 21:35+0000\n"
"PO-Revision-Date: 2012-12-10 21:43+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: \n"
"Language: sl_SI\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n%100==4 ? 3 : 0);\n"
"X-Poedit-Language: Slovenian\n"
"X-Poedit-Country: SLOVENIA\n"
"Plural-Forms: nplurals=4; plural=(n%100==1 ? 1 : n%100==2 ? 2 : n%100==3 || n"
"%100==4 ? 3 : 0);\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Poedit 1.5.4\n"
#: ../data/gnome-classic.desktop.in.h:1
#: ../data/gnome-classic.session.desktop.in.in.h:1
msgid "GNOME Classic"
msgstr "Običajno namizje GNOME"
#: ../data/gnome-classic.desktop.in.h:2
msgid "This session logs you into GNOME Classic"
msgstr "Seja omogoča prijavo v običajno namizje GNOME."
#: ../data/gnome-shell-classic.desktop.in.in.h:1
msgid "GNOME Shell Classic"
msgstr "Običajna lupina GNOME"
#: ../data/gnome-shell-classic.desktop.in.in.h:2
msgid "Window management and application launching"
msgstr "Upravljanje oken in zaganjanje programov"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The application icon mode."
msgstr "Ikonski način programa."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "Configures how the windows are shown in the switcher. Valid possibilities are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-only' (shows only the application icon) or 'both'."
msgstr "Nastavitev prikaza oken v preklopniku. Veljavne možnosti so 'le sličice', kar pokaže pomanjšano sličico okna, 'le ikono programa', kar pokaže ikono in možnost 'oboje', torej ikono in pomanjšano sličico."
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"Nastavitev prikaza oken v preklopniku. Veljavne možnosti so 'le sličice', "
"kar pokaže pomanjšano sličico okna, 'le ikono programa', kar pokaže ikono in "
"možnost 'oboje', torej ikono in pomanjšano sličico."
#: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only"
@@ -50,15 +74,15 @@ msgid "Show only windows in the current workspace"
msgstr "Pokaži le okna trenutne delovne površine"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:86
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "V pripravljenost"
#: ../extensions/alternative-status-menu/extension.js:91
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "V mirovanje"
#: ../extensions/alternative-status-menu/extension.js:96
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Izklopi"
@@ -83,8 +107,12 @@ msgid "Application and workspace list"
msgstr "Seznam programov in delovnih površin"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number"
msgstr "Seznam nizov z določilom ID programa (namizno ime programa), ki mu sledi dvopičje in nato številka delovne površine."
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Seznam nizov z določilom ID programa (namizno ime programa), ki mu sledi "
"dvopičje in nato številka delovne površine."
#: ../extensions/auto-move-windows/prefs.js:55
msgid "Application"
@@ -107,70 +135,6 @@ msgstr "Ustvari novo pravilo skladanja"
msgid "Add"
msgstr "Dodaj"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Potegnite sem, za dodajanje med priljubljene"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Novo okno"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Končaj program"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Odstrani iz priljubljenih"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Dodaj med priljubljene"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Postavitev sidrišča"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Sets the position of the dock in the screen. Allowed values are 'right' or 'left'"
msgstr "Določi položaj sidrišča na zaslonu. Dovoljeni vrednosti sta 'desno' ali 'levo'."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Velikost ikone"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Določi velikost ikon sidrišča."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Omogoči/Onemogoči samodejno skrivanje"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Učinek samodejnega skrivanja"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and 'move'"
msgstr "Določi učinek skrivanja sidrišča. Dovoljeni vrednosti sta 'spremeni velikost', 'prilagodi velikost' ali 'premakni'."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Trajanje samodejnega skrivanja"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Določi trajanje učinka samodejnega skrivanja."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Zaslon"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid "Sets monitor to display dock in. The default value (-1) is the primary monitor."
msgstr "Nastavi zaslon za prikaz sidrišča. Privzeta vrednost (-1) določa osnovni zaslon."
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
@@ -193,58 +157,56 @@ msgid "Alternative greeting text."
msgstr "Nadomestno pozdravno besedilo."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
msgid "If not empty, it contains the text that will be shown when clicking on the panel."
msgstr "V kolikor vrednost ni prazna, vsebuje besedilo, ki bo prikazano ob kliku na pladenj."
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"V kolikor vrednost ni prazna, vsebuje besedilo, ki bo prikazano ob kliku na "
"pladenj."
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: ../extensions/example/prefs.js:30
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and as such it has little functionality on its own.\n"
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"Primer je oblikovan kot predloga za izgradnjo kakovostnih razširitev za lupino, zato je delovanje deloma posebno.\n"
"Primer je oblikovan kot predloga za izgradnjo kakovostnih razširitev za "
"lupino, zato je delovanje deloma posebno.\n"
"Kljub vsemu je mogoče prilagajati pozdravno sporočilo."
#: ../extensions/example/prefs.js:36
msgid "Message:"
msgstr "Sporočilo:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "%s ni prisoten."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "%s ni povezan."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "%s je na zvezi."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "%s je zaseden."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Uporabi več zaslona za okna"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating them further to reduce the bounding box. This setting applies only with the natural placement strategy."
msgstr "Poskusi uporabiti več zaslona za postavitev sličic oken s prilagajanjem razmerja velikosti zaslona in prilagajanjem postavitve okvirja. Nastavitev je mogoče uporabiti le z naravnim načinom postavitve okna."
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Poskusi uporabiti več zaslona za postavitev sličic oken s prilagajanjem "
"razmerja velikosti zaslona in prilagajanjem postavitve okvirja. Nastavitev "
"je mogoče uporabiti le z naravnim načinom postavitve okna."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top"
msgstr "Postavi nazive oken na vrh"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "If true, place window captions on top the respective thumbnail, overriding shell default of placing it at the bottom. Changing this setting requires restarting the shell to have any effect."
msgstr "Izbrana možnost določi postavitev nazivov oken na vrh posamezne sličice in s tem prepiše privzeti izpis pod sličico. Za uveljavitev sprememb je treba lupino ponovno zagnati."
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Izbrana možnost določi postavitev nazivov oken na vrh posamezne sličice in s "
"tem prepiše privzeti izpis pod sličico. Za uveljavitev sprememb je treba "
"lupino ponovno zagnati."
#: ../extensions/places-menu/extension.js:46
msgid "Places"
@@ -271,11 +233,11 @@ msgstr "Zaganjanje \"%s\" je spodletelo."
msgid "Home"
msgstr "Osebna mapa"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "Datotečni sistem"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "Brskanje omrežja"
@@ -336,6 +298,78 @@ msgstr "Zaslon"
msgid "Display Settings"
msgstr "Nastavitve zaslona"
#~ msgid "Drag here to add favorites"
#~ msgstr "Potegnite sem, za dodajanje med priljubljene"
#~ msgid "New Window"
#~ msgstr "Novo okno"
#~ msgid "Quit Application"
#~ msgstr "Končaj program"
#~ msgid "Remove from Favorites"
#~ msgstr "Odstrani iz priljubljenih"
#~ msgid "Add to Favorites"
#~ msgstr "Dodaj med priljubljene"
#~ msgid "Position of the dock"
#~ msgstr "Postavitev sidrišča"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr ""
#~ "Določi položaj sidrišča na zaslonu. Dovoljeni vrednosti sta 'desno' ali "
#~ "'levo'."
#~ msgid "Icon size"
#~ msgstr "Velikost ikone"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Določi velikost ikon sidrišča."
#~ msgid "Enable/disable autohide"
#~ msgstr "Omogoči/Onemogoči samodejno skrivanje"
#~ msgid "Autohide effect"
#~ msgstr "Učinek samodejnega skrivanja"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "Določi učinek skrivanja sidrišča. Dovoljeni vrednosti sta 'spremeni "
#~ "velikost', 'prilagodi velikost' ali 'premakni'."
#~ msgid "Autohide duration"
#~ msgstr "Trajanje samodejnega skrivanja"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Določi trajanje učinka samodejnega skrivanja."
#~ msgid "Monitor"
#~ msgstr "Zaslon"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Nastavi zaslon za prikaz sidrišča. Privzeta vrednost (-1) določa osnovni "
#~ "zaslon."
#~ msgid "%s is away."
#~ msgstr "%s ni prisoten."
#~ msgid "%s is offline."
#~ msgstr "%s ni povezan."
#~ msgid "%s is online."
#~ msgstr "%s je na zvezi."
#~ msgid "%s is busy."
#~ msgstr "%s je zaseden."
#~ msgid "Removable Devices"
#~ msgstr "Odstranljive naprave"

186
po/sr.po
View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-10-16 14:51+0000\n"
"PO-Revision-Date: 2012-10-27 21:33+0200\n"
"POT-Creation-Date: 2012-11-07 16:43+0000\n"
"PO-Revision-Date: 2012-11-09 11:53+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
@@ -55,15 +55,15 @@ msgid "Show only windows in the current workspace"
msgstr "Приказује само прозоре у текућем радном простору"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:86
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "Обустави"
#: ../extensions/alternative-status-menu/extension.js:91
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "Замрзни"
#: ../extensions/alternative-status-menu/extension.js:96
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Угаси"
@@ -116,87 +116,10 @@ msgstr "Додајте ново правило за поклапање"
msgid "Add"
msgstr "Додај"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Превуците овде да додате међу омиљене"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Нови прозор"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Напусти програм"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Уклони из омиљених"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Додај у омиљене"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Положај луке"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Подешава место где се налази површ са иконицама. Дозвољене су вредности "
"„right“ (десно) и „left“ (лево)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Величина иконице"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Одређује величину иконице у луци."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Самостално скривање"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Дејство самоскривања"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Одређује дејство које се приказује приликом скривања површи са иконицама. "
"Дозвољене вредности су: „resize“ (промени величину), „rescale“ (промени "
"величину уз задржавање размере) и „move“ (премести)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Трајање самоскривања"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Одређује дужину трајања дејства самоскривања."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Монитор"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"Подешава који монитор ће да прикаже луку. Основна вредност (-1) јесте "
"примарни монитор."
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Избацивање уређаја „%s“ није успело:"
msgstr "Нисам успео да избацим уређај „%s“:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
@@ -238,26 +161,6 @@ msgstr ""
msgid "Message:"
msgstr "Порука:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "„%s“ је одсутан."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "„%s“ је ван мреже."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "„%s“ је на мрежи."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "„%s“ је заузет."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Користи више простора за прозор"
@@ -311,11 +214,11 @@ msgstr "Нисам успео да покренем „%s“"
msgid "Home"
msgstr "Личнo"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:191
msgid "File System"
msgstr "Систем датотека"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:195
msgid "Browse network"
msgstr "Разгледајте мрежу"
@@ -376,6 +279,79 @@ msgstr "Екран"
msgid "Display Settings"
msgstr "Подешавања екрана"
#~ msgid "Drag here to add favorites"
#~ msgstr "Превуците овде да додате међу омиљене"
#~ msgid "New Window"
#~ msgstr "Нови прозор"
#~ msgid "Quit Application"
#~ msgstr "Напусти програм"
#~ msgid "Remove from Favorites"
#~ msgstr "Уклони из омиљених"
#~ msgid "Add to Favorites"
#~ msgstr "Додај у омиљене"
#~ msgid "Position of the dock"
#~ msgstr "Положај луке"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr ""
#~ "Подешава место где се налази површ са иконицама. Дозвољене су вредности "
#~ "„right“ (десно) и „left“ (лево)"
#~ msgid "Icon size"
#~ msgstr "Величина иконице"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Одређује величину иконице у луци."
#~ msgid "Enable/disable autohide"
#~ msgstr "Самостално скривање"
#~ msgid "Autohide effect"
#~ msgstr "Дејство самоскривања"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "Одређује дејство које се приказује приликом скривања површи са иконицама. "
#~ "Дозвољене вредности су: „resize“ (промени величину), „rescale“ (промени "
#~ "величину уз задржавање размере) и „move“ (премести)"
#~ msgid "Autohide duration"
#~ msgstr "Трајање самоскривања"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Одређује дужину трајања дејства самоскривања."
#~ msgid "Monitor"
#~ msgstr "Монитор"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Подешава који монитор ће да прикаже луку. Основна вредност (-1) јесте "
#~ "примарни монитор."
#~ msgid "%s is away."
#~ msgstr "„%s“ је одсутан."
#~ msgid "%s is offline."
#~ msgstr "„%s“ је ван мреже."
#~ msgid "%s is online."
#~ msgstr "„%s“ је на мрежи."
#~ msgid "%s is busy."
#~ msgstr "„%s“ је заузет."
#~ msgid "The alt tab behaviour."
#~ msgstr "Понашање тастера „алт-таб“."

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-10-16 14:51+0000\n"
"PO-Revision-Date: 2012-10-27 21:33+0200\n"
"POT-Creation-Date: 2012-11-07 16:43+0000\n"
"PO-Revision-Date: 2012-11-09 11:53+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
@@ -55,15 +55,15 @@ msgid "Show only windows in the current workspace"
msgstr "Prikazuje samo prozore u tekućem radnom prostoru"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:86
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "Obustavi"
#: ../extensions/alternative-status-menu/extension.js:91
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "Zamrzni"
#: ../extensions/alternative-status-menu/extension.js:96
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "Ugasi"
@@ -116,87 +116,10 @@ msgstr "Dodajte novo pravilo za poklapanje"
msgid "Add"
msgstr "Dodaj"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Prevucite ovde da dodate među omiljene"
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Novi prozor"
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Napusti program"
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Ukloni iz omiljenih"
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Dodaj u omiljene"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Položaj luke"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Podešava mesto gde se nalazi površ sa ikonicama. Dozvoljene su vrednosti "
"„right“ (desno) i „left“ (levo)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
msgstr "Veličina ikonice"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Određuje veličinu ikonice u luci."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
msgstr "Samostalno skrivanje"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Dejstvo samoskrivanja"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Određuje dejstvo koje se prikazuje prilikom skrivanja površi sa ikonicama. "
"Dozvoljene vrednosti su: „resize“ (promeni veličinu), „rescale“ (promeni "
"veličinu uz zadržavanje razmere) i „move“ (premesti)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
msgstr "Trajanje samoskrivanja"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Određuje dužinu trajanja dejstva samoskrivanja."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Monitor"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"Podešava koji monitor će da prikaže luku. Osnovna vrednost (-1) jeste "
"primarni monitor."
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Izbacivanje uređaja „%s“ nije uspelo:"
msgstr "Nisam uspeo da izbacim uređaj „%s“:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
@@ -238,26 +161,6 @@ msgstr ""
msgid "Message:"
msgstr "Poruka:"
#: ../extensions/gajim/extension.js:226
#, c-format
msgid "%s is away."
msgstr "„%s“ je odsutan."
#: ../extensions/gajim/extension.js:229
#, c-format
msgid "%s is offline."
msgstr "„%s“ je van mreže."
#: ../extensions/gajim/extension.js:232
#, c-format
msgid "%s is online."
msgstr "„%s“ je na mreži."
#: ../extensions/gajim/extension.js:235
#, c-format
msgid "%s is busy."
msgstr "„%s“ je zauzet."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
msgstr "Koristi više prostora za prozor"
@@ -311,11 +214,11 @@ msgstr "Nisam uspeo da pokrenem „%s“"
msgid "Home"
msgstr "Lično"
#: ../extensions/places-menu/placeDisplay.js:184
#: ../extensions/places-menu/placeDisplay.js:191
msgid "File System"
msgstr "Sistem datoteka"
#: ../extensions/places-menu/placeDisplay.js:188
#: ../extensions/places-menu/placeDisplay.js:195
msgid "Browse network"
msgstr "Razgledajte mrežu"
@@ -376,6 +279,79 @@ msgstr "Ekran"
msgid "Display Settings"
msgstr "Podešavanja ekrana"
#~ msgid "Drag here to add favorites"
#~ msgstr "Prevucite ovde da dodate među omiljene"
#~ msgid "New Window"
#~ msgstr "Novi prozor"
#~ msgid "Quit Application"
#~ msgstr "Napusti program"
#~ msgid "Remove from Favorites"
#~ msgstr "Ukloni iz omiljenih"
#~ msgid "Add to Favorites"
#~ msgstr "Dodaj u omiljene"
#~ msgid "Position of the dock"
#~ msgstr "Položaj luke"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr ""
#~ "Podešava mesto gde se nalazi površ sa ikonicama. Dozvoljene su vrednosti "
#~ "„right“ (desno) i „left“ (levo)"
#~ msgid "Icon size"
#~ msgstr "Veličina ikonice"
#~ msgid "Sets icon size of the dock."
#~ msgstr "Određuje veličinu ikonice u luci."
#~ msgid "Enable/disable autohide"
#~ msgstr "Samostalno skrivanje"
#~ msgid "Autohide effect"
#~ msgstr "Dejstvo samoskrivanja"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr ""
#~ "Određuje dejstvo koje se prikazuje prilikom skrivanja površi sa ikonicama. "
#~ "Dozvoljene vrednosti su: „resize“ (promeni veličinu), „rescale“ (promeni "
#~ "veličinu uz zadržavanje razmere) i „move“ (premesti)"
#~ msgid "Autohide duration"
#~ msgstr "Trajanje samoskrivanja"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "Određuje dužinu trajanja dejstva samoskrivanja."
#~ msgid "Monitor"
#~ msgstr "Monitor"
#~ msgid ""
#~ "Sets monitor to display dock in. The default value (-1) is the primary "
#~ "monitor."
#~ msgstr ""
#~ "Podešava koji monitor će da prikaže luku. Osnovna vrednost (-1) jeste "
#~ "primarni monitor."
#~ msgid "%s is away."
#~ msgstr "„%s“ je odsutan."
#~ msgid "%s is offline."
#~ msgstr "„%s“ je van mreže."
#~ msgid "%s is online."
#~ msgstr "„%s“ je na mreži."
#~ msgid "%s is busy."
#~ msgstr "„%s“ je zauzet."
#~ msgid "The alt tab behaviour."
#~ msgstr "Ponašanje tastera „alt-tab“."

View File

@@ -6,9 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-09 20:12+0800\n"
"PO-Revision-Date: 2012-03-09 20:13+0800\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-11-16 19:30+0000\n"
"PO-Revision-Date: 2012-11-21 14:40+0800\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
"Language-Team: Chinese (Hong Kong) <community@linuxhall.org>\n"
"Language: \n"
@@ -17,74 +18,75 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid ""
"Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
"workspace_icons. See the configuration dialogs for details."
msgstr "設定 Alt-Tab 行為。可用的值為all_thumbnails、workspace_icons。請見組態對話盒瞭解詳細資訊。"
msgid "The application icon mode."
msgstr "應用程式圖示模式。"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "The alt tab behaviour."
msgstr "alt tab 按鍵行為。"
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr "設定視窗在切換器中顯示的方式。有效的選項為「thumbnail-only」(顯示視窗的縮圖)、「app-icon-only」(僅顯示應用程式圖示)或「both」(兩者)"
#: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only"
msgstr "僅縮圖"
#: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails"
msgstr "全部與縮圖"
msgid "Application icon only"
msgstr "僅應用程式圖示"
#: ../extensions/alternate-tab/prefs.js:28
msgid ""
"This mode presents all applications from all workspaces in one selection "
"list. Instead of using the application icon of every window, it uses small "
"thumbnails resembling the window itself."
msgstr "這個模式會將所有工作區的應用程式呈現於一個選取清單中。它使用小縮圖來象徵視窗本身,而不是使用應用程式圖示來代表每個視窗。"
msgid "Thumbnail and application icon"
msgstr "縮圖與應用程式圖示"
#: ../extensions/alternate-tab/prefs.js:34
msgid "Workspace & Icons"
msgstr "工作區與圖示"
#: ../extensions/alternate-tab/prefs.js:43
msgid "Present windows as"
msgstr "視窗呈現方式"
#: ../extensions/alternate-tab/prefs.js:35
msgid ""
"This mode let's you switch between the applications of your current "
"workspace and gives you additionally the option to switch to the last used "
"application of your previous workspace. This is always the last symbol in "
"the list and is segregated by a separator/vertical line if available. \n"
"Every window is represented by its application icon."
msgstr ""
"這個模式讓你在你目前工作區中的應用程式之間切換,而且給你額外的選項來切換至上個工作區中你上次使用的應用程式;它總會是清單中的最後一個圖像,而且可能的話會用分隔符/垂直線隔離開來。\n"
"每個視窗會以其應用程式圖示呈現。"
#: ../extensions/alternate-tab/prefs.js:41
msgid "Move current selection to front before closing the popup"
msgstr "在關閉彈出視窗之前,移動目前選取的項目至前方"
#: ../extensions/alternate-tab/prefs.js:58
msgid ""
"The Alternate Tab can be used in different modes, that affect the way "
"windows are chosen and presented."
msgstr "Alternate Tab 可以使用不同的模式,會影響到選擇與呈現視窗的方式。"
#: ../extensions/alternate-tab/prefs.js:68
msgid "Show only windows in the current workspace"
msgstr "僅顯示目前工作區中的視窗"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:64
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "暫停"
#: ../extensions/alternative-status-menu/extension.js:69
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "休眠"
#: ../extensions/alternative-status-menu/extension.js:74
msgid "Power Off..."
msgstr "關閉電源..."
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "關閉電源"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending"
msgstr "啟用暫停"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:2
msgid "Control the visibility of the Suspend menu item"
msgstr "控制暫停選單項目的可見性"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:3
msgid "Enable hibernating"
msgstr "啟用休眠"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:4
msgid "Control the visibility of the Hibernate menu item"
msgstr "控制休眠選單項目的可見性"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
msgid "Application and workspace list"
msgstr "應用程式與工作區清單"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr "字串的清單,每個都包含一個應用程式 id (桌面檔名稱),後面接着半形分號 \";\" 與工作區號碼"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "Application and workspace list"
msgstr "應用程式與工作區清單"
#: ../extensions/auto-move-windows/prefs.js:55
msgid "Application"
msgstr "應用程式"
@@ -106,69 +108,18 @@ msgstr "建立新的比對規則"
msgid "Add"
msgstr "加入"
#: ../extensions/dock/extension.js:489
msgid "Drag here to add favorites"
msgstr "拖曳至此處以加入喜好"
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "裝置「%s」退出失敗"
#: ../extensions/dock/extension.js:815
msgid "New Window"
msgstr "新視窗"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "可移除式裝置"
#: ../extensions/dock/extension.js:817
msgid "Quit Application"
msgstr "退出應用程式"
#: ../extensions/dock/extension.js:822
msgid "Remove from Favorites"
msgstr "自喜好移除"
#: ../extensions/dock/extension.js:823
msgid "Add to Favorites"
msgstr "加入喜好"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Autohide duration"
msgstr "自動隱藏時間"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Autohide effect"
msgstr "自動隱藏效果"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Enable/disable autohide"
msgstr "啟用/停用自動隱藏"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Icon size"
msgstr "圖示大小"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Position of the dock"
msgstr "Dock 的位置"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Sets icon size of the dock."
msgstr "設定 Dock 的圖示大小。"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr "設定隱藏 Dock 的效果。可用的值為「resize」、「rescale」、「move」"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr "設定 Dock 在螢幕的位置。可用的值為「right」(右) 或「left」(左)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "設定自動隱藏效果的時間長度。"
#: ../extensions/drive-menu/extension.js:66
msgid "Open file manager"
msgstr "開啟檔案管理員"
#: ../extensions/drive-menu/extension.js:106
msgid "Open File"
msgstr "開啟檔案"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
@@ -199,60 +150,77 @@ msgstr ""
msgid "Message:"
msgstr "訊息:"
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
msgstr "%s 已離開。"
#: ../extensions/gajim/extension.js:230
#, c-format
msgid "%s is offline."
msgstr "%s 現在離線。"
#: ../extensions/gajim/extension.js:233
#, c-format
msgid "%s is online."
msgstr "%s 現在上線。"
#: ../extensions/gajim/extension.js:236
#, c-format
msgid "%s is busy."
msgstr "%s 正忙碌。"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr "如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設值。更改這個設定值需要重新啟動 Shell 來套用效果。"
msgid "Use more screen for windows"
msgstr "視窗使用更多螢幕空間"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Place window captions on top"
msgstr "在頂端放置視窗說明標題"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr "藉由適應螢幕長寬比來嘗試使用更多螢幕空間放置視窗縮圖,進一步聯合它們來減少邊界盒。這個設定僅適用於自然放置策略。"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "Use more screen for windows"
msgstr "視窗使用更多螢幕空間"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top"
msgstr "在頂端放置視窗說明標題"
#: ../extensions/places-menu/extension.js:37
msgid "Removable Devices"
msgstr "可移除式裝置"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr "如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設值。更改這個設定值需要重新啟動 Shell 來套用效果。"
#: ../extensions/places-menu/extension.js:46
msgid "Places"
msgstr "位置"
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "裝置"
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "書籤"
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "網絡"
#: ../extensions/places-menu/placeDisplay.js:48
#, c-format
msgid "Failed to launch \"%s\""
msgstr "無法啟動「%s」"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "家目錄"
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "檔案系統"
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "瀏覽網絡"
#: ../extensions/systemMonitor/extension.js:213
msgid "CPU"
msgstr "CPU"
#: ../extensions/systemMonitor/extension.js:266
msgid "Memory"
msgstr "記憶體"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "Theme name"
msgstr "主題名稱"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
#: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "工作區指示器"
@@ -286,9 +254,116 @@ msgstr "右"
msgid "Upside-down"
msgstr "上下顛倒"
#: ../extensions/xrandr-indicator/extension.js:82
msgid "Configure display settings..."
msgstr "設定顯示器設定值..."
#: ../extensions/xrandr-indicator/extension.js:50
msgid "Display"
msgstr "顯示"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "顯示設定值"
#~ msgid ""
#~ "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
#~ "workspace_icons. See the configuration dialogs for details."
#~ msgstr ""
#~ "設定 Alt-Tab 行為。可用的值為all_thumbnails、workspace_icons。請見組態對"
#~ "話盒瞭解詳細資訊。"
#~ msgid "The alt tab behaviour."
#~ msgstr "alt tab 按鍵行為。"
#~ msgid ""
#~ "This mode presents all applications from all workspaces in one selection "
#~ "list. Instead of using the application icon of every window, it uses "
#~ "small thumbnails resembling the window itself."
#~ msgstr ""
#~ "這個模式會將所有工作區的應用程式呈現於一個選取清單中。它使用小縮圖來象徵視"
#~ "窗本身,而不是使用應用程式圖示來代表每個視窗。"
#~ msgid "Workspace & Icons"
#~ msgstr "工作區與圖示"
#~ msgid ""
#~ "This mode let's you switch between the applications of your current "
#~ "workspace and gives you additionally the option to switch to the last "
#~ "used application of your previous workspace. This is always the last "
#~ "symbol in the list and is segregated by a separator/vertical line if "
#~ "available. \n"
#~ "Every window is represented by its application icon."
#~ msgstr ""
#~ "這個模式讓您在您目前工作區中的應用程式之間切換,而且給您額外的選項來切換至"
#~ "上個工作區中您上次使用的應用程式;它總會是清單中的最後一個圖像,而且可能的"
#~ "話會用分隔符/垂直線隔離開來。\n"
#~ "每個視窗會以其應用程式圖示呈現。"
#~ msgid "Move current selection to front before closing the popup"
#~ msgstr "在關閉彈出視窗之前,移動目前選取的項目至前方"
#~ msgid ""
#~ "The Alternate Tab can be used in different modes, that affect the way "
#~ "windows are chosen and presented."
#~ msgstr "Alternate Tab 可以使用不同的模式,會影響到選擇與呈現視窗的方式。"
#~ msgid "Drag here to add favorites"
#~ msgstr "拖曳至此處以加入喜好"
#~ msgid "New Window"
#~ msgstr "新視窗"
#~ msgid "Quit Application"
#~ msgstr "退出應用程式"
#~ msgid "Remove from Favorites"
#~ msgstr "自喜好移除"
#~ msgid "Add to Favorites"
#~ msgstr "加入喜好"
#~ msgid "Autohide duration"
#~ msgstr "自動隱藏時間"
#~ msgid "Autohide effect"
#~ msgstr "自動隱藏效果"
#~ msgid "Enable/disable autohide"
#~ msgstr "啟用/停用自動隱藏"
#~ msgid "Icon size"
#~ msgstr "圖示大小"
#~ msgid "Position of the dock"
#~ msgstr "Dock 的位置"
#~ msgid "Sets icon size of the dock."
#~ msgstr "設定 Dock 的圖示大小。"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr "設定隱藏 Dock 的效果。可用的值為「resize」、「rescale」、「move」"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr "設定 Dock 在螢幕的位置。可用的值為「right」(右) 或「left」(左)"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "設定自動隱藏效果的時間長度。"
#~ msgid "%s is away."
#~ msgstr "%s 已離開。"
#~ msgid "%s is offline."
#~ msgstr "%s 現在離線。"
#~ msgid "%s is online."
#~ msgstr "%s 現在上線。"
#~ msgid "%s is busy."
#~ msgstr "%s 正忙碌。"
#~ msgid "Configure display settings..."
#~ msgstr "設定顯示器設定值..."
#~ msgid "Notifications"
#~ msgstr "通知"
@@ -296,9 +371,6 @@ msgstr "設定顯示器設定值..."
#~ msgid "Online Accounts"
#~ msgstr "線上帳號"
#~ msgid "System Settings"
#~ msgstr "系統設定值"
#~ msgid "Lock Screen"
#~ msgstr "鎖定畫面"

View File

@@ -6,9 +6,10 @@
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-03-09 20:12+0800\n"
"PO-Revision-Date: 2012-03-08 03:27+0800\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-11-16 19:30+0000\n"
"PO-Revision-Date: 2012-11-19 22:02+0800\n"
"Last-Translator: Cheng-Chia Tseng <pswo10680@gmail.com>\n"
"Language-Team: Chinese (Taiwan) <chinese-l10n@googlegroups.com>\n"
"Language: \n"
@@ -17,71 +18,72 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid ""
"Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
"workspace_icons. See the configuration dialogs for details."
msgstr ""
"設定 Alt-Tab 行為。可用的值為all_thumbnails、workspace_icons。請見組態對話"
"盒瞭解詳細資訊。"
msgid "The application icon mode."
msgstr "應用程式圖示模式。"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "The alt tab behaviour."
msgstr "alt tab 按鍵行為。"
msgid ""
"Configures how the windows are shown in the switcher. Valid possibilities "
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr ""
"設定視窗在切換器中顯示的方式。有效的選項為「thumbnail-only」(顯示視窗的縮"
"圖)、「app-icon-only」(僅顯示應用程式圖示)或「both」(兩者)"
#: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only"
msgstr "僅縮圖"
#: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails"
msgstr "全部與縮圖"
msgid "Application icon only"
msgstr "僅應用程式圖示"
#: ../extensions/alternate-tab/prefs.js:28
msgid ""
"This mode presents all applications from all workspaces in one selection "
"list. Instead of using the application icon of every window, it uses small "
"thumbnails resembling the window itself."
msgstr ""
"這個模式會將所有工作區的應用程式呈現於一個選取清單中。它使用小縮圖來象徵視窗"
"本身,而不是使用應用程式圖示來代表每個視窗。"
msgid "Thumbnail and application icon"
msgstr "縮圖與應用程式圖示"
#: ../extensions/alternate-tab/prefs.js:34
msgid "Workspace & Icons"
msgstr "工作區與圖示"
#: ../extensions/alternate-tab/prefs.js:43
msgid "Present windows as"
msgstr "視窗呈現方式"
#: ../extensions/alternate-tab/prefs.js:35
msgid ""
"This mode let's you switch between the applications of your current "
"workspace and gives you additionally the option to switch to the last used "
"application of your previous workspace. This is always the last symbol in "
"the list and is segregated by a separator/vertical line if available. \n"
"Every window is represented by its application icon."
msgstr ""
"這個模式讓您在您目前工作區中的應用程式之間切換,而且給您額外的選項來切換至上"
"個工作區中您上次使用的應用程式;它總會是清單中的最後一個圖像,而且可能的話會"
"用分隔符/垂直線隔離開來。\n"
"每個視窗會以其應用程式圖示呈現。"
#: ../extensions/alternate-tab/prefs.js:41
msgid "Move current selection to front before closing the popup"
msgstr "在關閉彈出視窗之前,移動目前選取的項目至前方"
#: ../extensions/alternate-tab/prefs.js:58
msgid ""
"The Alternate Tab can be used in different modes, that affect the way "
"windows are chosen and presented."
msgstr "Alternate Tab 可以使用不同的模式,會影響到選擇與呈現視窗的方式。"
#: ../extensions/alternate-tab/prefs.js:68
msgid "Show only windows in the current workspace"
msgstr "僅顯示目前工作區中的視窗"
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:64
#: ../extensions/alternative-status-menu/extension.js:144
msgid "Suspend"
msgstr "暫停"
#: ../extensions/alternative-status-menu/extension.js:69
#: ../extensions/alternative-status-menu/extension.js:147
msgid "Hibernate"
msgstr "休眠"
#: ../extensions/alternative-status-menu/extension.js:74
msgid "Power Off..."
msgstr "關閉電源..."
#: ../extensions/alternative-status-menu/extension.js:150
msgid "Power Off"
msgstr "關閉電源"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending"
msgstr "啟用暫停"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:2
msgid "Control the visibility of the Suspend menu item"
msgstr "控制暫停選單項目的可見性"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:3
msgid "Enable hibernating"
msgstr "啟用休眠"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:4
msgid "Control the visibility of the Hibernate menu item"
msgstr "控制休眠選單項目的可見性"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
msgid "Application and workspace list"
msgstr "應用程式與工作區清單"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
@@ -89,10 +91,6 @@ msgstr ""
"字串的清單,每個都包含一個應用程式 id (桌面檔名稱),後面接著半形分號 \";\" 與"
"工作區號碼"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "Application and workspace list"
msgstr "應用程式與工作區清單"
#: ../extensions/auto-move-windows/prefs.js:55
msgid "Application"
msgstr "應用程式"
@@ -114,69 +112,18 @@ msgstr "建立新的比對規則"
msgid "Add"
msgstr "加入"
#: ../extensions/dock/extension.js:489
msgid "Drag here to add favorites"
msgstr "拖曳至此處以加入喜好"
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "裝置「%s」退出失敗"
#: ../extensions/dock/extension.js:815
msgid "New Window"
msgstr "新視窗"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices"
msgstr "可移除式裝置"
#: ../extensions/dock/extension.js:817
msgid "Quit Application"
msgstr "退出應用程式"
#: ../extensions/dock/extension.js:822
msgid "Remove from Favorites"
msgstr "自喜好移除"
#: ../extensions/dock/extension.js:823
msgid "Add to Favorites"
msgstr "加入喜好"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Autohide duration"
msgstr "自動隱藏時間"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Autohide effect"
msgstr "自動隱藏效果"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Enable/disable autohide"
msgstr "啟用/停用自動隱藏"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Icon size"
msgstr "圖示大小"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Position of the dock"
msgstr "Dock 的位置"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Sets icon size of the dock."
msgstr "設定 Dock 的圖示大小。"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr "設定隱藏 Dock 的效果。可用的值為「resize」、「rescale」、「move」"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr "設定 Dock 在螢幕的位置。可用的值為「right」(右) 或「left」(左)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "設定自動隱藏效果的時間長度。"
#: ../extensions/drive-menu/extension.js:66
msgid "Open file manager"
msgstr "開啟檔案管理員"
#: ../extensions/drive-menu/extension.js:106
msgid "Open File"
msgstr "開啟檔案"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
@@ -208,40 +155,11 @@ msgstr ""
msgid "Message:"
msgstr "訊息:"
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
msgstr "%s 已離開。"
#: ../extensions/gajim/extension.js:230
#, c-format
msgid "%s is offline."
msgstr "%s 現在離線。"
#: ../extensions/gajim/extension.js:233
#, c-format
msgid "%s is online."
msgstr "%s 現在上線。"
#: ../extensions/gajim/extension.js:236
#, c-format
msgid "%s is busy."
msgstr "%s 正忙碌。"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設"
"值。變更這個設定值需要重新啟動 Shell 來套用效果。"
msgid "Use more screen for windows"
msgstr "視窗使用更多螢幕空間"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Place window captions on top"
msgstr "在頂端放置視窗說明標題"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
@@ -250,22 +168,68 @@ msgstr ""
"藉由適應螢幕長寬比來試著使用更多螢幕空間放置視窗縮圖,進一步聯合它們來減少邊"
"界盒。這個設定僅適用於自然放置策略。"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "Use more screen for windows"
msgstr "視窗使用更多螢幕空間"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top"
msgstr "在頂端放置視窗說明標題"
#: ../extensions/places-menu/extension.js:37
msgid "Removable Devices"
msgstr "可移除式裝置"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"如果為真,在對映的縮圖頂端放置視窗說明標題,凌駕 Shell 將它放置在底部的預設"
"值。變更這個設定值需要重新啟動 Shell 來套用效果。"
#: ../extensions/places-menu/extension.js:46
msgid "Places"
msgstr "位置"
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "裝置"
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "書籤"
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "網路"
#: ../extensions/places-menu/placeDisplay.js:48
#, c-format
msgid "Failed to launch \"%s\""
msgstr "無法啟動「%s」"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "家目錄"
#: ../extensions/places-menu/placeDisplay.js:195
msgid "File System"
msgstr "檔案系統"
#: ../extensions/places-menu/placeDisplay.js:199
msgid "Browse network"
msgstr "瀏覽網路"
#: ../extensions/systemMonitor/extension.js:213
msgid "CPU"
msgstr "CPU"
#: ../extensions/systemMonitor/extension.js:266
msgid "Memory"
msgstr "記憶體"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "Theme name"
msgstr "主題名稱"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "主題的名稱,要從 ~/.themes/name/gnome-shell 載入"
#: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator"
msgstr "工作區指示器"
@@ -299,9 +263,116 @@ msgstr "右"
msgid "Upside-down"
msgstr "上下顛倒"
#: ../extensions/xrandr-indicator/extension.js:82
msgid "Configure display settings..."
msgstr "設定顯示器設定值..."
#: ../extensions/xrandr-indicator/extension.js:50
msgid "Display"
msgstr "顯示"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "顯示設定值"
#~ msgid ""
#~ "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
#~ "workspace_icons. See the configuration dialogs for details."
#~ msgstr ""
#~ "設定 Alt-Tab 行為。可用的值為all_thumbnails、workspace_icons。請見組態對"
#~ "話盒瞭解詳細資訊。"
#~ msgid "The alt tab behaviour."
#~ msgstr "alt tab 按鍵行為。"
#~ msgid ""
#~ "This mode presents all applications from all workspaces in one selection "
#~ "list. Instead of using the application icon of every window, it uses "
#~ "small thumbnails resembling the window itself."
#~ msgstr ""
#~ "這個模式會將所有工作區的應用程式呈現於一個選取清單中。它使用小縮圖來象徵視"
#~ "窗本身,而不是使用應用程式圖示來代表每個視窗。"
#~ msgid "Workspace & Icons"
#~ msgstr "工作區與圖示"
#~ msgid ""
#~ "This mode let's you switch between the applications of your current "
#~ "workspace and gives you additionally the option to switch to the last "
#~ "used application of your previous workspace. This is always the last "
#~ "symbol in the list and is segregated by a separator/vertical line if "
#~ "available. \n"
#~ "Every window is represented by its application icon."
#~ msgstr ""
#~ "這個模式讓您在您目前工作區中的應用程式之間切換,而且給您額外的選項來切換至"
#~ "上個工作區中您上次使用的應用程式;它總會是清單中的最後一個圖像,而且可能的"
#~ "話會用分隔符/垂直線隔離開來。\n"
#~ "每個視窗會以其應用程式圖示呈現。"
#~ msgid "Move current selection to front before closing the popup"
#~ msgstr "在關閉彈出視窗之前,移動目前選取的項目至前方"
#~ msgid ""
#~ "The Alternate Tab can be used in different modes, that affect the way "
#~ "windows are chosen and presented."
#~ msgstr "Alternate Tab 可以使用不同的模式,會影響到選擇與呈現視窗的方式。"
#~ msgid "Drag here to add favorites"
#~ msgstr "拖曳至此處以加入喜好"
#~ msgid "New Window"
#~ msgstr "新視窗"
#~ msgid "Quit Application"
#~ msgstr "退出應用程式"
#~ msgid "Remove from Favorites"
#~ msgstr "自喜好移除"
#~ msgid "Add to Favorites"
#~ msgstr "加入喜好"
#~ msgid "Autohide duration"
#~ msgstr "自動隱藏時間"
#~ msgid "Autohide effect"
#~ msgstr "自動隱藏效果"
#~ msgid "Enable/disable autohide"
#~ msgstr "啟用/停用自動隱藏"
#~ msgid "Icon size"
#~ msgstr "圖示大小"
#~ msgid "Position of the dock"
#~ msgstr "Dock 的位置"
#~ msgid "Sets icon size of the dock."
#~ msgstr "設定 Dock 的圖示大小。"
#~ msgid ""
#~ "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' "
#~ "and 'move'"
#~ msgstr "設定隱藏 Dock 的效果。可用的值為「resize」、「rescale」、「move」"
#~ msgid ""
#~ "Sets the position of the dock in the screen. Allowed values are 'right' "
#~ "or 'left'"
#~ msgstr "設定 Dock 在螢幕的位置。可用的值為「right」(右) 或「left」(左)"
#~ msgid "Sets the time duration of the autohide effect."
#~ msgstr "設定自動隱藏效果的時間長度。"
#~ msgid "%s is away."
#~ msgstr "%s 已離開。"
#~ msgid "%s is offline."
#~ msgstr "%s 現在離線。"
#~ msgid "%s is online."
#~ msgstr "%s 現在上線。"
#~ msgid "%s is busy."
#~ msgstr "%s 正忙碌。"
#~ msgid "Configure display settings..."
#~ msgstr "設定顯示器設定值..."
#~ msgid "Notifications"
#~ msgstr "通知"
@@ -309,9 +380,6 @@ msgstr "設定顯示器設定值..."
#~ msgid "Online Accounts"
#~ msgstr "線上帳號"
#~ msgid "System Settings"
#~ msgstr "系統設定值"
#~ msgid "Lock Screen"
#~ msgstr "鎖定畫面"