Compare commits

...

21 Commits

Author SHA1 Message Date
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
Giovanni Campagna e14efb3dfc Bump version to 3.6.1
To go along newly released GNOME Shell 3.6.1
2012-10-16 16:16:02 +02:00
Andika Triwidada 7e3262a58d Updated Indonesian translation 2012-10-15 21:55:23 +07:00
Daniel Mustieles f670aa5cc3 Updated Spanish translation 2012-10-13 13:00:56 +02:00
Rūdolfs Mazurs da2ed2d695 Updated Latvian translation 2012-10-12 23:26:07 +03:00
Fran Diéguez 23e5cd30a4 Updated Galician translations 2012-10-12 01:16:31 +02:00
Tom Tryfonidis 42a85d81a6 Updated Greek translation 2012-10-11 17:19:28 +03:00
Piotr Drąg 1d65af715f Updated Polish translation 2012-10-08 23:04:17 +02:00
Marek Černocký 7ae2ddcb95 Updated Czech translation 2012-10-08 22:42:08 +02:00
Matej Urbančič 0abb0f4b57 Updated Slovenian translation 2012-10-08 21:14:45 +02:00
Giovanni Campagna dfcff4b297 DriveMenu: make it independent of PlacesDisplay
That module was removed from GNOME Shell 3.6, so reimplement for mounts
only, borrowing code and behaviour from the resident message tray source.
2012-10-08 19:42:28 +02:00
Giovanni Campagna fa2840aee3 alternative-status-menu: fix for 3.6
Code was still refererring to the external screensaver instead of
activating the screenshield.
I feel like a genius for writing both modules and not noticing this
until after 3.6.0.
2012-10-08 19:09:13 +02:00
Giovanni Campagna e48e1d0a38 alternate-tab: fix a warning about passing 0 to source_remove 2012-10-07 02:08:55 +02:00
Khaled Hosny f9f4684c8d Updated Arabic translation 2012-10-05 21:47:00 +02:00
30 changed files with 1066 additions and 2242 deletions
+7
View File
@@ -1,3 +1,10 @@
3.6.1
=====
* fixed alternative-status-menu for the new lock screen
* squashed some alternate-tab warnings
* drive-menu now works with 3.6 again
* updated translations (ar, cs, el, es, gl, id, lv, pl, sl)
3.6.0 3.6.0
===== =====
* major rework in places menu, to make it work without * major rework in places menu, to make it work without
+3 -5
View File
@@ -1,5 +1,5 @@
AC_PREREQ(2.63) AC_PREREQ(2.63)
AC_INIT([gnome-shell-extensions],[3.6.0],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions]) AC_INIT([gnome-shell-extensions],[3.7.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_CONFIG_MACRO_DIR([m4]) AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([config]) AC_CONFIG_AUX_DIR([config])
@@ -30,7 +30,7 @@ dnl keep this in alphabetic order
dnl by default, install only extensions that do not change completely the shell experience, 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 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.) 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" DEFAULT_EXTENSIONS="alternative-status-menu apps-menu drive-menu places-menu windowsNavigator workspace-indicator"
ALL_EXTENSIONS="$DEFAULT_EXTENSIONS alternate-tab auto-move-windows example native-window-placement systemMonitor user-theme xrandr-indicator" ALL_EXTENSIONS="$DEFAULT_EXTENSIONS alternate-tab auto-move-windows example native-window-placement systemMonitor user-theme xrandr-indicator"
AC_SUBST(ALL_EXTENSIONS, [$ALL_EXTENSIONS]) AC_SUBST(ALL_EXTENSIONS, [$ALL_EXTENSIONS])
AC_ARG_ENABLE([extensions], AC_ARG_ENABLE([extensions],
@@ -58,7 +58,7 @@ for e in $enable_extensions; do
[AC_MSG_WARN([gnome-desktop-3.0 not found, disabling xrandr-indicator])]) [AC_MSG_WARN([gnome-desktop-3.0 not found, disabling xrandr-indicator])])
;; ;;
dnl keep this in alphabetic order 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|drive-menu|example|native-window-placement|places-menu|user-theme|windowsNavigator|workspace-indicator)
ENABLED_EXTENSIONS="$ENABLED_EXTENSIONS $e" ENABLED_EXTENSIONS="$ENABLED_EXTENSIONS $e"
;; ;;
*) *)
@@ -74,10 +74,8 @@ AC_CONFIG_FILES([
extensions/alternative-status-menu/Makefile extensions/alternative-status-menu/Makefile
extensions/apps-menu/Makefile extensions/apps-menu/Makefile
extensions/auto-move-windows/Makefile extensions/auto-move-windows/Makefile
extensions/dock/Makefile
extensions/drive-menu/Makefile extensions/drive-menu/Makefile
extensions/example/Makefile extensions/example/Makefile
extensions/gajim/Makefile
extensions/native-window-placement/Makefile extensions/native-window-placement/Makefile
extensions/places-menu/Makefile extensions/places-menu/Makefile
extensions/systemMonitor/Makefile extensions/systemMonitor/Makefile
+14 -13
View File
@@ -1,4 +1,4 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */ /* -*- mode: js; js-basic-offset: 4; indent-tabs-mode: nil -*- */
/* most of the code is borrowed from /* most of the code is borrowed from
* > js/ui/altTab.js < * > js/ui/altTab.js <
@@ -57,12 +57,11 @@ const AltTabPopup = new Lang.Class({
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight)); this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this.actor.connect('allocate', Lang.bind(this, this._allocate)); this.actor.connect('allocate', Lang.bind(this, this._allocate));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._haveModal = false; this._haveModal = false;
this._currentWindow = 0; this._currentWindow = 0;
this._motionTimeoutId = 0; this._motionTimeoutId = 0;
this._initialDelayTimeoutId = 0;
// Initially disable hover so we ignore the enter-event if // Initially disable hover so we ignore the enter-event if
// the switcher appears underneath the current pointer location // the switcher appears underneath the current pointer location
@@ -277,22 +276,24 @@ const AltTabPopup = new Lang.Class({
{ opacity: 0, { opacity: 0,
time: AltTab.POPUP_FADE_OUT_TIME, time: AltTab.POPUP_FADE_OUT_TIME,
transition: 'easeOutQuad', transition: 'easeOutQuad',
onComplete: Lang.bind(this, onComplete: Lang.bind(this, this._finishDestroy),
function() {
this.actor.destroy();
})
}); });
} else } else
this.actor.destroy(); this._finishDestroy();
}, },
_onDestroy : function() { _finishDestroy : function() {
this._popModal(); if (this._motionTimeoutId != 0) {
if (this._motionTimeoutId != 0)
Mainloop.source_remove(this._motionTimeoutId); Mainloop.source_remove(this._motionTimeoutId);
if (this._initialDelayTimeoutId != 0) this._motionTimeoutId = 0;
}
if (this._initialDelayTimeoutId != 0) {
Mainloop.source_remove(this._initialDelayTimeoutId); Mainloop.source_remove(this._initialDelayTimeoutId);
this._initialDelayTimeoutId = 0;
}
this.actor.destroy();
}, },
_select : function(window) { _select : function(window) {
+159 -102
View File
@@ -1,6 +1,12 @@
/* -*- mode: js2 - indent-tabs-mode: nil - js2-basic-offset: 4 -*- */ /* -*- 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 Lang = imports.lang;
const Mainloop = imports.mainloop;
const St = imports.gi.St; const St = imports.gi.St;
const BoxPointer = imports.ui.boxpointer;
const Main = imports.ui.main; const Main = imports.ui.main;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
@@ -11,124 +17,175 @@ const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension(); const Me = ExtensionUtils.getCurrentExtension();
const Convenience = Me.imports.convenience; const Convenience = Me.imports.convenience;
let suspend_item = null; const LOCK_ENABLED_KEY = 'lock-enabled';
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;
function updateSuspend(object, pspec, item) { let extension;
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) { function loginManager_canHibernate(asyncCallback) {
item.actor.visible = object.get_can_hibernate() && settings.get_boolean('allow-hibernate'); 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) { function onSuspendActivate(item) {
Main.overview.hide(); Main.overview.hide();
this._screenSaverProxy.LockRemote(Lang.bind(this, function() { if (this._screenSaverSettings.get_boolean(LOCK_ENABLED_KEY)) {
this._upClient.suspend_sync(null); let tmpId = Main.screenShield.connect('lock-screen-shown', Lang.bind(this, function() {
})); Main.screenShield.disconnect(tmpId);
this._loginManager.suspend();
}));
this.menu.close(BoxPointer.PopupAnimation.NONE);
Main.screenShield.lock(true);
} else {
this._loginManager.suspend();
}
} }
function onHibernateActivate(item) { function onHibernateActivate(item) {
Main.overview.hide(); Main.overview.hide();
this._screenSaverProxy.LockRemote(Lang.bind(this, function() { if (this._screenSaverSettings.get_boolean(LOCK_ENABLED_KEY)) {
this._upClient.hibernate_sync(null); let tmpId = Main.screenShield.connect('lock-screen-shown', Lang.bind(this, function() {
})); Main.screenShield.disconnect(tmpId);
loginManager_hibernate.call(this._loginManager);
}));
this.menu.close(BoxPointer.PopupAnimation.NONE);
Main.screenShield.lock(true);
} else {
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 // Put your extension initialization code here
function init(metadata) { 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();
}
-5
View File
@@ -1,5 +0,0 @@
EXTENSION_ID = dock
include ../../extension.mk
include ../../settings.mk
-991
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;
}
-11
View File
@@ -1,11 +0,0 @@
{
"extension-id": "@extension_id@",
"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",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}
@@ -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>
-10
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
}
+103 -26
View File
@@ -11,25 +11,25 @@ const Main = imports.ui.main;
const Panel = imports.ui.panel; const Panel = imports.ui.panel;
const PanelMenu = imports.ui.panelMenu; const PanelMenu = imports.ui.panelMenu;
const PopupMenu = imports.ui.popupMenu; const PopupMenu = imports.ui.popupMenu;
const PlaceDisplay = imports.ui.placeDisplay; const ShellMountOperation = imports.ui.shellMountOperation;
const ExtensionUtils = imports.misc.extensionUtils; const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension(); const Me = ExtensionUtils.getCurrentExtension();
const Convenience = Me.imports.convenience; const Convenience = Me.imports.convenience;
const DriveMenuItem = new Lang.Class({ const MountMenuItem = new Lang.Class({
Name: 'DriveMenu.DriveMenuItem', Name: 'DriveMenu.MountMenuItem',
Extends: PopupMenu.PopupBaseMenuItem, Extends: PopupMenu.PopupBaseMenuItem,
_init: function(place) { _init: function(mount) {
this.parent(); this.parent();
this.place = place; this.label = new St.Label({ text: mount.get_name() });
this.label = new St.Label({ text: place.name });
this.addActor(this.label); this.addActor(this.label);
this.actor.label_actor = this.label; this.actor.label_actor = this.label;
this.mount = mount;
let ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic', let ejectIcon = new St.Icon({ icon_name: 'media-eject-symbolic',
style_class: 'popup-menu-icon ' }); style_class: 'popup-menu-icon ' });
let ejectButton = new St.Button({ child: ejectIcon }); let ejectButton = new St.Button({ child: ejectIcon });
@@ -38,11 +38,44 @@ const DriveMenuItem = new Lang.Class({
}, },
_eject: function() { _eject: function() {
this.place.remove(); let mountOp = new ShellMountOperation.ShellMountOperation(this.mount);
if (this.mount.can_eject())
this.mount.eject_with_operation(Gio.MountUnmountFlags.NONE,
mountOp.mountOp,
null, // Gio.Cancellable
Lang.bind(this, this._ejectFinish));
else
this.mount.unmount_with_operation(Gio.MountUnmountFlags.NONE,
mountOp.mountOp,
null, // Gio.Cancellable
Lang.bind(this, this._unmountFinish));
},
_unmountFinish: function(mount, result) {
try {
mount.unmount_with_operation_finish(result);
} catch(e) {
this._reportFailure(e);
}
},
_ejectFinish: function(mount, result) {
try {
mount.eject_with_operation_finish(result);
} catch(e) {
this._reportFailure(e);
}
},
_reportFailure: function(exception) {
let msg = _("Ejecting drive '%s' failed:").format(this.mount.get_name());
Main.notifyError(msg, exception.message);
}, },
activate: function(event) { activate: function(event) {
this.place.launch({ timestamp: event.get_time() }); Gio.AppInfo.launch_default_for_uri(this.mount.get_root().get_uri(),
global.create_app_launch_context());
this.parent(event); this.parent(event);
} }
@@ -55,39 +88,83 @@ const DriveMenu = new Lang.Class({
_init: function() { _init: function() {
this.parent('media-eject-symbolic', _("Removable devices")); this.parent('media-eject-symbolic', _("Removable devices"));
this._manager = new PlaceDisplay.PlacesManager(); this._monitor = Gio.VolumeMonitor.get();
this._updatedId = this._manager.connect('mounts-updated', Lang.bind(this, this._update)); this._addedId = this._monitor.connect('mount-added', Lang.bind(this, function(monitor, mount) {
this._addMount(mount);
this._updateMenuVisibility();
}));
this._removedId = this._monitor.connect('mount-removed', Lang.bind(this, function(monitor, mount) {
this._removeMount(mount);
this._updateMenuVisibility();
}));
this._contentSection = new PopupMenu.PopupMenuSection(); this._mounts = [ ];
this.menu.addMenuItem(this._contentSection);
this._update(); this._monitor.get_mounts().forEach(Lang.bind(this, this._addMount));
this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem()); this.menu.addMenuItem(new PopupMenu.PopupSeparatorMenuItem());
this.menu.addAction(_("Open file manager"), function(event) { this.menu.addAction(_("Open File"), function(event) {
let appSystem = Shell.AppSystem.get_default(); let appSystem = Shell.AppSystem.get_default();
let app = appSystem.lookup_app('nautilus.desktop'); let app = appSystem.lookup_app('nautilus.desktop');
app.activate_full(-1, event.get_time()); app.activate_full(-1, event.get_time());
}); });
this._updateMenuVisibility();
}, },
_update: function() { _updateMenuVisibility: function() {
this._contentSection.removeAll(); if (this._mounts.length > 0)
this.actor.show();
else
this.actor.hide();
},
let mounts = this._manager.getMounts(); _isMountInteresting: function(mount) {
let any = false; if (!mount.can_eject() && !mount.can_unmount())
for (let i = 0; i < mounts.length; i++) { return false;
if (mounts[i].isRemovable()) {
this._contentSection.addMenuItem(new DriveMenuItem(mounts[i])); let volume = mount.get_volume();
any = true;
if (volume == null) {
// probably a GDaemonMount, could be network or
// local, but we can't tell; assume it's local for now
return true;
}
return volume.get_identifier('class') != 'network';
},
_addMount: function(mount) {
if (!this._isMountInteresting(mount))
return;
let item = new MountMenuItem(mount);
this._mounts.unshift(item);
this.menu.addMenuItem(item, 0);
},
_removeMount: function(mount) {
if (!this._isMountInteresting(mount))
return;
for (let i = 0; i < this._mounts.length; i++) {
let item = this._mounts[i];
if (item.mount == mount) {
item.destroy();
this._mounts.splice(i, 1);
return;
} }
} }
log ('Removing a mount that was never added to the menu');
this.actor.visible = any;
}, },
destroy: function() { destroy: function() {
this._manager.disconnect(this._updatedId); if (this._connectedId) {
this._monitor.disconnect(this._connectedId);
this._monitor.disconnect(this._disconnectedId);
this._connectedId = 0;
this._disconnectedId = 0;
}
this.parent(); this.parent();
}, },
-3
View File
@@ -1,3 +0,0 @@
EXTENSION_ID = gajim
include ../../extension.mk
-339
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();
}
-10
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"
}
-1
View File
@@ -1 +0,0 @@
/* none used */
+18 -71
View File
@@ -123,6 +123,7 @@ function enable() {
let settings = Convenience.getSettings(); let settings = Convenience.getSettings();
let useMoreScreen = settings.get_boolean('use-more-screen'); 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() { let signalId = settings.connect('changed::use-more-screen', function() {
useMoreScreen = settings.get_boolean('use-more-screen'); useMoreScreen = settings.get_boolean('use-more-screen');
}); });
@@ -148,7 +149,13 @@ function enable() {
let ratio = this._width / this._height; let ratio = this._width / this._height;
let x_gap = Math.max(WORKSPACE_BORDER_GAP, WINDOW_AREA_TOP_GAP * ratio); 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 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(); let bounds = area.copy();
@@ -321,17 +328,17 @@ function enable() {
let animate = flags & WindowPositionFlags.ANIMATE; let animate = flags & WindowPositionFlags.ANIMATE;
// Start the animations // Start the animations
let targets = []; let targets = [];
let scales = []; let scales = [];
[clones, targets] = this._calculateWindowTransformationsNatural(clones); [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; let isOnCurrentWorkspace = this.metaWorkspace == null || this.metaWorkspace == currentWorkspace;
for (let i = 0; i < clones.length; i++) { for (let i = 0; i < clones.length; i++) {
let clone = clones[i]; let clone = clones[i];
let [x, y , scale] = targets[i]; let [x, y , scale] = targets[i];
let metaWindow = clone.metaWindow; let metaWindow = clone.metaWindow;
let mainIndex = this._lookupIndex(metaWindow); let mainIndex = this._lookupIndex(metaWindow);
let overlay = this._windowOverlays[mainIndex]; let overlay = this._windowOverlays[mainIndex];
@@ -375,63 +382,15 @@ function enable() {
} }
/// position window titles on top of windows in overlay //// /// position window titles on top of windows in overlay ////
if (settings.get_boolean('window-captions-on-top')) { if (windowCaptionsOnTop) {
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();
},
winInjections['chromeHeights'] = Workspace.WindowOverlay.prototype.chromeHeights; 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), return [Math.max( this.closeButton.height - this.closeButton._overlap, this.title.height - this.title._overlap),
0]; 0];
}, };
winInjections['updatePositions'] = Workspace.WindowOverlay.prototype.updatePositions; 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 button = this.closeButton;
let title = this.title; let title = this.title;
@@ -463,7 +422,7 @@ function enable() {
let titleWidth = Math.min(title.fullWidth, cloneWidth); let titleWidth = Math.min(title.fullWidth, cloneWidth);
let titleX = cloneX + (cloneWidth - titleWidth) / 2; let titleX = cloneX + (cloneWidth - titleWidth) / 2;
let titleY = cloneY - title.height + title._overlap; let titleY = cloneY - title.height + title._spacing;
if (animate) if (animate)
this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), titleWidth); this._animateOverlayActor(title, Math.floor(titleX), Math.floor(titleY), titleWidth);
@@ -471,19 +430,7 @@ function enable() {
title.width = titleWidth; title.width = titleWidth;
title.set_position(Math.floor(titleX), Math.floor(titleY)); 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();
}
} }
} }
@@ -1,3 +1,3 @@
.window-caption { .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 */
} }
+17 -3
View File
@@ -123,8 +123,15 @@ const PlacesManager = new Lang.Class({
let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]); let specialPath = GLib.get_user_special_dir(DEFAULT_DIRECTORIES[i]);
if (specialPath == homePath) if (specialPath == homePath)
continue; 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);
} }
/* /*
@@ -293,7 +300,14 @@ const PlacesManager = new Lang.Class({
}, },
_addMount: function(kind, mount) { _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); this._places[kind].push(devItem);
}, },
-3
View File
@@ -7,13 +7,10 @@ extensions/apps-menu/extension.js
extensions/auto-move-windows/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/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
extensions/auto-move-windows/prefs.js 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/drive-menu/extension.js
extensions/example/extension.js extensions/example/extension.js
extensions/example/org.gnome.shell.extensions.example.gschema.xml.in extensions/example/org.gnome.shell.extensions.example.gschema.xml.in
extensions/example/prefs.js extensions/example/prefs.js
extensions/gajim/extension.js
extensions/native-window-placement/extension.js extensions/native-window-placement/extension.js
extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in
extensions/places-menu/extension.js extensions/places-menu/extension.js
+110 -52
View File
@@ -6,8 +6,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: PACKAGE VERSION\n" "Project-Id-Version: PACKAGE VERSION\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-09 18:35+0200\n" "POT-Creation-Date: 2012-10-05 21:43+0200\n"
"PO-Revision-Date: 2012-06-09 18:35+0200\n" "PO-Revision-Date: 2012-10-05 21:46+0200\n"
"Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n" "Last-Translator: Khaled Hosny <khaledhosny@eglug.org>\n"
"Language-Team: Arabic <doc@arabeyes.org>\n" "Language-Team: Arabic <doc@arabeyes.org>\n"
"Language: ar\n" "Language: ar\n"
@@ -19,55 +19,35 @@ msgstr ""
"X-Generator: Virtaal 0.7.0\n" "X-Generator: Virtaal 0.7.0\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The alt tab behaviour." msgid "The application icon mode."
msgstr "" msgstr ""
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "" msgid ""
"Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and " "Configures how the windows are shown in the switcher. Valid possibilities "
"workspace_icons. See the configuration dialogs for details." "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr "" msgstr ""
#: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only"
msgstr "مصغّرة فقط"
#: ../extensions/alternate-tab/prefs.js:27 #: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails" msgid "Application icon only"
msgstr "الكل مع مصغّرات" msgstr "أيقونة التطبيق فقط"
#: ../extensions/alternate-tab/prefs.js:28 #: ../extensions/alternate-tab/prefs.js:28
msgid "" msgid "Thumbnail and application icon"
"This mode presents all applications from all workspaces in one selection " msgstr "مصغّرة وأيقونة التطبيق"
"list. Instead of using the application icon of every window, it uses small "
"thumbnails resembling the window itself."
msgstr ""
"يعرض هذا النمط كل التطبيقات من كل مساحات العمل في قائمة واحدة، وبدلا من "
"استخدام أيقونة التطبيق لكل النوافذ يستخدم صورة مصغّرة للنافذة نفسها."
#: ../extensions/alternate-tab/prefs.js:34 #: ../extensions/alternate-tab/prefs.js:43
msgid "Workspace & Icons" msgid "Present windows as"
msgstr "مساحة العمل مع أيقونات" msgstr "كيفية عرض التطبيقات"
#: ../extensions/alternate-tab/prefs.js:35 #: ../extensions/alternate-tab/prefs.js:68
msgid "" msgid "Show only windows in the current workspace"
"This mode let's you switch between the applications of your current " msgstr "أظهر نوافذ مساحات العمل الحالية فقط"
"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 ""
"يمكن استخدام هذا الامتداد في أنماط مختلفة تؤثر على كيفية اختيار وعرض النوافذ."
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:68
@@ -199,11 +179,11 @@ msgid ""
"monitor." "monitor."
msgstr "" msgstr ""
#: ../extensions/drive-menu/extension.js:57 #: ../extensions/drive-menu/extension.js:56
msgid "Removable devices" msgid "Removable devices"
msgstr "الأجهزة المنفصلة" msgstr "الأجهزة المنفصلة"
#: ../extensions/drive-menu/extension.js:68 #: ../extensions/drive-menu/extension.js:67
msgid "Open file manager" msgid "Open file manager"
msgstr "افتح مدير الملفّات" msgstr "افتح مدير الملفّات"
@@ -234,22 +214,22 @@ msgstr ""
msgid "Message:" msgid "Message:"
msgstr "الرسالة:" msgstr "الرسالة:"
#: ../extensions/gajim/extension.js:227 #: ../extensions/gajim/extension.js:226
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s غائب." msgstr "%s غائب."
#: ../extensions/gajim/extension.js:230 #: ../extensions/gajim/extension.js:229
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s غير متّصل." msgstr "%s غير متّصل."
#: ../extensions/gajim/extension.js:233 #: ../extensions/gajim/extension.js:232
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s متّصل." msgstr "%s متّصل."
#: ../extensions/gajim/extension.js:236 #: ../extensions/gajim/extension.js:235
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s مشغول." msgstr "%s مشغول."
@@ -276,9 +256,46 @@ msgid ""
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "" msgstr ""
#: ../extensions/places-menu/extension.js:39 #: ../extensions/places-menu/extension.js:46
msgid "Removable Devices" msgid "Places"
msgstr "الأجهزة المنفصلة" 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 #: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "Theme name" msgid "Theme name"
@@ -321,6 +338,47 @@ msgstr "يمين"
msgid "Upside-down" msgid "Upside-down"
msgstr "رأسا على عقب" msgstr "رأسا على عقب"
#: ../extensions/xrandr-indicator/extension.js:82 #: ../extensions/xrandr-indicator/extension.js:50
msgid "Configure display settings..." msgid "Display"
msgstr "اضبط إعدادات أجهزة العرض..." msgstr "العرض"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "إعدادات العرض"
#~ 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 ""
#~ "يمكن استخدام هذا الامتداد في أنماط مختلفة تؤثر على كيفية اختيار وعرض "
#~ "النوافذ."
#~ msgid "Removable Devices"
#~ msgstr "الأجهزة المنفصلة"
+47 -65
View File
@@ -1,6 +1,7 @@
# Czech translation for gnome-shell-extensions. # Czech translation for gnome-shell-extensions.
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
#
# Marek Černocký <marek@manet.cz>, 2011, 2012. # Marek Černocký <marek@manet.cz>, 2011, 2012.
# #
msgid "" msgid ""
@@ -8,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n" "shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-09-04 22:55+0000\n" "POT-Creation-Date: 2012-10-08 17:42+0000\n"
"PO-Revision-Date: 2012-09-06 12:22+0200\n" "PO-Revision-Date: 2012-10-08 22:39+0200\n"
"Last-Translator: Marek Černocký <marek@manet.cz>\n" "Last-Translator: Marek Černocký <marek@manet.cz>\n"
"Language-Team: Czech <gnome-cs-list@gnome.org>\n" "Language-Team: Czech <gnome-cs-list@gnome.org>\n"
"Language: cs\n" "Language: cs\n"
@@ -33,12 +34,10 @@ msgstr ""
"ikonu aplikace) nebo „both“ (zobrazuje obojí)." "ikonu aplikace) nebo „both“ (zobrazuje obojí)."
#: ../extensions/alternate-tab/prefs.js:26 #: ../extensions/alternate-tab/prefs.js:26
#| msgid "All & Thumbnails"
msgid "Thumbnail only" msgid "Thumbnail only"
msgstr "Pouze náhled" msgstr "Pouze náhled"
#: ../extensions/alternate-tab/prefs.js:27 #: ../extensions/alternate-tab/prefs.js:27
#| msgid "Application"
msgid "Application icon only" msgid "Application icon only"
msgstr "Pouze ikona aplikace" msgstr "Pouze ikona aplikace"
@@ -55,16 +54,15 @@ msgid "Show only windows in the current workspace"
msgstr "Zobrazovat pouze okna z aktuální pracovní plochy" msgstr "Zobrazovat pouze okna z aktuální pracovní plochy"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Uspat do paměti" msgstr "Uspat do paměti"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Uspat na disk" msgstr "Uspat na disk"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
#| msgid "Power Off..."
msgid "Power Off" msgid "Power Off"
msgstr "Vypnout" msgstr "Vypnout"
@@ -193,14 +191,18 @@ msgstr ""
"Nastavuje monitor, na kterém se má zobrazovat dok. Výchozí hodnotou (-1) je " "Nastavuje monitor, na kterém se má zobrazovat dok. Výchozí hodnotou (-1) je "
"hlavní monitor." "hlavní monitor."
#: ../extensions/drive-menu/extension.js:56 #: ../extensions/drive-menu/extension.js:72
#| msgid "Removable Devices" #, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Vysunutí disku „%s“ selhalo:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Výměnná zařízení" msgstr "Výměnná zařízení"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" msgid "Open File"
msgstr "Otevřít správce souborů" msgstr "Otevřít soubor"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -281,9 +283,38 @@ msgstr ""
"přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto " "přepíše výchozí chování shellu, který jej umisťuje dolů. Změna tohoto "
"nastavení vyžaduje restart shellu, aby se projevila." "nastavení vyžaduje restart shellu, aby se projevila."
#: ../extensions/places-menu/extension.js:70 #: ../extensions/places-menu/extension.js:46
msgid "Removable Devices" msgid "Places"
msgstr "Výměnná zařízení" msgstr "Místa"
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "Zařízení"
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "Záložky"
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "Síť"
#: ../extensions/places-menu/placeDisplay.js:48
#, c-format
msgid "Failed to launch \"%s\""
msgstr "Selhalo spuštění „%s“"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "Domů"
#: ../extensions/places-menu/placeDisplay.js:184
msgid "File System"
msgstr "Systém souborů"
#: ../extensions/places-menu/placeDisplay.js:188
msgid "Browse network"
msgstr "Procházet síť"
#: ../extensions/systemMonitor/extension.js:213 #: ../extensions/systemMonitor/extension.js:213
msgid "CPU" msgid "CPU"
@@ -339,54 +370,5 @@ msgid "Display"
msgstr "Obrazovka" msgstr "Obrazovka"
#: ../extensions/xrandr-indicator/extension.js:80 #: ../extensions/xrandr-indicator/extension.js:80
#| msgid "Configure display settings..."
msgid "Display Settings" msgid "Display Settings"
msgstr "Nastavení obrazovky" msgstr "Nastavení obrazovky"
#~ msgid "The alt tab behaviour."
#~ msgstr "Chování klávesové zkratky alt tab."
#~ msgid ""
#~ "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
#~ "workspace_icons. See the configuration dialogs for details."
#~ msgstr ""
#~ "Nastavuje chování klávesové zkratky Alt-Tab. Možné hodnoty jsou: "
#~ "all_thumbnails (vše a náhledy) a workspace_icons (pracovní plocha a "
#~ "ikony). Více informací najdete v dialogovém okně nastavení."
#~ 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 ""
#~ "Tento režim představuje všechny aplikace ze všech pracovních ploch v "
#~ "jediném výběrovém seznamu. Namísto používání ikon aplikací, používá pro "
#~ "každé okno jeho vlastní miniaturu."
#~ msgid "Workspace & Icons"
#~ msgstr "Pracovní plocha a ikony"
#~ 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 ""
#~ "Tento režim vám umožní přepínat mezi aplikacemi vaší aktuální pracovní "
#~ "plochy a dává vám dodatečnou volbu, přepnout se na poslední použitou "
#~ "aplikaci předchozí pracovní plochy. Tato aplikace je vždy poslední "
#~ "položkou v seznamu a pokud existuje, je oddělena oddělovačem/svislou "
#~ "čarou.\n"
#~ "Všechna okna jsou představována svojí ikonou aplikace."
#~ msgid "Move current selection to front before closing the popup"
#~ msgstr "Než je vyskakovací okno zavřeno, přesune aktuální výběr do popředí"
#~ msgid ""
#~ "The Alternate Tab can be used in different modes, that affect the way "
#~ "windows are chosen and presented."
#~ msgstr ""
#~ "Přepínání klávesou Tab může být použito v různých režimech, které "
#~ "ovlivňují, jak budou okna předváděna a volena."
+135 -109
View File
@@ -7,10 +7,10 @@
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "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" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-06 17:51+0000\n" "POT-Creation-Date: 2012-10-24 12:41+0200\n"
"PO-Revision-Date: 2012-09-07 00:16+0100\n" "PO-Revision-Date: 2012-10-24 12:37+0100\n"
"Last-Translator: Christian Kirbach <Christian.Kirbach@gmail.com>\n" "Last-Translator: Christian Kirbach <christian.kirbach@gmail.com>\n"
"Language-Team: Deutsch <gnome-de@gnome.org>\n" "Language-Team: Deutsch <gnome-de@gnome.org>\n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@@ -26,8 +26,14 @@ msgid "The application icon mode."
msgstr "Der Modus des Anwendungssymbols." msgstr "Der Modus des Anwendungssymbols."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2 #: ../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'." msgid ""
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)." "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 #: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only" msgid "Thumbnail only"
@@ -50,15 +56,15 @@ msgid "Show only windows in the current workspace"
msgstr "Nur Fenster der aktuellen Arbeitsfläche anzeigen" msgstr "Nur Fenster der aktuellen Arbeitsfläche anzeigen"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Bereitschaft" msgstr "Bereitschaft"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Ruhezustand" msgstr "Ruhezustand"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Ausschalten …" msgstr "Ausschalten …"
@@ -83,8 +89,13 @@ msgid "Application and workspace list"
msgstr "Anwendungs- und Arbeitsflächenliste" msgstr "Anwendungs- und Arbeitsflächenliste"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2 #: ../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" msgid ""
msgstr "Eine Liste aus Zeichenketten, wovon jede eine Anwendungskennung (*.desktop-Datei) enthält, gefolgt von einem Doppelpunkt und der Nummer der Arbeitsfläche" "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 #: ../extensions/auto-move-windows/prefs.js:55
msgid "Application" msgid "Application"
@@ -107,79 +118,18 @@ msgstr "Neue Übereinstimmungsregel erstellen"
msgid "Add" msgid "Add"
msgstr "Hinzufügen" msgstr "Hinzufügen"
#: ../extensions/dock/extension.js:600 #: ../extensions/drive-menu/extension.js:72
msgid "Drag here to add favorites" #, c-format
msgstr "Hierher ziehen, um zu Favoriten hinzuzufügen" msgid "Ejecting drive '%s' failed:"
msgstr "Auswerfen von Laufwerk »%s« schlug fehl:"
#: ../extensions/dock/extension.js:926 #: ../extensions/drive-menu/extension.js:89
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:56
msgid "Removable devices" msgid "Removable devices"
msgstr "Wechseldatenträger" msgstr "Wechseldatenträger"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" msgid "Open File"
msgstr "Dateiverwaltung öffnen" msgstr "Datei öffnen"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -190,58 +140,58 @@ msgid "Alternative greeting text."
msgstr "Alternative Begrüßungstext." msgstr "Alternative Begrüßungstext."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2 #: ../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." msgid ""
msgstr "Falls nicht leer, ist dies der Text, der beim Anklicken des Panels angezeigt wird." "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 #. TRANSLATORS: Example is the name of the extension, should not be
#. translated #. translated
#: ../extensions/example/prefs.js:30 #: ../extensions/example/prefs.js:30
msgid "" 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." "Nevertheless it's possible to customize the greeting message."
msgstr "" 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." "Es ist möglich, die Begrüßungsnachricht zu ändern."
#: ../extensions/example/prefs.js:36 #: ../extensions/example/prefs.js:36
msgid "Message:" msgid "Message:"
msgstr "Nachricht:" 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 #: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Mehr Bildschirmbereich für Fenster verwenden" msgstr "Mehr Bildschirmbereich für Fenster verwenden"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2 #: ../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." msgid ""
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." "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 #: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top" msgid "Place window captions on top"
msgstr "Fensterbeschriftungen oben platzieren" msgstr "Fensterbeschriftungen oben platzieren"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4 #: ../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." msgid ""
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." "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 #: ../extensions/places-menu/extension.js:46
msgid "Places" msgid "Places"
@@ -290,7 +240,9 @@ msgstr "Themenname"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2 #: ../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" 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 #: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator" msgid "Workspace Indicator"
@@ -333,6 +285,80 @@ msgstr "Anzeige"
msgid "Display Settings" msgid "Display Settings"
msgstr "Bildschirmeinstellungen" 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" #~ msgid "Removable Devices"
#~ msgstr "Wechseldatenträger" #~ msgstr "Wechseldatenträger"
+16 -18
View File
@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n" "shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-09-07 15:25+0000\n" "POT-Creation-Date: 2012-10-08 17:42+0000\n"
"PO-Revision-Date: 2012-09-15 15:13+0200\n" "PO-Revision-Date: 2012-10-11 17:16+0200\n"
"Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n" "Last-Translator: Tom Tryfonidis <tomtryf@gmail.com>\n"
"Language-Team: Greek <team@gnome.gr>\n" "Language-Team: Greek <team@gnome.gr>\n"
"Language: el\n" "Language: el\n"
@@ -35,12 +35,10 @@ msgstr ""
"'both'." "'both'."
#: ../extensions/alternate-tab/prefs.js:26 #: ../extensions/alternate-tab/prefs.js:26
#| msgid "All & Thumbnails"
msgid "Thumbnail only" msgid "Thumbnail only"
msgstr "Μόνο μικρογραφίες" msgstr "Μόνο μικρογραφίες"
#: ../extensions/alternate-tab/prefs.js:27 #: ../extensions/alternate-tab/prefs.js:27
#| msgid "Application"
msgid "Application icon only" msgid "Application icon only"
msgstr "Μόνο εικονίδια εφαρμογών" msgstr "Μόνο εικονίδια εφαρμογών"
@@ -57,18 +55,17 @@ msgid "Show only windows in the current workspace"
msgstr "Προβολή των παραθύρων μόνο στον τρέχων χώρο εργασίας" msgstr "Προβολή των παραθύρων μόνο στον τρέχων χώρο εργασίας"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Αναστολή" msgstr "Αναστολή"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Αδρανοποίηση" msgstr "Αδρανοποίηση"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
#| msgid "Power Off..."
msgid "Power Off" msgid "Power Off"
msgstr "Απενεργοποίηση" msgstr "Τερματισμός"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1 #: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending" msgid "Enable suspending"
@@ -169,8 +166,6 @@ msgid "Autohide effect"
msgstr "Εφέ αυτόματης απόκρυψης" msgstr "Εφέ αυτόματης απόκρυψης"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7 #: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
#| msgid ""
#| "Sets the effect of the hide dock. Allowed values are 'resize' or 'rescale'"
msgid "" msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and " "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'" "'move'"
@@ -198,14 +193,19 @@ msgstr ""
"Ορίζει την οθόνη για την εμφάνιση του ταμπλό. Η προεπιλεγμένη τιμή (-1) " "Ορίζει την οθόνη για την εμφάνιση του ταμπλό. Η προεπιλεγμένη τιμή (-1) "
"είναι η κύρια οθόνη." "είναι η κύρια οθόνη."
#: ../extensions/drive-menu/extension.js:56 #: ../extensions/drive-menu/extension.js:72
#| msgid "Removable Devices" #, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Απέτυχε η εξαγωγή του δίσκου '%s':"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Αφαιρούμενες συσκευές" msgstr "Αφαιρούμενες συσκευές"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" #| msgid "Open file manager"
msgstr "Άνοιγμα διαχειριστή αρχείων" msgid "Open File"
msgstr "Άνοιγμα αρχείου"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -342,7 +342,6 @@ msgstr ""
"gnome-shell" "gnome-shell"
#: ../extensions/workspace-indicator/extension.js:30 #: ../extensions/workspace-indicator/extension.js:30
#| msgid "Workspace & Icons"
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Δείκτης χώρου εργασίας" msgstr "Δείκτης χώρου εργασίας"
@@ -380,7 +379,6 @@ msgid "Display"
msgstr "Οθόνη" msgstr "Οθόνη"
#: ../extensions/xrandr-indicator/extension.js:80 #: ../extensions/xrandr-indicator/extension.js:80
#| msgid "System Settings"
msgid "Display Settings" msgid "Display Settings"
msgstr "Ρυθμίσεις οθόνης" msgstr "Ρυθμίσεις οθόνης"
+20 -14
View File
@@ -11,15 +11,15 @@ msgstr ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n" "shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-09-07 15:25+0000\n" "POT-Creation-Date: 2012-10-08 17:42+0000\n"
"PO-Revision-Date: 2012-10-13 12:51+0200\n" "PO-Revision-Date: 2012-10-13 12:51+0200\n"
"Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n" "Last-Translator: Daniel Mustieles <daniel.mustieles@gmail.com>\n"
"Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n" "Language-Team: Español; Castellano <gnome-es-list@gnome.org>\n"
"Language: \n" "Language: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n != 1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.5\n" "X-Generator: Gtranslator 2.91.5\n"
@@ -33,9 +33,9 @@ msgid ""
"are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-" "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'." "only' (shows only the application icon) or 'both'."
msgstr "" msgstr ""
"Configura cómo se muestran las ventanas en el intercambiador. Las opciones " "Configura cómo se muestran las ventanas en el intercambiador. Las opciones "
"posibles son «thumbnail-only» (muestra una miniatura de la ventana, «app-icon-" "posibles son «thumbnail-only» (muestra una miniatura de la ventana, «app-"
"only» (sólo muestra el icono de la aplicación) o «both» (se muestran ambas " "icon-only» (sólo muestra el icono de la aplicación) o «both» (se muestran "
"ambas cosas)." "ambas cosas)."
#: ../extensions/alternate-tab/prefs.js:26 #: ../extensions/alternate-tab/prefs.js:26
@@ -58,15 +58,15 @@ msgid "Show only windows in the current workspace"
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" msgstr "Mostrar ventanas solamente en el área de trabajo actual"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:86 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Suspender" msgstr "Suspender"
#: ../extensions/alternative-status-menu/extension.js:91 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Hibernar" msgstr "Hibernar"
#: ../extensions/alternative-status-menu/extension.js:96 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Apagar" msgstr "Apagar"
@@ -195,13 +195,19 @@ msgstr ""
msgstr "" msgstr ""
"Establece la pantalla en la que mostrar el tablero. El valor predeterminado " "Establece la pantalla en la que mostrar el tablero. El valor predeterminado "
"es (-1), que es la pantalla principal." "es (-1), que es la pantalla principal."
#: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Falló al expulsar el dispositivo «%s»"
#: ../extensions/drive-menu/extension.js:89 #: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Dispositivos extraíbles" msgstr "Dispositivos extraíbles"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" #| msgid "Open file manager"
msgid "Open File"
msgstr "Abrir archivo" msgstr "Abrir archivo"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
+67 -27
View File
@@ -1,24 +1,23 @@
# Galician translation for gnome-shell-extensions. # Galician translation for gnome-shell-extensions.
# Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER # Copyright (C) 2011 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package. # This file is distributed under the same license as the gnome-shell-extensions package.
# FIRST AUTHOR <EMAIL@ADDRESS>, YEAR.
# Fran Diéguez <frandieguez@gnome.org>, 2011. # Fran Diéguez <frandieguez@gnome.org>, 2011.
# Fran Dieguez <frandieguez@gnome.org>, 2011, 2012. # Fran Dieguez <frandieguez@gnome.org>, 2011, 2012.
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-08-30 04:14+0200\n" "POT-Creation-Date: 2012-10-12 01:15+0200\n"
"PO-Revision-Date: 2012-08-30 04:16+0200\n" "PO-Revision-Date: 2012-10-12 01:16+0200\n"
"Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n" "Last-Translator: Fran Dieguez <frandieguez@gnome.org>\n"
"Language-Team: Galician <gnome-l10n-gl@gnome.org>\n" "Language-Team: gnome-l10n-gl@gnome.org\n"
"Language: gl\n" "Language: gl\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=2; plural=(n!=1);\n" "Plural-Forms: nplurals=2; plural=(n != 1);\n"
"X-Generator: Gtranslator 2.91.5\n" "X-Generator: Virtaal 0.7.1\n"
"X-Project-Style: gnome\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The application icon mode." msgid "The application icon mode."
@@ -55,15 +54,15 @@ msgid "Show only windows in the current workspace"
msgstr "Mostrar só as xanelas na área de traballo actual" msgstr "Mostrar só as xanelas na área de traballo actual"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Suspender" msgstr "Suspender"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Hibernar" msgstr "Hibernar"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Apagar" msgstr "Apagar"
@@ -192,13 +191,18 @@ msgstr ""
"Estabelece a pantalla na que mostrar o taboleiro. O valor predeterminado es " "Estabelece a pantalla na que mostrar o taboleiro. O valor predeterminado es "
"(-1), que é a pantalla principal." "(-1), que é a pantalla principal."
#: ../extensions/drive-menu/extension.js:57 #: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Fallo ao extraer a unidade «%s»:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Dispositivos extraíbeis" msgstr "Dispositivos extraíbeis"
#: ../extensions/drive-menu/extension.js:68 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" msgid "Open File"
msgstr "Abrir o xestor de ficheiros" msgstr "Abrir ficheiro"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -231,22 +235,22 @@ msgstr ""
msgid "Message:" msgid "Message:"
msgstr "Mensaxe:" msgstr "Mensaxe:"
#: ../extensions/gajim/extension.js:227 #: ../extensions/gajim/extension.js:226
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s está ausente." msgstr "%s está ausente."
#: ../extensions/gajim/extension.js:230 #: ../extensions/gajim/extension.js:229
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s está desconectado." msgstr "%s está desconectado."
#: ../extensions/gajim/extension.js:233 #: ../extensions/gajim/extension.js:232
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s está conectado." msgstr "%s está conectado."
#: ../extensions/gajim/extension.js:236 #: ../extensions/gajim/extension.js:235
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s está ocupado." msgstr "%s está ocupado."
@@ -279,9 +283,38 @@ msgstr ""
"respectiva, omitindo a disposición inferior por omisión do shell. Se cambia " "respectiva, omitindo a disposición inferior por omisión do shell. Se cambia "
"esta configuración deberá reiniciar o shell para que se apliquen os cambios." "esta configuración deberá reiniciar o shell para que se apliquen os cambios."
#: ../extensions/places-menu/extension.js:39 #: ../extensions/places-menu/extension.js:46
msgid "Removable Devices" msgid "Places"
msgstr "Dispositivos extraíbeis" msgstr "Lugares"
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "Dispositivos"
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "Marcadores"
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "Rede"
#: ../extensions/places-menu/placeDisplay.js:48
#, c-format
msgid "Failed to launch \"%s\""
msgstr "Produciuse un fallo ao iniciar «%s»"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "Cartafol persoal"
#: ../extensions/places-menu/placeDisplay.js:184
msgid "File System"
msgstr "Sistema de ficheiros"
#: ../extensions/places-menu/placeDisplay.js:188
msgid "Browse network"
msgstr "Explorar a rede"
#: ../extensions/systemMonitor/extension.js:213 #: ../extensions/systemMonitor/extension.js:213
msgid "CPU" msgid "CPU"
@@ -332,9 +365,19 @@ msgstr "Dereita"
msgid "Upside-down" msgid "Upside-down"
msgstr "Co de arriba cara abaixo" msgstr "Co de arriba cara abaixo"
#: ../extensions/xrandr-indicator/extension.js:82 #: ../extensions/xrandr-indicator/extension.js:50
msgid "Configure display settings..." msgid "Display"
msgstr "Configurar as preferencias de pantalla" msgstr "Pantalla"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "Preferencias da pantalla"
#~ msgid "Removable Devices"
#~ msgstr "Dispositivos extraíbeis"
#~ msgid "Configure display settings..."
#~ msgstr "Configurar as preferencias de pantalla…"
#~ msgid "The alt tab behaviour." #~ msgid "The alt tab behaviour."
#~ msgstr "O comportamento de Alt+Tab" #~ msgstr "O comportamento de Alt+Tab"
@@ -392,9 +435,6 @@ msgstr "Configurar as preferencias de pantalla…"
#~ msgid "Online Accounts" #~ msgid "Online Accounts"
#~ msgstr "Contas en liña" #~ msgstr "Contas en liña"
#~ msgid "System Settings"
#~ msgstr "Configuracións do sistema"
#~ msgid "Lock Screen" #~ msgid "Lock Screen"
#~ msgstr "Bloquear Pantaia" #~ msgstr "Bloquear Pantaia"
+15 -10
View File
@@ -9,8 +9,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n" "shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-09-07 15:25+0000\n" "POT-Creation-Date: 2012-10-08 17:42+0000\n"
"PO-Revision-Date: 2012-09-17 12:29+0700\n" "PO-Revision-Date: 2012-10-15 21:54+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n" "Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n" "Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n" "Language: id\n"
@@ -19,7 +19,7 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=1; plural=0;\n" "Plural-Forms: nplurals=1; plural=0;\n"
"X-Poedit-SourceCharset: UTF-8\n" "X-Poedit-SourceCharset: UTF-8\n"
"X-Generator: Poedit 1.5.3\n" "X-Generator: Poedit 1.5.4\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The application icon mode." msgid "The application icon mode."
@@ -56,15 +56,15 @@ msgid "Show only windows in the current workspace"
msgstr "Hanya tampilkan jendela dalam ruang kerja kini" msgstr "Hanya tampilkan jendela dalam ruang kerja kini"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Suspensi" msgstr "Suspensi"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Hibernasi" msgstr "Hibernasi"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Matikan" msgstr "Matikan"
@@ -193,13 +193,18 @@ msgstr ""
"Mengatur monitor tempat menampilkan dok. Nilai bawaan (-1) adalah monitor " "Mengatur monitor tempat menampilkan dok. Nilai bawaan (-1) adalah monitor "
"utama." "utama."
#: ../extensions/drive-menu/extension.js:56 #: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Saat mengeluarkan drive '%s' gagal:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Perangkat yang dapat dilepas" msgstr "Perangkat yang dapat dilepas"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" msgid "Open File"
msgstr "Buka manajer berkas" msgstr "Buka Berkas"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
+14 -95
View File
@@ -7,8 +7,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: lt\n" "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" "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" "POT-Creation-Date: 2012-10-16 14:24+0000\n"
"PO-Revision-Date: 2012-09-15 15:14+0300\n" "PO-Revision-Date: 2012-10-20 21:51+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n" "Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <>\n" "Language-Team: Lietuvių <>\n"
"Language: \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“." 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 #: ../extensions/alternate-tab/prefs.js:26
#| msgid "All & Thumbnails"
msgid "Thumbnail only" msgid "Thumbnail only"
msgstr "Tik miniatiūros" msgstr "Tik miniatiūros"
#: ../extensions/alternate-tab/prefs.js:27 #: ../extensions/alternate-tab/prefs.js:27
#| msgid "Application"
msgid "Application icon only" msgid "Application icon only"
msgstr "Tik programos piktograma" msgstr "Tik programos piktograma"
@@ -48,15 +46,15 @@ msgid "Show only windows in the current workspace"
msgstr "Rodyti tik dabartinio darbalaukio langus" msgstr "Rodyti tik dabartinio darbalaukio langus"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Užmigdyti" msgstr "Užmigdyti"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Hibernuoti" msgstr "Hibernuoti"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Išjungti" msgstr "Išjungti"
@@ -105,77 +103,19 @@ msgstr "Sukurti naują atitikimo taisyklę"
msgid "Add" msgid "Add"
msgstr "Pridėti" msgstr "Pridėti"
#: ../extensions/dock/extension.js:600 #: ../extensions/drive-menu/extension.js:72
msgid "Drag here to add favorites" #, c-format
msgstr "Nuvilkite čia, jei norite pridėt prie mėgstamų" msgid "Ejecting drive '%s' failed:"
msgstr "Laikmenos „%s“ išstūmimas nepavyko:"
#: ../extensions/dock/extension.js:926 #: ../extensions/drive-menu/extension.js:89
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
msgid "Removable devices" msgid "Removable devices"
msgstr "Išimami įrenginiai" msgstr "Išimami įrenginiai"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" #| msgid "Open file manager"
msgstr "Atverti failų tvarkyklę" msgid "Open File"
msgstr "Atverti failą"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -203,26 +143,6 @@ msgstr ""
msgid "Message:" msgid "Message:"
msgstr "Pranešimas:" 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 #: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "Naudoti daugiau ekrano langams " msgstr "Naudoti daugiau ekrano langams "
@@ -326,7 +246,6 @@ msgid "Display"
msgstr "Vaizduoklis" msgstr "Vaizduoklis"
#: ../extensions/xrandr-indicator/extension.js:80 #: ../extensions/xrandr-indicator/extension.js:80
#| msgid "System Settings"
msgid "Display Settings" msgid "Display Settings"
msgstr "Vaizduoklio nustatymai" msgstr "Vaizduoklio nustatymai"
+156 -82
View File
@@ -1,92 +1,69 @@
# Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER
# This file is distributed under the same license as the PACKAGE package. # This file is distributed under the same license as the PACKAGE package.
# #
#
# Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012. # Rūdofls Mazurs <rudolfs.mazurs@gmail.com>, 2011, 2012.
# Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012. # Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>, 2012.
#
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: \n" "Project-Id-Version: \n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-06-20 20:25+0300\n" "POT-Creation-Date: 2012-10-12 22:58+0300\n"
"PO-Revision-Date: 2012-06-20 20:33+0300\n" "PO-Revision-Date: 2012-10-12 23:25+0300\n"
"Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n" "Last-Translator: Rūdolfs Mazurs <rudolfs.mazurs@gmail.com>\n"
"Language-Team: Latviešu <lata-l10n@googlegroups.com>\n" "Language-Team: Latvian <lata-l10n@googlegroups.com>\n"
"Language: lv\n" "Language: lv\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.2\n" "X-Generator: Lokalize 1.4\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : " "Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n != 0 ? 1 : "
"2);\n" "2);\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The alt tab behaviour." msgid "The application icon mode."
msgstr "Alt tab uzvedība." msgstr "Lietotnes ikonas režīms."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "" msgid ""
"Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and " "Configures how the windows are shown in the switcher. Valid possibilities "
"workspace_icons. See the configuration dialogs for details." "are 'thumbnail-only' (shows a thumbnail of the window), 'app-icon-"
"only' (shows only the application icon) or 'both'."
msgstr "" msgstr ""
"Iestata Alt-Tab uzvedību. Iespējamās vērtības: all_thumbnails un " "Konfigurē, kā pārslēdzējā tiek parādīts logs. Derīgās iespējas ir "
"workspace_icons. Skatiet konfigurācijas dialoglodziņus, lai uzzinātu vairāk." "“thumbnail-only” (rāda loga sīktēlu), “app-icon-only” (rāda tikai lietotnes "
"ikonu) vai “both” (abi)."
#: ../extensions/alternate-tab/prefs.js:26
msgid "Thumbnail only"
msgstr "Tikai sīktēli"
#: ../extensions/alternate-tab/prefs.js:27 #: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails" msgid "Application icon only"
msgstr "Viss un sīktēli" msgstr "Tikai lietotnes ikonas"
#: ../extensions/alternate-tab/prefs.js:28 #: ../extensions/alternate-tab/prefs.js:28
msgid "" msgid "Thumbnail and application icon"
"This mode presents all applications from all workspaces in one selection " msgstr "Sīktēli un lietotņu ikonas"
"list. Instead of using the application icon of every window, it uses small "
"thumbnails resembling the window itself."
msgstr ""
"Šis režīms parāda visas lietotnes no visām darbvietām vienā izvēles "
"sarakstā. Tā vietā, lai izmantotu lietotnes ikonu katrā logā, tas izmanto "
"sīktēlus, kas izskatās pēc paša loga."
#: ../extensions/alternate-tab/prefs.js:34 #: ../extensions/alternate-tab/prefs.js:43
msgid "Workspace & Icons" msgid "Present windows as"
msgstr "Darba vieta un ikonas" msgstr "Rādīt logus kā"
#: ../extensions/alternate-tab/prefs.js:35 #: ../extensions/alternate-tab/prefs.js:68
msgid "" msgid "Show only windows in the current workspace"
"This mode let's you switch between the applications of your current " msgstr "Rādīt tikai logus, kas ir pašreizējā darbvietā"
"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 ""
"Šis režīms ļauj jums pārslēgties starp lietotnēm jūsu pašreizējā darbvietā "
"un dod jums papildu iespēju pārslēgties uz pēdējo lietoto lietotni "
"iepriekšējā darbvietā. Tas vienmēr ir pēdējais simbols sarakstā un ir "
"atdalīts ar semikolu/vertikālu līniju, ja ir pieejams.\n"
"Katru logu reprezentē šī lietotnes ikona."
#: ../extensions/alternate-tab/prefs.js:41
msgid "Move current selection to front before closing the popup"
msgstr ""
"Pārvietot pašreizējo izvēli uz priekšu pirms aizvērt uznirstošo lodziņu"
#: ../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 var izmantot dažādos režīmos, kas ietekmē veidu, kā logi tiek "
"izvēlēti un attēloti."
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Iesnaudināt" msgstr "Iesnaudināt"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Iemidzināt" msgstr "Iemidzināt"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Izslēgt" msgstr "Izslēgt"
@@ -115,7 +92,7 @@ msgid ""
"A list of strings, each containing an application id (desktop file name), " "A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number" "followed by a colon and the workspace number"
msgstr "" msgstr ""
"Saraksts ar virknēm, kas katra satur lietotnes id (darbvirsmas faila " "Saraksts ar virknēm, kas katra satur lietotnes id (darbvirsmas datnes "
"nosaukums), kam seko kols un darbvietas numurs" "nosaukums), kam seko kols un darbvietas numurs"
#: ../extensions/auto-move-windows/prefs.js:55 #: ../extensions/auto-move-windows/prefs.js:55
@@ -125,7 +102,7 @@ msgstr "Lietotne"
#: ../extensions/auto-move-windows/prefs.js:64 #: ../extensions/auto-move-windows/prefs.js:64
#: ../extensions/auto-move-windows/prefs.js:106 #: ../extensions/auto-move-windows/prefs.js:106
msgid "Workspace" msgid "Workspace"
msgstr "Darbavieta" msgstr "Darbvieta"
#: ../extensions/auto-move-windows/prefs.js:80 #: ../extensions/auto-move-windows/prefs.js:80
msgid "Add rule" msgid "Add rule"
@@ -168,7 +145,7 @@ msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or " "Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'" "'left'"
msgstr "" msgstr ""
"Iestata doka novietojumu ekrānā. Atļautās vērtības ir 'right' vai 'left'" "Iestata doka novietojumu ekrānā. Atļautās vērtības ir right vai left"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3 #: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size" msgid "Icon size"
@@ -191,8 +168,8 @@ msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and " "Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'" "'move'"
msgstr "" msgstr ""
"Iestata doka slēpšanas efektu. Atļautās vērtības ir 'resize' vai 'rescale' " "Iestata doka slēpšanas efektu. Atļautās vērtības ir resize vai rescale” un "
"un 'move'" "move"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8 #: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration" msgid "Autohide duration"
@@ -214,13 +191,18 @@ msgstr ""
"Iestata monitoru, lai rādītu doku. Noklusējuma vērtība (-1) nozīmē primāro " "Iestata monitoru, lai rādītu doku. Noklusējuma vērtība (-1) nozīmē primāro "
"monitoru." "monitoru."
#: ../extensions/drive-menu/extension.js:57 #: ../extensions/drive-menu/extension.js:72
msgid "Removable devices" #, c-format
msgstr "Noņemamās ierīces" msgid "Ejecting drive '%s' failed:"
msgstr "Neizdevās izgrūst dzini “%s”:"
#: ../extensions/drive-menu/extension.js:68 #: ../extensions/drive-menu/extension.js:89
msgid "Open file manager" msgid "Removable devices"
msgstr "Atvērt datņu pārvaldnieku" msgstr "Izņemamās ierīces"
#: ../extensions/drive-menu/extension.js:106
msgid "Open File"
msgstr "Atvērt datni"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -254,25 +236,25 @@ msgstr ""
msgid "Message:" msgid "Message:"
msgstr "Ziņojums:" msgstr "Ziņojums:"
#: ../extensions/gajim/extension.js:227 #: ../extensions/gajim/extension.js:226
#, c-format #, c-format
msgid "%s is away." msgid "%s is away."
msgstr "%s\" ir prom." msgstr "%s ir prom."
#: ../extensions/gajim/extension.js:230 #: ../extensions/gajim/extension.js:229
#, c-format #, c-format
msgid "%s is offline." msgid "%s is offline."
msgstr "%s ir nesaistē." msgstr "%s ir nesaistē."
#: ../extensions/gajim/extension.js:233 #: ../extensions/gajim/extension.js:232
#, c-format #, c-format
msgid "%s is online." msgid "%s is online."
msgstr "%s ir tiešsaistē." msgstr "%s ir tiešsaistē."
#: ../extensions/gajim/extension.js:236 #: ../extensions/gajim/extension.js:235
#, c-format #, c-format
msgid "%s is busy." msgid "%s is busy."
msgstr "%s\" ir aizņemts." msgstr "%s ir aizņemts."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1 #: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows" msgid "Use more screen for windows"
@@ -303,21 +285,58 @@ msgstr ""
"noklusēto novietojumu (apakšā). Lai šī iestatījuma izmaiņas stātos spēkā, " "noklusēto novietojumu (apakšā). Lai šī iestatījuma izmaiņas stātos spēkā, "
"jāpārstartē čaula." "jāpārstartē čaula."
#: ../extensions/places-menu/extension.js:39 #: ../extensions/places-menu/extension.js:46
msgid "Removable Devices" msgid "Places"
msgstr "Noņemamās ierīces" msgstr "Vietas"
#: ../extensions/places-menu/extension.js:47
msgid "Devices"
msgstr "Ierīces"
#: ../extensions/places-menu/extension.js:48
msgid "Bookmarks"
msgstr "Grāmatzīmes"
#: ../extensions/places-menu/extension.js:49
msgid "Network"
msgstr "Tīkls"
#: ../extensions/places-menu/placeDisplay.js:48
#, c-format
msgid "Failed to launch \"%s\""
msgstr "Neizdevās palaist “%s”"
#: ../extensions/places-menu/placeDisplay.js:121
msgid "Home"
msgstr "Mājas"
#: ../extensions/places-menu/placeDisplay.js:184
msgid "File System"
msgstr "Datņu sistēma"
#: ../extensions/places-menu/placeDisplay.js:188
msgid "Browse network"
msgstr "Pārlūkot tīklu"
#: ../extensions/systemMonitor/extension.js:213
msgid "CPU"
msgstr "Procesors"
#: ../extensions/systemMonitor/extension.js:266
msgid "Memory"
msgstr "Atmiņa"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1 #: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "Theme name" msgid "Theme name"
msgstr "Tēmas nosaukums" msgstr "Motīva nosaukums"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2 #: ../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" msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Tēmas nosaukums, ko ielādēt no ~/.themes/name/gnome-shell" msgstr "Motīva nosaukums, ko ielādēt no ~/.themes/name/gnome-shell"
#: ../extensions/workspace-indicator/extension.js:30 #: ../extensions/workspace-indicator/extension.js:30
msgid "Workspace Indicator" msgid "Workspace Indicator"
msgstr "Darbavietu indikators" msgstr "Darbvietu indikators"
#: ../extensions/workspace-indicator/prefs.js:141 #: ../extensions/workspace-indicator/prefs.js:141
msgid "Workspace names:" msgid "Workspace names:"
@@ -348,9 +367,67 @@ msgstr "Pa labi"
msgid "Upside-down" msgid "Upside-down"
msgstr "Otrādi" msgstr "Otrādi"
#: ../extensions/xrandr-indicator/extension.js:82 #: ../extensions/xrandr-indicator/extension.js:50
msgid "Configure display settings..." msgid "Display"
msgstr "Konfigurēt displeja iestatījumus..." msgstr "Displejs"
#: ../extensions/xrandr-indicator/extension.js:80
msgid "Display Settings"
msgstr "Displeja iestatījumi"
#~ msgid "The alt tab behaviour."
#~ msgstr "Alt tab uzvedība."
#~ msgid ""
#~ "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
#~ "workspace_icons. See the configuration dialogs for details."
#~ msgstr ""
#~ "Iestata Alt-Tab uzvedību. Iespējamās vērtības: all_thumbnails un "
#~ "workspace_icons. Skatiet konfigurācijas dialoglodziņus, lai uzzinātu "
#~ "vairāk."
#~ 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 ""
#~ "Šis režīms parāda visas lietotnes no visām darbvietām vienā izvēles "
#~ "sarakstā. Tā vietā, lai izmantotu lietotnes ikonu katrā logā, tas izmanto "
#~ "sīktēlus, kas izskatās pēc paša loga."
#~ msgid "Workspace & Icons"
#~ msgstr "Darba vieta un ikonas"
#~ 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 ""
#~ "Šis režīms ļauj jums pārslēgties starp lietotnēm jūsu pašreizējā "
#~ "darbvietā un dod jums papildu iespēju pārslēgties uz pēdējo lietoto "
#~ "lietotni iepriekšējā darbvietā. Tas vienmēr ir pēdējais simbols sarakstā "
#~ "un ir atdalīts ar semikolu/vertikālu līniju, ja ir pieejams.\n"
#~ "Katru logu reprezentē šī lietotnes ikona."
#~ msgid "Move current selection to front before closing the popup"
#~ msgstr ""
#~ "Pārvietot pašreizējo izvēli uz priekšu pirms aizvērt uznirstošo lodziņu"
#~ msgid ""
#~ "The Alternate Tab can be used in different modes, that affect the way "
#~ "windows are chosen and presented."
#~ msgstr ""
#~ "Alternate Tab var izmantot dažādos režīmos, kas ietekmē veidu, kā logi "
#~ "tiek izvēlēti un attēloti."
#~ msgid "Removable Devices"
#~ msgstr "Noņemamās ierīces"
#~ msgid "Configure display settings..."
#~ msgstr "Konfigurēt displeja iestatījumus..."
#~ msgid "Notifications" #~ msgid "Notifications"
#~ msgstr "Paziņojumi" #~ msgstr "Paziņojumi"
@@ -359,9 +436,6 @@ msgstr "Konfigurēt displeja iestatījumus..."
#~ msgid "Online Accounts" #~ msgid "Online Accounts"
#~ msgstr "Tiešsaistes konti" #~ msgstr "Tiešsaistes konti"
#~ msgid "System Settings"
#~ msgstr "Sistēmas iestatījumi"
#~ msgid "Lock Screen" #~ msgid "Lock Screen"
#~ msgstr "Bloķēt ekrānu" #~ msgstr "Bloķēt ekrānu"
+136 -115
View File
@@ -8,15 +8,15 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions gnome-3-0\n" "Project-Id-Version: gnome-shell-extensions gnome-3-0\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-" "Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n" "shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-08-18 00:42+0000\n" "POT-Creation-Date: 2012-10-16 14:24+0000\n"
"PO-Revision-Date: 2012-08-19 15:11+0530\n" "PO-Revision-Date: 2012-10-25 09:10+0530\n"
"Last-Translator: A S Alam <aalam@users.sf.net>\n" "Last-Translator: A S Alam <aalam@users.sf.net>\n"
"Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n" "Language-Team: Punjabi/Panjabi <punjabi-users@lists.sf.net>\n"
"Language: pa\n" "Language: pa\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Generator: Lokalize 1.4\n" "X-Generator: Lokalize 1.5\n"
"Plural-Forms: nplurals=2; plural=n != 1;\n" "Plural-Forms: nplurals=2; plural=n != 1;\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1 #: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
@@ -31,12 +31,10 @@ msgid ""
msgstr "" msgstr ""
#: ../extensions/alternate-tab/prefs.js:26 #: ../extensions/alternate-tab/prefs.js:26
#| msgid "All & Thumbnails"
msgid "Thumbnail only" msgid "Thumbnail only"
msgstr "ਕੇਵਲ ਥੰਮਨੇਲ ਹੀ" msgstr "ਕੇਵਲ ਥੰਮਨੇਲ ਹੀ"
#: ../extensions/alternate-tab/prefs.js:27 #: ../extensions/alternate-tab/prefs.js:27
#| msgid "Application"
msgid "Application icon only" msgid "Application icon only"
msgstr "ਐਪਲੀਕੇਸ਼ਨ ਆਈਕਾਨ ਹੀ" msgstr "ਐਪਲੀਕੇਸ਼ਨ ਆਈਕਾਨ ਹੀ"
@@ -53,16 +51,15 @@ msgid "Show only windows in the current workspace"
msgstr "ਮੌਜੂਦਾ ਵਰਕਸਪੇਸ ਵਿੱਚੋਂ ਹੀ ਵਿੰਡੋਜ਼ ਹੀ ਵੇਖਾਓ" msgstr "ਮੌਜੂਦਾ ਵਰਕਸਪੇਸ ਵਿੱਚੋਂ ਹੀ ਵਿੰਡੋਜ਼ ਹੀ ਵੇਖਾਓ"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "ਸਸਪੈਂਡ" msgstr "ਸਸਪੈਂਡ"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "ਹਾਈਬਰਨੇਟ" msgstr "ਹਾਈਬਰਨੇਟ"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
#| msgid "Power Off..."
msgid "Power Off" msgid "Power Off"
msgstr "ਬੰਦ ਕਰੋ" msgstr "ਬੰਦ ਕਰੋ"
@@ -116,87 +113,19 @@ msgstr "ਨਵਾਂ ਮਿਲਾਉਣ ਨਿਯਮ ਬਣਾਉ"
msgid "Add" msgid "Add"
msgstr "ਸ਼ਾਮਲ" msgstr "ਸ਼ਾਮਲ"
#: ../extensions/dock/extension.js:600 #: ../extensions/drive-menu/extension.js:72
msgid "Drag here to add favorites" #, c-format
msgstr "ਪਸੰਦ ਵਿੱਚ ਜੋੜਨ ਲਈ ਇੱਥੇ ਸੁੱਟੋ" msgid "Ejecting drive '%s' failed:"
msgstr "ਡਰਾਇਵ '%s' ਬਾਹਰ ਕੱਢਣ ਲਈ ਫੇਲ੍ਹ:"
#: ../extensions/dock/extension.js:926 #: ../extensions/drive-menu/extension.js:89
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"
msgid "Removable devices" msgid "Removable devices"
msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ" msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ"
#: ../extensions/drive-menu/extension.js:68 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" #| msgid "Open file manager"
msgstr "ਫਾਇਲ ਮੈਨੇਜਰ ਖੋਲ੍ਹੋ" msgid "Open File"
msgstr "ਫਾਇਲ ਖੋਲ੍ਹੋ"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
@@ -227,26 +156,6 @@ msgstr ""
msgid "Message:" msgid "Message:"
msgstr "ਸੁਨੇਹਾ:" 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 #: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows" msgid "Use more screen for windows"
msgstr "ਵਿੰਡੋਜ਼ ਲਈ ਹੋਰ ਸਕਰੀਨ ਵਰਤੋਂ" msgstr "ਵਿੰਡੋਜ਼ ਲਈ ਹੋਰ ਸਕਰੀਨ ਵਰਤੋਂ"
@@ -269,9 +178,46 @@ msgid ""
"restarting the shell to have any effect." "restarting the shell to have any effect."
msgstr "" msgstr ""
#: ../extensions/places-menu/extension.js:39 #: ../extensions/places-menu/extension.js:46
msgid "Removable Devices" msgid "Places"
msgstr "ਹਟਾਉਣਯੋਗ ਜੰਤਰ" 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 #: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "Theme name" msgid "Theme name"
@@ -314,9 +260,87 @@ msgstr "ਸੱਜੇ"
msgid "Upside-down" msgid "Upside-down"
msgstr "ਉਤਲਾ ਹੇਠ" msgstr "ਉਤਲਾ ਹੇਠ"
#: ../extensions/xrandr-indicator/extension.js:82 #: ../extensions/xrandr-indicator/extension.js:50
msgid "Configure display settings..." msgid "Display"
msgstr "ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ ਸੰਰਚਨਾ..." 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." #~ msgid "The alt tab behaviour."
#~ msgstr "alt tab ਰਵੱਈਆ ਹੈ।" #~ msgstr "alt tab ਰਵੱਈਆ ਹੈ।"
@@ -343,9 +367,6 @@ msgstr "ਡਿਸਪਲੇਅ ਸੈਟਿੰਗ ਸੰਰਚਨਾ..."
#~ msgid "My Account" #~ msgid "My Account"
#~ msgstr "ਮੇਰਾ ਅਕਾਊਂਟ" #~ msgstr "ਮੇਰਾ ਅਕਾਊਂਟ"
#~ msgid "System Settings"
#~ msgstr "ਸਿਸਟਮ ਸੈਟਿੰਗ"
#~ msgid "Lock Screen" #~ msgid "Lock Screen"
#~ msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ" #~ msgstr "ਸਕਰੀਨ ਲਾਕ ਕਰੋ"
+14 -9
View File
@@ -10,8 +10,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions\n" "Project-Id-Version: gnome-shell-extensions\n"
"Report-Msgid-Bugs-To: \n" "Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2012-09-06 19:51+0200\n" "POT-Creation-Date: 2012-10-08 23:03+0200\n"
"PO-Revision-Date: 2012-09-06 19:52+0200\n" "PO-Revision-Date: 2012-10-08 23:04+0200\n"
"Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n" "Last-Translator: Piotr Drąg <piotrdrag@gmail.com>\n"
"Language-Team: Polish <gnomepl@aviary.pl>\n" "Language-Team: Polish <gnomepl@aviary.pl>\n"
"Language: pl\n" "Language: pl\n"
@@ -58,15 +58,15 @@ msgid "Show only windows in the current workspace"
msgstr "Wyświetlanie tylko okien w bieżącym obszarze roboczym" msgstr "Wyświetlanie tylko okien w bieżącym obszarze roboczym"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "Uśpij" msgstr "Uśpij"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "Hibernuj" msgstr "Hibernuj"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Wyłącz komputer" msgstr "Wyłącz komputer"
@@ -195,13 +195,18 @@ msgstr ""
"Ustawia, na którym monitorze wyświetlać dok. Domyślna wartość (-1) oznacza " "Ustawia, na którym monitorze wyświetlać dok. Domyślna wartość (-1) oznacza "
"główny monitor." "główny monitor."
#: ../extensions/drive-menu/extension.js:56 #: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Wysunięcie napędu \"%s\" się nie powiodło:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Urządzenia wymienne" msgstr "Urządzenia wymienne"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" msgid "Open File"
msgstr "Otwórz menedżer plików" msgstr "Otwórz plik"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"
+14 -9
View File
@@ -8,8 +8,8 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n" "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" "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-10 16:19+0000\n" "POT-Creation-Date: 2012-10-08 17:42+0000\n"
"PO-Revision-Date: 2012-09-12 21:04+0100\n" "PO-Revision-Date: 2012-10-08 21:14+0100\n"
"Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n" "Last-Translator: Matej Urbančič <mateju@svn.gnome.org>\n"
"Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n" "Language-Team: Slovenian GNOME Translation Team <gnome-si@googlegroups.com>\n"
"Language: \n" "Language: \n"
@@ -50,15 +50,15 @@ msgid "Show only windows in the current workspace"
msgstr "Pokaži le okna trenutne delovne površine" msgstr "Pokaži le okna trenutne delovne površine"
#. add the new entries #. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68 #: ../extensions/alternative-status-menu/extension.js:86
msgid "Suspend" msgid "Suspend"
msgstr "V pripravljenost" msgstr "V pripravljenost"
#: ../extensions/alternative-status-menu/extension.js:73 #: ../extensions/alternative-status-menu/extension.js:91
msgid "Hibernate" msgid "Hibernate"
msgstr "V mirovanje" msgstr "V mirovanje"
#: ../extensions/alternative-status-menu/extension.js:78 #: ../extensions/alternative-status-menu/extension.js:96
msgid "Power Off" msgid "Power Off"
msgstr "Izklopi" msgstr "Izklopi"
@@ -171,13 +171,18 @@ msgstr "Zaslon"
msgid "Sets monitor to display dock in. The default value (-1) is the primary monitor." 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." msgstr "Nastavi zaslon za prikaz sidrišča. Privzeta vrednost (-1) določa osnovni zaslon."
#: ../extensions/drive-menu/extension.js:56 #: ../extensions/drive-menu/extension.js:72
#, c-format
msgid "Ejecting drive '%s' failed:"
msgstr "Izmetavanje pogona '%s' je spodletelo:"
#: ../extensions/drive-menu/extension.js:89
msgid "Removable devices" msgid "Removable devices"
msgstr "Odstranljive naprave" msgstr "Odstranljive naprave"
#: ../extensions/drive-menu/extension.js:67 #: ../extensions/drive-menu/extension.js:106
msgid "Open file manager" msgid "Open File"
msgstr "Odpri upravljalnik datotek" msgstr "Odpri datoteko"
#: ../extensions/example/extension.js:17 #: ../extensions/example/extension.js:17
msgid "Hello, world!" msgid "Hello, world!"