Compare commits

...

7 Commits
3.5.4 ... 3.5.5

Author SHA1 Message Date
Giovanni Campagna
12e91b86e5 Bump version to 3.5.5
To go along GNOME Shell 3.5.5
2012-08-07 23:41:18 +02:00
Giovanni Campagna
5e89c761ca alternate-tab: show an application icon overlaid to the thumbnails
In All&Thumbnails mode, show an application icon above the thumbnail,
for easier recognition of the window.
The old behaviour can be restored in the preferences dialog.
2012-08-07 23:22:25 +02:00
Giovanni Campagna
d12307991a alternate-tab: refactor All & Thumbnails
Split the two modes in two different modules, for easier maintenance.
Refactor the AllThumbnails code completely, by copying relevant
or useful code for gnome-shell directly instead of hacking around
it.
2012-08-07 23:22:19 +02:00
Dirgita
c711ce83fa Updated Indonesian translation 2012-08-07 23:40:11 +07:00
Мирослав Николић
96f91eda59 Updated Serbian translation 2012-08-07 10:40:36 +02:00
Giovanni Campagna
e2a76b665a Convenience: relicense to BSD
This module is meant to be a copy-lib, and it is used all over the
place (including GPLv3, LGPL or BSD licensed extensions). I don't
want to block an extension for license incompatibility.

The rest of the repository is still GPLv2, as it is the tarball
distribution and individual extensions downloaded from the website.
2012-08-06 23:44:27 +02:00
Aurimas Černius
c638e6c0f2 Updated Lithuanian translation 2012-08-05 17:07:34 +03:00
13 changed files with 1102 additions and 684 deletions

11
NEWS
View File

@@ -1,6 +1,15 @@
3.5.5
=====
* convenience module has been relicensed to BSD,
for compatibility with GPLv3 extensions
* alternate-tab has been refactored and seen various
improvements to all&thumbnails mode, including a new
overlaid application icon
* updated translations (lt, id, sr)
3.5.4
=====
* updates translations (de, es, ar, sl, lv, zh_CN)
* updated translations (de, es, ar, sl, lv, zh_CN)
3.5.2
=====

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell-extensions],[3.5.4],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_INIT([gnome-shell-extensions],[3.5.5],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_CONFIG_MACRO_DIR([m4])
AC_CONFIG_AUX_DIR([config])

View File

@@ -1,6 +1,6 @@
EXTENSION_ID = alternate-tab
EXTRA_MODULES = prefs.js
EXTRA_MODULES = allThumbnails.js workspaceIcons.js prefs.js
include ../../extension.mk
include ../../settings.mk

View File

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

View File

@@ -28,467 +28,16 @@ const N_ = function(e) { return e };
const ExtensionUtils = imports.misc.extensionUtils;
const Me = ExtensionUtils.getCurrentExtension();
const Convenience = Me.imports.convenience;
const WorkspaceIcons = Me.imports.workspaceIcons;
const AllThumbnails = Me.imports.allThumbnails;
let settings;
const POPUP_DELAY_TIMEOUT = 150; // milliseconds
const SETTINGS_BEHAVIOUR_KEY = 'behaviour';
const SETTINGS_HIGHLIGHT_SELECTED_KEY = 'highlight-selected';
const AltTabPopupWorkspaceIcons = new Lang.Class({
Name: 'AlternateTab.AltTabPopupWorkspaceIcons',
Extends: AltTab.AltTabPopup,
_windowActivated : function(thumbnailList, n) { },
show : function(backward, binding, mask) {
let appSys = Shell.AppSystem.get_default();
let apps = appSys.get_running ();
if (!apps.length)
return false;
if (!Main.pushModal(this.actor)) {
// Probably someone else has a pointer grab, try again with keyboard only
if (!Main.pushModal(this.actor, global.get_current_time(), Meta.ModalOptions.POINTER_ALREADY_GRABBED)) {
return false;
}
}
this._haveModal = true;
this._modifierMask = AltTab.primaryModifier(mask);
this.actor.connect('key-press-event', Lang.bind(this, this._keyPressEvent));
this.actor.connect('key-release-event', Lang.bind(this, this._keyReleaseEvent));
this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
this._appSwitcher = new WindowSwitcher(apps, this);
this.actor.add_actor(this._appSwitcher.actor);
this._appSwitcher.connect('item-activated', Lang.bind(this, this._appActivated));
this._appSwitcher.connect('item-entered', Lang.bind(this, this._appEntered));
this._appIcons = this._appSwitcher.icons;
// Need to force an allocation so we can figure out whether we
// need to scroll when selecting
this.actor.opacity = 0;
this.actor.show();
this.actor.get_allocation_box();
this._highlight_selected = settings.get_boolean(SETTINGS_HIGHLIGHT_SELECTED_KEY);
// Make the initial selection
if (binding == 'switch_group') {
//see AltTab.AltTabPopup.show function
//cached windows are always of length one, so select first app and the window
//the direction doesn't matter, so ignore backward
this._select(0, 0);
} else if (binding == 'switch_group_backward') {
this._select(0, 0);
} else if (binding == 'switch_windows_backward') {
this._select(this._appIcons.length - 1);
} else if (this._appIcons.length == 1) {
this._select(0);
} else if (backward) {
this._select(this._appIcons.length - 1);
} else {
this._select(1);
}
// There's a race condition; if the user released Alt before
// we got the grab, then we won't be notified. (See
// https://bugzilla.gnome.org/show_bug.cgi?id=596695 for
// details.) So we check now. (Have to do this after updating
// selection.)
let [x, y, mods] = global.get_pointer();
if (!(mods & this._modifierMask)) {
this._finish();
return false;
}
// We delay showing the popup so that fast Alt+Tab users aren't
// disturbed by the popup briefly flashing.
this._initialDelayTimeoutId = Mainloop.timeout_add(POPUP_DELAY_TIMEOUT,
Lang.bind(this, function () {
this.actor.opacity = 255;
this._initialDelayTimeoutId = 0;
}));
return true;
},
_select : function(app, window, forceAppFocus) {
if (app != this._currentApp || window == null) {
if (this._thumbnails)
this._destroyThumbnails();
}
if (this._thumbnailTimeoutId != 0) {
Mainloop.source_remove(this._thumbnailTimeoutId);
this._thumbnailTimeoutId = 0;
}
this._thumbnailsFocused = (window != null) && !forceAppFocus;
this._currentApp = app;
this._currentWindow = window ? window : -1;
this._appSwitcher.highlight(app, this._thumbnailsFocused);
if (window != null) {
if (!this._thumbnails)
this._createThumbnails();
this._currentWindow = window;
this._thumbnails.highlight(window, forceAppFocus);
} else if (this._appIcons[this._currentApp].cachedWindows.length > 1 &&
!forceAppFocus) {
this._thumbnailTimeoutId = Mainloop.timeout_add (
THUMBNAIL_POPUP_TIME,
Lang.bind(this, this._timeoutPopupThumbnails));
}
if (this._highlight_selected) {
let current_app = this._appIcons[this._currentApp];
Main.activateWindow(current_app.cachedWindows[0]);
}
},
_finish : function() {
let app = this._appIcons[this._currentApp];
if (!app)
return;
/*
* We've to restore the original Z-depth and order of all windows.
*
* Gnome-shell doesn't give an option to change Z-depth without
* messing the window's user_time.
*
* Pointless if the popup wasn't showed.
*/
if (this._highlight_selected && this.actor.opacity == 255) {
for (let i = this._appIcons.length - 2; i >= 0; i--) {
let app_walker = this._appIcons[i];
Main.activateWindow(app_walker.cachedWindows[0], global.get_current_time() - i - 1);
}
}
Main.activateWindow(app.cachedWindows[0]);
this.destroy();
}
});
const AppIcon = new Lang.Class({
Name: 'AlternateTab.AppIcon',
Extends: AltTab.AppIcon,
_init: function(app, window) {
this.app = app;
this.cachedWindows = [];
this.cachedWindows.push(window);
this.actor = new St.BoxLayout({ style_class: 'alt-tab-app',
vertical: true });
this.icon = null;
this._iconBin = new St.Bin({ x_fill: true, y_fill: true });
this.actor.add(this._iconBin, { x_fill: false, y_fill: false } );
let title = window.get_title();
if (title) {
this.label = new St.Label({ text: title });
let bin = new St.Bin({ x_align: St.Align.MIDDLE });
bin.add_actor(this.label);
this.actor.add(bin);
}
else {
this.label = new St.Label({ text: this.app.get_name() });
this.actor.add(this.label, { x_fill: false });
}
}
});
const WindowSwitcher = new Lang.Class({
Name: 'AlternateTab.WindowSwitcher',
Extends: AltTab.AppSwitcher,
_init : function(apps, altTabPopup) {
// Horrible HACK!
// We inherit from AltTab.AppSwitcher, but only chain up to
// AltTab.SwitcherList._init, to bypass AltTab.AppSwitcher._init
AltTab.SwitcherList.prototype._init.call(this, true);
// Construct the AppIcons, sort by time, add to the popup
let activeWorkspace = global.screen.get_active_workspace();
let workspaceIcons = [];
let otherIcons = [];
for (let i = 0; i < apps.length; i++) {
// Cache the window list now; we don't handle dynamic changes here,
// and we don't want to be continually retrieving it
let windows = apps[i].get_windows();
for(let j = 0; j < windows.length; j++) {
let appIcon = new AppIcon(apps[i], windows[j]);
if (this._isWindowOnWorkspace(windows[j], activeWorkspace)) {
workspaceIcons.push(appIcon);
}
else {
otherIcons.push(appIcon);
}
}
}
workspaceIcons.sort(Lang.bind(this, this._sortAppIcon));
otherIcons.sort(Lang.bind(this, this._sortAppIcon));
if(otherIcons.length > 0) {
let mostRecentOtherIcon = otherIcons[0];
otherIcons = [];
otherIcons.push(mostRecentOtherIcon);
}
this.icons = [];
this._arrows = [];
for (let i = 0; i < workspaceIcons.length; i++)
this._addIcon(workspaceIcons[i]);
if (workspaceIcons.length > 0 && otherIcons.length > 0)
this.addSeparator();
for (let i = 0; i < otherIcons.length; i++)
this._addIcon(otherIcons[i]);
this._curApp = -1;
this._iconSize = 0;
this._altTabPopup = altTabPopup;
this._mouseTimeOutId = 0;
},
_isWindowOnWorkspace: function(w, workspace) {
if (w.get_workspace() == workspace)
return true;
return false;
},
_sortAppIcon : function(appIcon1, appIcon2) {
let t1 = appIcon1.cachedWindows[0].get_user_time();
let t2 = appIcon2.cachedWindows[0].get_user_time();
if (t2 > t1) return 1;
else return -1;
}
});
const AltTabPopupAllThumbnails = new Lang.Class({
Name: 'AlternateTab.AltTabPopup.AllThumbnails',
Extends: AltTab.AltTabPopup,
_init : function() {
this.actor = new Shell.GenericContainer({ name: 'altTabPopup',
reactive: true });
this.actor.connect('get-preferred-width', Lang.bind(this, this._getPreferredWidth));
this.actor.connect('get-preferred-height', Lang.bind(this, this._getPreferredHeight));
this.actor.connect('allocate', Lang.bind(this, this._allocate));
this.actor.connect('destroy', Lang.bind(this, this._onDestroy));
this._haveModal = false;
this._currentApp = 0;
this._currentWindow = -1;
this._thumbnailTimeoutId = 0;
this._motionTimeoutId = 0;
// Initially disable hover so we ignore the enter-event if
// the switcher appears underneath the current pointer location
this._disableHover();
//this.show();
Main.uiGroup.add_actor(this.actor);
//this._select(0);
},
show : function(backward, binding, mask) {
let windows = global.get_window_actors();
let list = '';
let normal_windows= [];
let appIcons = [];
let appSys = Shell.AppSystem.get_default();
let apps = appSys.get_running();
for (let w = windows.length-1; w >= 0; w--) {
let win = windows[w].get_meta_window();
normal_windows.push(win);
}
normal_windows.sort(Lang.bind(this, this._sortWindows));
let win_on_top = normal_windows.shift();
normal_windows.push(win_on_top);
windows = normal_windows;
for (let w = 0; w < windows.length; w++) {
let win = windows[w];
let ap1 = null;
for (let i = 0;i < apps.length; i++) {
let app_wins = apps[i].get_windows();
for (let j = 0;j < app_wins.length; j++) {
if (app_wins[j] == win)
ap1 = new AltTab.AppIcon(apps[i]);
}
}
if (ap1 != null) {
ap1.cachedWindows = [win];
appIcons.push(ap1);
}
}
if (!windows.length) {
this.destroy();
return false;
}
if (!Main.pushModal(this.actor)) {
// Probably someone else has a pointer grab, try again with keyboard only
if (!Main.pushModal(this.actor, global.get_current_time(), Meta.ModalOptions.POINTER_ALREADY_GRABBED)) {
return false;
}
}
this._haveModal = true;
this._modifierMask = AltTab.primaryModifier(mask);
this.actor.connect('key-press-event', Lang.bind(this, this._keyPressEvent));
this.actor.connect('key-release-event', Lang.bind(this, this._keyReleaseEvent));
this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
this._appSwitcher = new WindowList(windows);
this._appSwitcher._altTabPopup=this;
this.actor.add_actor(this._appSwitcher.actor);
this._appSwitcher.connect('item-activated', Lang.bind(this, this._appActivated));
this._appSwitcher.connect('item-entered', Lang.bind(this, this._appEntered));
this._appIcons = appIcons;
// make the initial selection
if (backward)
this._select(windows.length - 2);
else
this._select(0);
this.actor.opacity = 0;
this.actor.show();
// There's a race condition; if the user released Alt before
// we got the grab, then we won't be notified. (See
// https://bugzilla.gnome.org/show_bug.cgi?id=596695 for
// details.) So we check now. (Have to do this after updating
// selection.)
let [x, y, mods] = global.get_pointer();
if (!(mods & this._modifierMask)) {
this._finish();
return false;
}
// We delay showing the popup so that fast Alt+Tab users aren't
// disturbed by the popup briefly flashing.
this._initialDelayTimeoutId = Mainloop.timeout_add(AltTab.POPUP_DELAY_TIMEOUT,
Lang.bind(this, function () {
this.actor.opacity = 255;
this._initialDelayTimeoutId = 0;
}));
return true
},
_sortWindows : function(win1,win2) {
let t1 = win1.get_user_time();
let t2 = win2.get_user_time();
if (t2 > t1) return 1;
else return -1;
},
_appActivated : function(thumbnailList, n) {
let appIcon = this._appIcons[this._currentApp];
Main.activateWindow(appIcon.cachedWindows[0]);
this.destroy();
},
_finish : function() {
let app = this._appIcons[this._currentApp];
Main.activateWindow(app.cachedWindows[0]);
this.destroy();
},
});
const WindowList = new Lang.Class({
Name: 'AlternateTab.WindowList',
Extends: AltTab.SwitcherList,
_init : function(windows) {
this.parent(true);
let activeWorkspace = global.screen.get_active_workspace();
this._labels = new Array();
this._thumbnailBins = new Array();
this._clones = new Array();
this._windows = windows;
this._arrows = new Array();
this.icons = new Array();
for (let w = 0; w < windows.length; w++) {
let arrow = new St.DrawingArea({ style_class: 'switcher-arrow' });
arrow.connect('repaint', Lang.bind(this, function (area) {
Shell.draw_box_pointer(area, Shell.PointerDirection.DOWN);
}));
this._list.add_actor(arrow);
this._arrows.push(arrow);
arrow.hide();
let win=windows[w];
let appSys = Shell.AppSystem.get_default();
let apps = appSys.get_running();
let ap1 = null;
for (let i = 0; i < apps.length; i++) {
let app_wins = apps[i].get_windows();
for (let j = 0; j < app_wins.length; j++) {
if (app_wins[j] == win) {
ap1 = new AltTab.AppIcon(apps[i]);
let mutterWindow = win.get_compositor_private();
let windowTexture = mutterWindow.get_texture ();
let [width, height] = windowTexture.get_size();
let scale = Math.min(1.0, 128 / width, 128 / height);
let clone = new Clutter.Clone ({ source: windowTexture, reactive: true, width: width * scale, height: height * scale });
ap1.icon = ap1.app.create_icon_texture(128);
ap1._iconBin.set_size(128,128);
ap1._iconBin.child = clone;
ap1.label.text = win.get_title();
}
}
}
if (ap1 != null) {
ap1.cachedWindows = [win];
this.addItem(ap1.actor, ap1.label);
this.icons.push(ap1);
}
}
},
addSeparator: function () {
this._separator=null;
}
});
const MODES = {
all_thumbnails: AltTabPopupAllThumbnails,
workspace_icons: AltTabPopupWorkspaceIcons,
all_thumbnails: AllThumbnails.AltTabPopupAllThumbnails,
workspace_icons: WorkspaceIcons.AltTabPopupWorkspaceIcons,
};
function doAltTab(display, screen, window, binding) {
@@ -505,7 +54,7 @@ function doAltTab(display, screen, window, binding) {
let backwards = modifiers & Meta.VirtualModifier.SHIFT_MASK;
let constructor = MODES[behaviour];
let popup = new constructor();
let popup = new constructor(settings);
if (!popup.show(backwards, binding.get_name(), binding.get_mask()))
popup.destroy();
}

View File

@@ -7,13 +7,26 @@
<key name="behaviour" enum="org.gnome.shell.extensions.alternate-tab.BehaviourMode">
<default>'all_thumbnails'</default>
<_summary>The alt tab behaviour.</_summary>
<_description>Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and workspace_icons.
See the configuration dialogs for details.</_description>
<_description>
Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and workspace_icons.
See the configuration dialogs for details.
</_description>
</key>
<key type="b" name="highlight-selected">
<default>false</default>
<summary>Bring each selected window to the front.</summary>
<description>Bring each window to the front in turn as Alt+Tab is pressed.</description>
<description>
Bring each window to the front in turn as Alt+Tab is pressed.
This setting applies only when the selected mode is 'workspace_icons'.
</description>
</key>
<key type="b" name="show-app-icon">
<default>true</default>
<summary>Show small application icon.</summary>
<description>
If true, a small application icon is overlayed to each window thumbnail.
This setting applies only when the selected mode is 'all_thumbnails'.
</description>
</key>
</schema>
</schemalist>

View File

@@ -21,6 +21,7 @@ const Convenience = Me.imports.convenience;
const SETTINGS_BEHAVIOUR_KEY = 'behaviour';
const SETTINGS_HIGHLIGHT_KEY = 'highlight-selected';
const SETTINGS_SHOW_APP_ICON_KEY = 'show-app-icon';
const MODES = {
all_thumbnails: {
@@ -28,14 +29,16 @@ const MODES = {
description: N_("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."),
extra_widgets: [ ]
extra_widgets: [
{ label: N_("Show overlaid application icon"), key: SETTINGS_SHOW_APP_ICON_KEY }
]
},
workspace_icons: {
name: N_("Workspace & Icons"),
description: N_("This mode let's you switch between the applications of your current \
description: N_("This mode lets 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\
the list and is separated by a separator/vertical line if available. \n\
Every window is represented by its application icon."),
extra_widgets: [
{ label: N_("Move current selection to front before closing the popup"), key: SETTINGS_HIGHLIGHT_KEY }

View File

@@ -0,0 +1,274 @@
/* -*- mode: js2; js2-basic-offset: 4; indent-tabs-mode: nil -*- */
const Clutter = imports.gi.Clutter;
const Gdk = imports.gi.Gdk;
const Gio = imports.gi.Gio;
const Gtk = imports.gi.Gtk;
const Lang = imports.lang;
const Mainloop = imports.mainloop;
const Meta = imports.gi.Meta;
const Shell = imports.gi.Shell;
const St = imports.gi.St;
const AltTab = imports.ui.altTab;
const Main = imports.ui.main;
const ModalDialog = imports.ui.modalDialog;
const Tweener = imports.ui.tweener;
const WindowManager = imports.ui.windowManager;
const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = function(e) { return e };
const SETTINGS_HIGHLIGHT_SELECTED_KEY = 'highlight-selected';
const AltTabPopupWorkspaceIcons = new Lang.Class({
Name: 'AlternateTab.AltTabPopupWorkspaceIcons',
Extends: AltTab.AltTabPopup,
_init: function(settings) {
this.parent();
this._settings = settings;
},
_windowActivated : function(thumbnailList, n) { },
show : function(backward, binding, mask) {
let appSys = Shell.AppSystem.get_default();
let apps = appSys.get_running ();
if (!apps.length)
return false;
if (!Main.pushModal(this.actor)) {
// Probably someone else has a pointer grab, try again with keyboard only
if (!Main.pushModal(this.actor, global.get_current_time(), Meta.ModalOptions.POINTER_ALREADY_GRABBED)) {
return false;
}
}
this._haveModal = true;
this._modifierMask = AltTab.primaryModifier(mask);
this.actor.connect('key-press-event', Lang.bind(this, this._keyPressEvent));
this.actor.connect('key-release-event', Lang.bind(this, this._keyReleaseEvent));
this.actor.connect('button-press-event', Lang.bind(this, this._clickedOutside));
this.actor.connect('scroll-event', Lang.bind(this, this._onScroll));
this._appSwitcher = new WindowSwitcher(apps, this);
this.actor.add_actor(this._appSwitcher.actor);
this._appSwitcher.connect('item-activated', Lang.bind(this, this._appActivated));
this._appSwitcher.connect('item-entered', Lang.bind(this, this._appEntered));
this._appIcons = this._appSwitcher.icons;
// Need to force an allocation so we can figure out whether we
// need to scroll when selecting
this.actor.opacity = 0;
this.actor.show();
this.actor.get_allocation_box();
this._highlight_selected = this._settings.get_boolean(SETTINGS_HIGHLIGHT_SELECTED_KEY);
// Make the initial selection
if (binding == 'switch_group') {
//see AltTab.AltTabPopup.show function
//cached windows are always of length one, so select first app and the window
//the direction doesn't matter, so ignore backward
this._select(0, 0);
} else if (binding == 'switch_group_backward') {
this._select(0, 0);
} else if (binding == 'switch_windows_backward') {
this._select(this._appIcons.length - 1);
} else if (this._appIcons.length == 1) {
this._select(0);
} else if (backward) {
this._select(this._appIcons.length - 1);
} else {
this._select(1);
}
// There's a race condition; if the user released Alt before
// we got the grab, then we won't be notified. (See
// https://bugzilla.gnome.org/show_bug.cgi?id=596695 for
// details.) So we check now. (Have to do this after updating
// selection.)
let [x, y, mods] = global.get_pointer();
if (!(mods & this._modifierMask)) {
this._finish();
return false;
}
// We delay showing the popup so that fast Alt+Tab users aren't
// disturbed by the popup briefly flashing.
this._initialDelayTimeoutId = Mainloop.timeout_add(AltTab.POPUP_DELAY_TIMEOUT,
Lang.bind(this, function () {
this.actor.opacity = 255;
this._initialDelayTimeoutId = 0;
}));
return true;
},
_select : function(app, window, forceAppFocus) {
if (app != this._currentApp || window == null) {
if (this._thumbnails)
this._destroyThumbnails();
}
if (this._thumbnailTimeoutId != 0) {
Mainloop.source_remove(this._thumbnailTimeoutId);
this._thumbnailTimeoutId = 0;
}
this._thumbnailsFocused = (window != null) && !forceAppFocus;
this._currentApp = app;
this._currentWindow = window ? window : -1;
this._appSwitcher.highlight(app, this._thumbnailsFocused);
if (window != null) {
if (!this._thumbnails)
this._createThumbnails();
this._currentWindow = window;
this._thumbnails.highlight(window, forceAppFocus);
} else if (this._appIcons[this._currentApp].cachedWindows.length > 1 &&
!forceAppFocus) {
this._thumbnailTimeoutId = Mainloop.timeout_add (
AltTab.THUMBNAIL_POPUP_TIME,
Lang.bind(this, this._timeoutPopupThumbnails));
}
if (this._highlight_selected) {
let current_app = this._appIcons[this._currentApp];
Main.activateWindow(current_app.cachedWindows[0]);
}
},
_finish : function() {
let app = this._appIcons[this._currentApp];
if (!app)
return;
/*
* We've to restore the original Z-depth and order of all windows.
*
* Gnome-shell doesn't give an option to change Z-depth without
* messing the window's user_time.
*
* Pointless if the popup wasn't showed.
*/
if (this._highlight_selected && this.actor.opacity == 255) {
for (let i = this._appIcons.length - 2; i >= 0; i--) {
let app_walker = this._appIcons[i];
Main.activateWindow(app_walker.cachedWindows[0], global.get_current_time() - i - 1);
}
}
Main.activateWindow(app.cachedWindows[0]);
this.destroy();
}
});
const AppIcon = new Lang.Class({
Name: 'AlternateTab.AppIcon',
Extends: AltTab.AppIcon,
_init: function(app, window) {
this.app = app;
this.cachedWindows = [];
this.cachedWindows.push(window);
this.actor = new St.BoxLayout({ style_class: 'alt-tab-app',
vertical: true });
this.icon = null;
this._iconBin = new St.Bin({ x_fill: true, y_fill: true });
this.actor.add(this._iconBin, { x_fill: false, y_fill: false } );
let title = window.get_title();
if (title) {
this.label = new St.Label({ text: title });
let bin = new St.Bin({ x_align: St.Align.MIDDLE });
bin.add_actor(this.label);
this.actor.add(bin);
}
else {
this.label = new St.Label({ text: this.app.get_name() });
this.actor.add(this.label, { x_fill: false });
}
}
});
const WindowSwitcher = new Lang.Class({
Name: 'AlternateTab.WindowSwitcher',
Extends: AltTab.AppSwitcher,
_init : function(apps, altTabPopup) {
// Horrible HACK!
// We inherit from AltTab.AppSwitcher, but only chain up to
// AltTab.SwitcherList._init, to bypass AltTab.AppSwitcher._init
AltTab.SwitcherList.prototype._init.call(this, true);
// Construct the AppIcons, sort by time, add to the popup
let activeWorkspace = global.screen.get_active_workspace();
let workspaceIcons = [];
let otherIcons = [];
for (let i = 0; i < apps.length; i++) {
// Cache the window list now; we don't handle dynamic changes here,
// and we don't want to be continually retrieving it
let windows = apps[i].get_windows();
for(let j = 0; j < windows.length; j++) {
let appIcon = new AppIcon(apps[i], windows[j]);
if (this._isWindowOnWorkspace(windows[j], activeWorkspace)) {
workspaceIcons.push(appIcon);
}
else {
otherIcons.push(appIcon);
}
}
}
workspaceIcons.sort(Lang.bind(this, this._sortAppIcon));
otherIcons.sort(Lang.bind(this, this._sortAppIcon));
if(otherIcons.length > 0) {
let mostRecentOtherIcon = otherIcons[0];
otherIcons = [];
otherIcons.push(mostRecentOtherIcon);
}
this.icons = [];
this._arrows = [];
for (let i = 0; i < workspaceIcons.length; i++)
this._addIcon(workspaceIcons[i]);
if (workspaceIcons.length > 0 && otherIcons.length > 0)
this.addSeparator();
for (let i = 0; i < otherIcons.length; i++)
this._addIcon(otherIcons[i]);
this._curApp = -1;
this._iconSize = 0;
this._altTabPopup = altTabPopup;
this._mouseTimeOutId = 0;
},
_isWindowOnWorkspace: function(w, workspace) {
if (w.get_workspace() == workspace)
return true;
return false;
},
_sortAppIcon : function(appIcon1, appIcon2) {
let t1 = appIcon1.cachedWindows[0].get_user_time();
let t2 = appIcon2.cachedWindows[0].get_user_time();
if (t2 > t1) return 1;
else return -1;
}
});

View File

@@ -1,4 +1,29 @@
/* -*- mode: js; js-basic-offset: 4; indent-tabs-mode: nil -*- */
/*
Copyright (c) 2011-2012, Giovanni Campagna <scampa.giovanni@gmail.com>
Redistribution and use in source and binary forms, with or without
modification, are permitted provided that the following conditions are met:
* Redistributions of source code must retain the above copyright
notice, this list of conditions and the following disclaimer.
* Redistributions in binary form must reproduce the above copyright
notice, this list of conditions and the following disclaimer in the
documentation and/or other materials provided with the distribution.
* Neither the name of the GNOME nor the
names of its contributors may be used to endorse or promote products
derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY
DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
(INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
(INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
const Gettext = imports.gettext;
const Gio = imports.gi.Gio;

146
po/id.po
View File

@@ -1,16 +1,19 @@
# Indonesian translation for gnome-shell-extensions.
# Copyright (C) 2012 gnome-shell-extensions's COPYRIGHT HOLDER
# This file is distributed under the same license as the gnome-shell-extensions package.
# Andika Triwidada <andika@gmail.com>, 2012.
#
# Andika Triwidada <andika@gmail.com>, 2012.
# Dirgita <dirgitadevina@yahoo.co.id>, 2012.
msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-06-02 09:11+0000\n"
"PO-Revision-Date: 2012-06-02 20:31+0700\n"
"Last-Translator: Andika Triwidada <andika@gmail.com>\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-08-07 08:40+0000\n"
"PO-Revision-Date: 2012-08-07 22:44+0700\n"
"Last-Translator: Dirgita <dirgitadevina@yahoo.co.id>\n"
"Language-Team: Indonesian <gnome@i15n.org>\n"
"Language: id\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
@@ -18,22 +21,33 @@ msgstr ""
"X-Poedit-Language: Indonesian\n"
"X-Poedit-Country: INDONESIA\n"
"X-Poedit-SourceCharset: utf-8\n"
"X-Generator: Lokalize 1.2\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The alt tab behaviour."
msgstr "Perilaku alt tab."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and workspace_icons. See the configuration dialogs for details."
msgstr "Menata perilaku Alt-Tab. Nilai yang mungkin adalah: all_thumbnails dan workspace_icons. Lihat dialog konfigurasi untuk rinciannya."
msgid ""
"Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and "
"workspace_icons. See the configuration dialogs for details."
msgstr ""
"Menata perilaku Alt-Tab. Nilai yang mungkin adalah: all_thumbnails dan "
"workspace_icons. Lihat dialog konfigurasi untuk rinciannya."
#: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails"
msgstr "Semua & Gambar Mini"
#: ../extensions/alternate-tab/prefs.js:28
msgid "This mode presents all applications from all workspaces in one selection list. Instead of using the application icon of every window, it uses small thumbnails resembling the window itself."
msgstr "Mode ini menampilkan semua aplikasi dari semua ruang kerja dalam suatu daftar pilihan. Sebagai pengganti ikon aplikasi dari setiap jendela, dipakai gambar mini yang mirip dengan jendela itu sendiri."
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 ""
"Mode ini menampilkan semua aplikasi dari semua ruang kerja dalam suatu "
"daftar pilihan. Sebagai pengganti ikon aplikasi dari setiap jendela, dipakai "
"gambar mini yang mirip dengan jendela itu sendiri."
#: ../extensions/alternate-tab/prefs.js:34
msgid "Workspace & Icons"
@@ -41,19 +55,29 @@ msgstr "Ruang Kerja & Ikon"
#: ../extensions/alternate-tab/prefs.js:35
msgid ""
"This mode let's you switch between the applications of your current workspace and gives you additionally the option to switch to the last used application of your previous workspace. This is always the last symbol in the list and is segregated by a separator/vertical line if available. \n"
"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 ""
"Mode ini memungkinkan Anda bertukar antara aplikasi pada ruang kerja kini dan memberi Anda pilihan tambahan untuk bertukar ke aplikasi yang terakhir dipakai pada ruang kerja sebelumnya. Ini selalu merupakan simbol terakhir pada daftar dan dikelompokkan oleh pemisah/garis vertikal bila tersedia.\n"
"Mode ini memungkinkan Anda bertukar antara aplikasi pada ruang kerja kini "
"dan memberi Anda pilihan tambahan untuk bertukar ke aplikasi yang terakhir "
"dipakai pada ruang kerja sebelumnya. Ini selalu merupakan simbol terakhir "
"pada daftar dan dikelompokkan oleh pemisah/garis vertikal bila tersedia.\n"
"Setiap jendela diwakili oleh ikon aplikasinya."
#: ../extensions/alternate-tab/prefs.js:41
msgid "Move current selection to front before closing the popup"
msgstr "Pindahkan pilihan kini ke depan sebelum menutup popup"
msgstr "Memindahkan pilihan kini ke depan sebelum menutup popup"
#: ../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 "Tab Alternatif dapat dipakai dalam mode berbeda, yang mempengaruhi cara jendela dipilih dan disajikan."
msgid ""
"The Alternate Tab can be used in different modes, that affect the way "
"windows are chosen and presented."
msgstr ""
"Tab Alternatif dapat dipakai dalam mode berbeda, yang mempengaruhi cara "
"jendela dipilih dan disajikan."
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68
@@ -65,8 +89,8 @@ msgid "Hibernate"
msgstr "Hibernasi"
#: ../extensions/alternative-status-menu/extension.js:78
msgid "Power Off..."
msgstr "Matikan..."
msgid "Power Off"
msgstr "Matikan"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending"
@@ -74,7 +98,7 @@ msgstr "Fungsikan suspensi"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:2
msgid "Control the visibility of the Suspend menu item"
msgstr "Mengendalikan kenampakan butir menu Suspensi"
msgstr "Menentukan kenampakan menu Suspensi"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:3
msgid "Enable hibernating"
@@ -82,15 +106,19 @@ msgstr "Fungsikan hibernasi"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:4
msgid "Control the visibility of the Hibernate menu item"
msgstr "Mengendalikan kenampakan butir menu Hibernasi"
msgstr "Menentukan kenampakan menu Hibernasi"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
msgid "Application and workspace list"
msgstr "Aplikasi dan daftar ruang kerja"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number"
msgstr "Daftar string, masing-masing memuat id aplikasi (nama berkas desktop), diikuti oleh titik dua dan nomor ruang kerja"
msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Daftar string, masing-masing memuat id aplikasi (nama berkas desktop), "
"diikuti oleh titik dua dan nomor ruang kerja"
#: ../extensions/auto-move-windows/prefs.js:55
msgid "Application"
@@ -135,11 +163,15 @@ msgstr "Tambah ke Favorit"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Position of the dock"
msgstr "Posisi dok"
msgstr "Posisi tambat"
#: ../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 "Atur posisi dok pada layar. Nilai yang diijinkan adalah 'right' (kanan) atau 'left' (kiri)"
msgid ""
"Sets the position of the dock in the screen. Allowed values are 'right' or "
"'left'"
msgstr ""
"Atur posisi dok pada layar. Nilai yang diizinkan adalah 'right' (kanan) atau "
"'left' (kiri)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Icon size"
@@ -147,7 +179,7 @@ msgstr "Ukuran ikon"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Atur ukuran ikon dok."
msgstr "Mengatur ukuran ikon dok."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
@@ -158,8 +190,12 @@ msgid "Autohide effect"
msgstr "Efek sembunyi otomatis"
#: ../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 "Atur efek penyembunyian dok. Nilai yang diijinkan adalah 'resize' (ubah ukuran), 'rescale' (ubah skala), dan 'move' (pindah)"
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Mengatur efek penyembunyian dok. Nilai yang diizinkan adalah 'resize' (ubah "
"ukuran), 'rescale' (ubah skala), dan 'move' (pindah)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:8
msgid "Autohide duration"
@@ -167,41 +203,55 @@ msgstr "Durasi sembunyi otomatis"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Atur durasi waktu dari efek sembunyi otomatis."
msgstr "Mengatur durasi waktu dari efek sembunyi otomatis."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
msgstr "Monitor"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:11
msgid "Sets monitor to display dock in. The default value (-1) is the primary monitor."
msgstr "Atur monitor tempat menampilkan dok. Nilai bawaan (-1) adalah monitor primer."
msgid ""
"Sets monitor to display dock in. The default value (-1) is the primary "
"monitor."
msgstr ""
"Mengatur monitor tempat menampilkan dok. Nilai bawaan (-1) adalah monitor "
"utama."
#: ../extensions/drive-menu/extension.js:67
#: ../extensions/drive-menu/extension.js:57
msgid "Removable devices"
msgstr "Perangkat yang dapat dilepas"
#: ../extensions/drive-menu/extension.js:68
msgid "Open file manager"
msgstr "Buka manajer berkas"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Hello, world!"
msgstr "Hai, dunia!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
msgid "Alternative greeting text."
msgstr "Teks penyapa alternatif."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
msgid "If not empty, it contains the text that will be shown when clicking on the panel."
msgstr "Bila tak kosong, ini memuat teks yang akan ditampilkan ketika mengklik panel."
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"Bila tak kosong, ini memuat teks yang akan ditampilkan ketika klik pada "
"panel."
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: ../extensions/example/prefs.js:30
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and as such it has little functionality on its own.\n"
"Example aims to show how to build well behaved extensions for the Shell and "
"as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"Example bertujuan menampilkan bagaimana membangun ekstensi yang berkelakuan baik bagi Shell dan karena itu memiliki sedikit fungsi.\n"
"Namun mungkin untuk menata pesan sapaan."
"Example bertujuan menampilkan bagaimana membangun ekstensi yang berkelakuan "
"baik bagi Shell dan karena itu hanya memiliki sedikit fungsi.\n"
"Namun, tetap mungkin untuk mengatur pesan sapaan."
#: ../extensions/example/prefs.js:36
msgid "Message:"
@@ -232,16 +282,29 @@ msgid "Use more screen for windows"
msgstr "Pakai lebih banyak layar bagi jendela"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating them further to reduce the bounding box. This setting applies only with the natural placement strategy."
msgstr "Mencoba memakai lebih banyak layar untuk menempatkan gambar mini jendela dengan menyesuaikan ke rasio aspek layar, dan menyatukan mereka lebih jauh untuk mengurangi kotak pembatas. Pengaturan ini hanya berlaku pada strategi penempatan alami."
msgid ""
"Try to use more screen for placing window thumbnails by adapting to screen "
"aspect ratio, and consolidating them further to reduce the bounding box. "
"This setting applies only with the natural placement strategy."
msgstr ""
"Mencoba memakai lebih banyak layar untuk menempatkan gambar mini jendela "
"dengan menyesuaikan ke rasio aspek layar, dan menyatukan mereka lebih jauh "
"untuk mengurangi kotak pembatas. Pengaturan ini hanya berlaku pada strategi "
"penempatan alami."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top"
msgstr "Tempatkan keterangan jendela di atas"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "If true, place window captions on top the respective thumbnail, overriding shell default of placing it at the bottom. Changing this setting requires restarting the shell to have any effect."
msgstr "Bila true, menempatkan keterangan jendela di bagian atas gambar mini masing-masing, menimpa bawaan shell yang menempatkannya di bagian bawah. Mengubah ini memerlukan memulai ulang shell agar berdampak."
msgid ""
"If true, place window captions on top the respective thumbnail, overriding "
"shell default of placing it at the bottom. Changing this setting requires "
"restarting the shell to have any effect."
msgstr ""
"Bila true, menempatkan keterangan jendela di bagian atas gambar mini masing-"
"masing, menimpa bawaan shell yang menempatkannya di bagian bawah. Mengubah "
"ini memerlukan memulai ulang shell agar berdampak."
#: ../extensions/places-menu/extension.js:39
msgid "Removable Devices"
@@ -290,5 +353,4 @@ msgstr "Terbalik"
#: ../extensions/xrandr-indicator/extension.js:82
msgid "Configure display settings..."
msgstr "Atur tatanan tampilan..."
msgstr "Konfigurasi tampilan..."

370
po/lt.po
View File

@@ -7,8 +7,8 @@ msgid ""
msgstr ""
"Project-Id-Version: lt\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2011-12-27 14:30+0000\n"
"PO-Revision-Date: 2011-12-28 22:36+0300\n"
"POT-Creation-Date: 2012-06-08 12:07+0000\n"
"PO-Revision-Date: 2012-08-05 17:07+0300\n"
"Last-Translator: Aurimas Černius <aurisc4@gmail.com>\n"
"Language-Team: Lietuvių <>\n"
"MIME-Version: 1.0\n"
@@ -16,6 +16,45 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && (n%100<10 || n%100>=20) ? 1 : 2)\n"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "The alt tab behaviour."
msgstr "Alt tab elgsena."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
#| msgid ""
#| "Sets the Alt-Tab behaviour. Possible values are: native, all_thumbnails "
#| "and workspace_icons."
msgid "Sets the Alt-Tab behaviour. Possible values are: all_thumbnails and workspace_icons. See the configuration dialogs for details."
msgstr "Nustato Alt-Tab elgseną. Galimos pasirinktys: all_thumbnails arba workspace_icons. Daugiau informacijos rasite konfigūracijos dialoguose."
#: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails"
msgstr "Visos ir miniatiūros"
#: ../extensions/alternate-tab/prefs.js:28
msgid "This mode presents all applications from all workspaces in one selection list. Instead of using the application icon of every window, it uses small thumbnails resembling the window itself."
msgstr "Ši veiksena parodo visas programas iš visų darbalaukių viename pasirinkimo sąraše. Užuot naudojus kiekvieno lango programos piktogramą, jis naudoja pačių langų miniatiūras."
#: ../extensions/alternate-tab/prefs.js:34
msgid "Workspace & Icons"
msgstr "Darbalaukis ir piktogramos"
#: ../extensions/alternate-tab/prefs.js:35
msgid ""
"This mode let's you switch between the applications of your current workspace and gives you additionally the option to switch to the last used application of your previous workspace. This is always the last symbol in the list and is segregated by a separator/vertical line if available. \n"
"Every window is represented by its application icon."
msgstr ""
"Ši veiksena leidžia persijungti tarp programų jūsų dabartiniame darbalaukyje ir papildomai suteikia galimybę persijungti į paskutinę naudotą programą buvusiame darbalaukyje. Ši yra visada paskutinis simbolis sąraše ir yra atskirtas skirtuku/vertikalia linija, jei yra prieinamas. \n"
"Kiekvienas langas yra pristatomas jo programos piktograma."
#: ../extensions/alternate-tab/prefs.js:41
msgid "Move current selection to front before closing the popup"
msgstr "Perkelti dabartinį pažymėjimą į priekį prieš užveriant iššokusį langą"
#: ../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 "Alternatyvus Tab gali būti naudojamas skirtingose veiksenose, tai paveikia, kaip langai yra pasirenkami ir parodomi."
#. add the new entries
#: ../extensions/alternative-status-menu/extension.js:68
msgid "Suspend"
@@ -26,149 +65,156 @@ msgid "Hibernate"
msgstr "Hibernuoti"
#: ../extensions/alternative-status-menu/extension.js:78
msgid "Power Off..."
msgstr "Išjungti..."
#| msgid "Power Off..."
msgid "Power Off"
msgstr "Išjungti"
#: ../extensions/alternate-tab/extension.js:54
msgid ""
"This is the first time you use the Alternate Tab extension. \n"
"Please choose your preferred behaviour:\n"
"\n"
"All & Thumbnails:\n"
" This mode presents all applications from all workspaces in one selection \n"
" list. Instead of using the application icon of every window, it uses small \n"
" thumbnails resembling the window itself. \n"
"\n"
"Workspace & Icons:\n"
" This mode let's you switch between the applications of your current \n"
" workspace and gives you additionally the option to switch to the last used \n"
" application of your previous workspace. This is always the last symbol in \n"
" the list and is segregated by a separator/vertical line if available. \n"
" Every window is represented by its application icon. \n"
"\n"
"If you whish to revert to the default behavior for the Alt-Tab switcher, just\n"
"disable the extension from extensions.gnome.org or the Advanced Settings application."
msgstr ""
"Tai pirmas kartas kai naudojatės Alternate Tab plėtiniu. \n"
"Pasirinkite pageidaujamą elgseną:\n"
"\n"
"Visos su miniatiūrom:\n"
" Ši veiksena atvaizduoja visas programas iš visų darbalaukių viename sąraše. \n"
" Vietoj kiekvieno programos lango piktogramos bus naudojama maža miniatiūra atvaizduojanti patį langą. \n"
"\n"
"Darbalaukis ir piktogramos:\n"
" Ši veiksena leidžia persijungti tarp programų jūsų dabartiniame darbalaukyje \n"
" bei leidžia persijungti į paskutinę programą iš praeito darbalaukio. \n"
" Tai visada paskutinis simbolis sąraše atskirtas skirtuku/vertikalia linija. \n"
" Kiekvienas langas atvaizduojamas jo programos piktograma. \n"
"\n"
"Jei norite grįžti prie numatytosios Alt-Tab elgsenos, paprasčiausiai\n"
"išjunkite plėtinį extensions.gnome.org arba papildomų nustatymų programoje."
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending"
msgstr "Įjungti užmigimą"
#: ../extensions/alternate-tab/extension.js:295
msgid "Alt Tab Behaviour"
msgstr "Alt Tab veiksena"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:2
msgid "Control the visibility of the Suspend menu item"
msgstr "Valdyti užmigdymo meniu punkto matomumą"
#: ../extensions/alternate-tab/extension.js:311
msgid "All & Thumbnails"
msgstr "Visos ir miniatiūros"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:3
msgid "Enable hibernating"
msgstr "Įjungti hibernavimą"
#: ../extensions/alternate-tab/extension.js:318
msgid "Workspace & Icons"
msgstr "Darbalaukis ir piktogramos"
#: ../extensions/alternate-tab/extension.js:325
msgid "Cancel"
msgstr "Atsisakyti"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:1
msgid "Ask the user for a default behaviour if true."
msgstr "Jei teigiama, klausi naudotojo numatytųjų nustatymų."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "Indicates if Alternate Tab is newly installed"
msgstr "Nurodo ar Alternate tab šviežiai įdiegta"
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:3
msgid "Sets the Alt-Tab behaviour. Possible values are: native, all_thumbnails and workspace_icons."
msgstr "Nustato Alt-Tab elgseną. Galimos pasirinktys: native, all_thumbnails arba workspace_icons."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:4
msgid "The alt tab behaviour."
msgstr "Alt tab elgsena."
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:4
msgid "Control the visibility of the Hibernate menu item"
msgstr "Valdyti hibernavimo meniu punkto matomumą"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:1
msgid "A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number"
msgstr "Eilučių sąrašas, kur kiekviena turi programos id (darbastalio failo vardą), po jo dvitaškis ir darbalaukio numeris"
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "Application and workspace list"
msgstr "Programų ir darbalaukių sąrašas"
#: ../extensions/dock/extension.js:561
#: ../extensions/auto-move-windows/org.gnome.shell.extensions.auto-move-windows.gschema.xml.in.h:2
msgid "A list of strings, each containing an application id (desktop file name), followed by a colon and the workspace number"
msgstr "Eilučių sąrašas, kur kiekviena turi programos id (darbastalio failo vardą), po jo dvitaškis ir darbalaukio numeris"
#: ../extensions/auto-move-windows/prefs.js:55
#| msgid "Quit Application"
msgid "Application"
msgstr "Programa"
#: ../extensions/auto-move-windows/prefs.js:64
#: ../extensions/auto-move-windows/prefs.js:106
#| msgid "Workspace & Icons"
msgid "Workspace"
msgstr "Darbalaukis"
#: ../extensions/auto-move-windows/prefs.js:80
msgid "Add rule"
msgstr "Pridėti taisyklę"
#: ../extensions/auto-move-windows/prefs.js:94
msgid "Create new matching rule"
msgstr "Sukurti naują atitikimo taisyklę"
#: ../extensions/auto-move-windows/prefs.js:98
msgid "Add"
msgstr "Pridėti"
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Nuvilkite čia, jei norite pridėt prie mėgstamų"
#: ../extensions/dock/extension.js:896
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Naujas langas"
#: ../extensions/dock/extension.js:898
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Uždaryti programą"
#: ../extensions/dock/extension.js:903
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Pašalinti iš mėgstamų"
#: ../extensions/dock/extension.js:904
#: ../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 "Autohide duration"
msgstr "Automatinio slėpimo trukmė"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Autohide effect"
msgstr "Automatinio slėpimo efektas"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Enable/disable autohide"
msgstr "Įjungti/Išjungti automatinį slėpimą"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Icon size"
msgstr "Piktogramų dydis"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Position of the dock"
msgstr "Skydelio pozicija"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
#: ../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 "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“"
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/drive-menu/extension.js:69
#: ../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:57
#| msgid "Removable Devices"
msgid "Removable devices"
msgstr "Išimami įrenginiai"
#: ../extensions/drive-menu/extension.js:68
msgid "Open file manager"
msgstr "Atverti failų tvarkyklę"
#: ../extensions/example/extension.js:11
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Labas, pasauli!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
msgid "Alternative greeting text."
msgstr "Alternatyvus pasveikimo tekstas."
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:2
msgid "If not empty, it contains the text that will be shown when clicking on the panel."
msgstr "Jei netuščias, jis turi tekstą, kuri bus rodomas paspaudus ant skydelio."
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
#: ../extensions/example/prefs.js:30
msgid ""
"Example aims to show how to build well behaved extensions for the Shell and as such it has little functionality on its own.\n"
"Nevertheless it's possible to customize the greeting message."
msgstr ""
"Example siekia parodyti, kaip sukurti gerai besielgiančius apvalkalo plėtinius ir tokius, kurie turi mažai savo funkcionalumo.\n"
"Visgi, yra galima pakeisti sveikimo pranešimą."
#: ../extensions/example/prefs.js:36
msgid "Message:"
msgstr "Pranešimas:"
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
@@ -190,53 +236,134 @@ msgid "%s is busy."
msgstr "%s yra užsiėmęs."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "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 "Jei teigiama, patalpinti lango antraštes virš atitinkamos miniatiūros, nepaisant numatyto talpinimo apačioje. Pakeitus šiuos nustatymus reikės paleisti apvalkalą iš naujo."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Place window captions on top"
msgstr "Talpinti lango antraštes viršuje"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating them further to reduce the bounding box. This setting applies only with the natural placement strategy."
msgstr "Bandyti naudoti daugiau ekrano vietos talpinant langų miniatiūras pritaikant prie ekrano kraštinių santykio ir suglaudinant jas taip sumažinant aprėpties langą. Šis nustatymas galios tik esant „natural“ talpinimo strategijai."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "Use more screen for windows"
msgstr "Naudoti daugiau ekrano langams "
#: ../extensions/places-menu/extension.js:36
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Try to use more screen for placing window thumbnails by adapting to screen aspect ratio, and consolidating them further to reduce the bounding box. This setting applies only with the natural placement strategy."
msgstr "Bandyti naudoti daugiau ekrano vietos talpinant langų miniatiūras pritaikant prie ekrano kraštinių santykio ir suglaudinant jas taip sumažinant aprėpties langą. Šis nustatymas galios tik esant „natural“ talpinimo strategijai."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid "Place window captions on top"
msgstr "Talpinti lango antraštes viršuje"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
msgid "If true, place window captions on top the respective thumbnail, overriding shell default of placing it at the bottom. Changing this setting requires restarting the shell to have any effect."
msgstr "Jei teigiama, patalpinti lango antraštes virš atitinkamos miniatiūros, nepaisant numatyto talpinimo apačioje. Pakeitus šiuos nustatymus reikės paleisti apvalkalą iš naujo."
#: ../extensions/places-menu/extension.js:39
msgid "Removable Devices"
msgstr "Išimami įrenginiai"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:1
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Temos pavadinimas, kuri bus įkrauta iš ~/.themes/name/gnome-shell"
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "Theme name"
msgstr "Temos pavadinimas"
#: ../extensions/xrandr-indicator/extension.js:26
#: ../extensions/user-theme/org.gnome.shell.extensions.user-theme.gschema.xml.in.h:2
msgid "The name of the theme, to be loaded from ~/.themes/name/gnome-shell"
msgstr "Temos pavadinimas, kuri bus įkrauta iš ~/.themes/name/gnome-shell"
#: ../extensions/workspace-indicator/extension.js:30
#| msgid "Workspace & Icons"
msgid "Workspace Indicator"
msgstr "Darbalaukio indikatorius"
#: ../extensions/workspace-indicator/prefs.js:141
#| msgid "Workspace & Icons"
msgid "Workspace names:"
msgstr "Darbalaukių pavadinimas:"
#: ../extensions/workspace-indicator/prefs.js:152
#| msgid "Native"
msgid "Name"
msgstr "Pavadinimas"
#: ../extensions/workspace-indicator/prefs.js:186
#, c-format
#| msgid "Workspace & Icons"
msgid "Workspace %d"
msgstr "Darbalaukis %d"
#: ../extensions/xrandr-indicator/extension.js:30
msgid "Normal"
msgstr "Įprastinis"
#: ../extensions/xrandr-indicator/extension.js:27
#: ../extensions/xrandr-indicator/extension.js:31
msgid "Left"
msgstr "Kairė"
#: ../extensions/xrandr-indicator/extension.js:28
#: ../extensions/xrandr-indicator/extension.js:32
msgid "Right"
msgstr "Dešinė"
#: ../extensions/xrandr-indicator/extension.js:29
#: ../extensions/xrandr-indicator/extension.js:33
msgid "Upside-down"
msgstr "Aukštyn kojom"
#: ../extensions/xrandr-indicator/extension.js:78
#: ../extensions/xrandr-indicator/extension.js:82
msgid "Configure display settings..."
msgstr "Tvarkyti ekrano nustatymus..."
#~ msgid ""
#~ "This is the first time you use the Alternate Tab extension. \n"
#~ "Please choose your preferred behaviour:\n"
#~ "\n"
#~ "All & Thumbnails:\n"
#~ " This mode presents all applications from all workspaces in one "
#~ "selection \n"
#~ " list. Instead of using the application icon of every window, it uses "
#~ "small \n"
#~ " thumbnails resembling the window itself. \n"
#~ "\n"
#~ "Workspace & Icons:\n"
#~ " This mode let's you switch between the applications of your current \n"
#~ " workspace and gives you additionally the option to switch to the last "
#~ "used \n"
#~ " application of your previous workspace. This is always the last "
#~ "symbol in \n"
#~ " the list and is segregated by a separator/vertical line if "
#~ "available. \n"
#~ " Every window is represented by its application icon. \n"
#~ "\n"
#~ "If you whish to revert to the default behavior for the Alt-Tab switcher, "
#~ "just\n"
#~ "disable the extension from extensions.gnome.org or the Advanced Settings "
#~ "application."
#~ msgstr ""
#~ "Tai pirmas kartas kai naudojatės Alternate Tab plėtiniu. \n"
#~ "Pasirinkite pageidaujamą elgseną:\n"
#~ "\n"
#~ "Visos su miniatiūrom:\n"
#~ " Ši veiksena atvaizduoja visas programas iš visų darbalaukių viename "
#~ "sąraše. \n"
#~ " Vietoj kiekvieno programos lango piktogramos bus naudojama maža "
#~ "miniatiūra atvaizduojanti patį langą. \n"
#~ "\n"
#~ "Darbalaukis ir piktogramos:\n"
#~ " Ši veiksena leidžia persijungti tarp programų jūsų dabartiniame "
#~ "darbalaukyje \n"
#~ " bei leidžia persijungti į paskutinę programą iš praeito "
#~ "darbalaukio. \n"
#~ " Tai visada paskutinis simbolis sąraše atskirtas skirtuku/vertikalia "
#~ "linija. \n"
#~ " Kiekvienas langas atvaizduojamas jo programos piktograma. \n"
#~ "\n"
#~ "Jei norite grįžti prie numatytosios Alt-Tab elgsenos, paprasčiausiai\n"
#~ "išjunkite plėtinį extensions.gnome.org arba papildomų nustatymų "
#~ "programoje."
#~ msgid "Alt Tab Behaviour"
#~ msgstr "Alt Tab veiksena"
#~ msgid "Cancel"
#~ msgstr "Atsisakyti"
#~ msgid "Ask the user for a default behaviour if true."
#~ msgstr "Jei teigiama, klausi naudotojo numatytųjų nustatymų."
#~ msgid "Indicates if Alternate Tab is newly installed"
#~ msgstr "Nurodo ar Alternate tab šviežiai įdiegta"
#~ msgid "Notifications"
#~ msgstr "Pranešimai"
@@ -255,9 +382,6 @@ msgstr "Tvarkyti ekrano nustatymus..."
#~ msgid "Log Out..."
#~ msgstr "Atsijungti..."
#~ msgid "Native"
#~ msgstr "Gimtasis"
#~ msgid ""
#~ "The algorithm used to layout thumbnails in the overview. 'grid' to use "
#~ "the default grid based algorithm, 'natural' to use another one that "

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-05-02 17:29+0000\n"
"PO-Revision-Date: 2012-06-01 20:33+0200\n"
"POT-Creation-Date: 2012-06-23 09:53+0000\n"
"PO-Revision-Date: 2012-08-07 10:37+0200\n"
"Last-Translator: Мирослав Николић <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
@@ -31,7 +31,7 @@ msgid ""
msgstr ""
"Одређује како се понашају тастери „Алт-Таб“. Исправне вредности су "
"„all_thumbnails“ (сви умањени прикази) и „workspace_icons“ (иконице радних "
"површи). Погледајте прозорчиће подешавања за више података."
"простора). Погледајте прозорчиће подешавања за више података."
#: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails"
@@ -62,7 +62,7 @@ msgstr ""
"Овај режим вам омогућава да мењате програме са тренутног радног простора и "
"даје вам додатну могућност да се пребаците на последњи коришћен програм са "
"другог радног простора. Он је увек приказан као последњи на списку, и "
"одвојен је од осталих раздвојником/ усправном линијом ако је доступно.\n"
"одвојен је од осталих раздвојником/усправном линијом ако је доступно.\n"
"Сваки прозор је представљен иконицом програма."
#: ../extensions/alternate-tab/prefs.js:41
@@ -87,8 +87,8 @@ msgid "Hibernate"
msgstr "Замрзни"
#: ../extensions/alternative-status-menu/extension.js:78
msgid "Power Off..."
msgstr "Искључи..."
msgid "Power Off"
msgstr "Угаси"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending"
@@ -115,7 +115,7 @@ msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Списак ниски од којих свака садржи иб програма (назив .desktop датотеке), "
"Списак ниски од којих свака садржи иб програма (назив датотеке „.desktop“), "
"зарез и број радног простора."
#: ../extensions/auto-move-windows/prefs.js:55
@@ -133,29 +133,29 @@ msgstr "Додај правило"
#: ../extensions/auto-move-windows/prefs.js:94
msgid "Create new matching rule"
msgstr "Додајте ново правило за преклапање"
msgstr "Додајте ново правило за поклапање"
#: ../extensions/auto-move-windows/prefs.js:98
msgid "Add"
msgstr "Додај"
#: ../extensions/dock/extension.js:577
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Превуците овде да додате међу омиљене"
#: ../extensions/dock/extension.js:903
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Нови прозор"
#: ../extensions/dock/extension.js:905
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Напусти програм"
#: ../extensions/dock/extension.js:910
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Уклони из омиљених"
#: ../extensions/dock/extension.js:911
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Додај у омиљене"
@@ -177,7 +177,7 @@ msgstr "Величина иконице"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Одређује величину површи за иконице."
msgstr "Одређује величину иконице у луци."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
@@ -185,14 +185,14 @@ msgstr "Самостално скривање"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Ефекат самоскривања"
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“ (премести)"
@@ -202,7 +202,7 @@ msgstr "Трајање самоскривања"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Одређује дужину трајања ефекта самоскривања."
msgstr "Одређује дужину трајања дејства самоскривања."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
@@ -216,13 +216,17 @@ msgstr ""
"Подешава који монитор ће да прикаже луку. Основна вредност (-1) јесте "
"примарни монитор."
#: ../extensions/drive-menu/extension.js:66
#: ../extensions/drive-menu/extension.js:57
msgid "Removable devices"
msgstr "Уклоњиви уређаји"
#: ../extensions/drive-menu/extension.js:68
msgid "Open file manager"
msgstr "Отвори управника датотека"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Поздравна порука!"
msgstr "Поздрав свима!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
msgid "Alternative greeting text."
@@ -232,8 +236,7 @@ msgstr "Неки други поздравни текст."
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"Уколико упишете текст овде, он ће бити приказан када кликнете на панел."
msgstr "Уколико упишете текст овде, он ће бити приказан када кликнете на панел."
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
@@ -254,22 +257,22 @@ msgstr "Порука:"
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
msgstr "%s је одсутан."
msgstr "%s је одсутан."
#: ../extensions/gajim/extension.js:230
#, c-format
msgid "%s is offline."
msgstr "%s је недоступан."
msgstr "%s је ван мреже."
#: ../extensions/gajim/extension.js:233
#, c-format
msgid "%s is online."
msgstr "%s је доступан."
msgstr "%s је на мрежи."
#: ../extensions/gajim/extension.js:236
#, c-format
msgid "%s is busy."
msgstr "%s је заузет."
msgstr "%s је заузет."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
@@ -299,7 +302,7 @@ msgstr ""
"умањених приказа уместо испод приказа. Промена ових подешавања захтева да "
"поново покренете Гномову Шкољку."
#: ../extensions/places-menu/extension.js:37
#: ../extensions/places-menu/extension.js:39
msgid "Removable Devices"
msgstr "Уклоњиви уређаји"
@@ -326,7 +329,7 @@ msgstr "Назив"
#: ../extensions/workspace-indicator/prefs.js:186
#, c-format
msgid "Workspace %d"
msgstr "Радни простор %d"
msgstr "%d. радни простор"
#: ../extensions/xrandr-indicator/extension.js:30
msgid "Normal"

View File

@@ -8,8 +8,8 @@ msgstr ""
"Project-Id-Version: gnome-shell-extensions master\n"
"Report-Msgid-Bugs-To: http://bugzilla.gnome.org/enter_bug.cgi?product=gnome-"
"shell&keywords=I18N+L10N&component=extensions\n"
"POT-Creation-Date: 2012-05-02 17:29+0000\n"
"PO-Revision-Date: 2012-06-01 20:33+0200\n"
"POT-Creation-Date: 2012-06-23 09:53+0000\n"
"PO-Revision-Date: 2012-08-07 10:37+0200\n"
"Last-Translator: Miroslav Nikolić <miroslavnikolic@rocketmail.com>\n"
"Language-Team: Serbian <gnom@prevod.org>\n"
"Language: sr\n"
@@ -31,7 +31,7 @@ msgid ""
msgstr ""
"Određuje kako se ponašaju tasteri „Alt-Tab“. Ispravne vrednosti su "
"„all_thumbnails“ (svi umanjeni prikazi) i „workspace_icons“ (ikonice radnih "
"površi). Pogledajte prozorčiće podešavanja za više podataka."
"prostora). Pogledajte prozorčiće podešavanja za više podataka."
#: ../extensions/alternate-tab/prefs.js:27
msgid "All & Thumbnails"
@@ -62,7 +62,7 @@ msgstr ""
"Ovaj režim vam omogućava da menjate programe sa trenutnog radnog prostora i "
"daje vam dodatnu mogućnost da se prebacite na poslednji korišćen program sa "
"drugog radnog prostora. On je uvek prikazan kao poslednji na spisku, i "
"odvojen je od ostalih razdvojnikom/ uspravnom linijom ako je dostupno.\n"
"odvojen je od ostalih razdvojnikom/uspravnom linijom ako je dostupno.\n"
"Svaki prozor je predstavljen ikonicom programa."
#: ../extensions/alternate-tab/prefs.js:41
@@ -87,8 +87,8 @@ msgid "Hibernate"
msgstr "Zamrzni"
#: ../extensions/alternative-status-menu/extension.js:78
msgid "Power Off..."
msgstr "Isključi..."
msgid "Power Off"
msgstr "Ugasi"
#: ../extensions/alternative-status-menu/org.gnome.shell.extensions.alternative-status-menu.gschema.xml.in.h:1
msgid "Enable suspending"
@@ -115,7 +115,7 @@ msgid ""
"A list of strings, each containing an application id (desktop file name), "
"followed by a colon and the workspace number"
msgstr ""
"Spisak niski od kojih svaka sadrži ib programa (naziv .desktop datoteke), "
"Spisak niski od kojih svaka sadrži ib programa (naziv datoteke „.desktop“), "
"zarez i broj radnog prostora."
#: ../extensions/auto-move-windows/prefs.js:55
@@ -133,29 +133,29 @@ msgstr "Dodaj pravilo"
#: ../extensions/auto-move-windows/prefs.js:94
msgid "Create new matching rule"
msgstr "Dodajte novo pravilo za preklapanje"
msgstr "Dodajte novo pravilo za poklapanje"
#: ../extensions/auto-move-windows/prefs.js:98
msgid "Add"
msgstr "Dodaj"
#: ../extensions/dock/extension.js:577
#: ../extensions/dock/extension.js:600
msgid "Drag here to add favorites"
msgstr "Prevucite ovde da dodate među omiljene"
#: ../extensions/dock/extension.js:903
#: ../extensions/dock/extension.js:926
msgid "New Window"
msgstr "Novi prozor"
#: ../extensions/dock/extension.js:905
#: ../extensions/dock/extension.js:928
msgid "Quit Application"
msgstr "Napusti program"
#: ../extensions/dock/extension.js:910
#: ../extensions/dock/extension.js:933
msgid "Remove from Favorites"
msgstr "Ukloni iz omiljenih"
#: ../extensions/dock/extension.js:911
#: ../extensions/dock/extension.js:934
msgid "Add to Favorites"
msgstr "Dodaj u omiljene"
@@ -177,7 +177,7 @@ msgstr "Veličina ikonice"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Sets icon size of the dock."
msgstr "Određuje veličinu površi za ikonice."
msgstr "Određuje veličinu ikonice u luci."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Enable/disable autohide"
@@ -185,14 +185,14 @@ msgstr "Samostalno skrivanje"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Autohide effect"
msgstr "Efekat samoskrivanja"
msgstr "Dejstvo samoskrivanja"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize', 'rescale' and "
"'move'"
msgstr ""
"Određuje efekat koji se prikazuje prilikom skrivanja površi sa ikonicama. "
"Određuje dejstvo koje se prikazuje prilikom skrivanja površi sa ikonicama. "
"Dozvoljene vrednosti su: „resize“ (promeni veličinu), „rescale“ (promeni "
"veličinu uz zadržavanje razmere) i „move“ (premesti)"
@@ -202,7 +202,7 @@ msgstr "Trajanje samoskrivanja"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Određuje dužinu trajanja efekta samoskrivanja."
msgstr "Određuje dužinu trajanja dejstva samoskrivanja."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:10
msgid "Monitor"
@@ -216,13 +216,17 @@ msgstr ""
"Podešava koji monitor će da prikaže luku. Osnovna vrednost (-1) jeste "
"primarni monitor."
#: ../extensions/drive-menu/extension.js:66
#: ../extensions/drive-menu/extension.js:57
msgid "Removable devices"
msgstr "Uklonjivi uređaji"
#: ../extensions/drive-menu/extension.js:68
msgid "Open file manager"
msgstr "Otvori upravnika datoteka"
#: ../extensions/example/extension.js:17
msgid "Hello, world!"
msgstr "Pozdravna poruka!"
msgstr "Pozdrav svima!"
#: ../extensions/example/org.gnome.shell.extensions.example.gschema.xml.in.h:1
msgid "Alternative greeting text."
@@ -232,8 +236,7 @@ msgstr "Neki drugi pozdravni tekst."
msgid ""
"If not empty, it contains the text that will be shown when clicking on the "
"panel."
msgstr ""
"Ukoliko upišete tekst ovde, on će biti prikazan kada kliknete na panel."
msgstr "Ukoliko upišete tekst ovde, on će biti prikazan kada kliknete na panel."
#. TRANSLATORS: Example is the name of the extension, should not be
#. translated
@@ -254,22 +257,22 @@ msgstr "Poruka:"
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
msgstr "%s je odsutan."
msgstr "%s je odsutan."
#: ../extensions/gajim/extension.js:230
#, c-format
msgid "%s is offline."
msgstr "%s je nedostupan."
msgstr "%s je van mreže."
#: ../extensions/gajim/extension.js:233
#, c-format
msgid "%s is online."
msgstr "%s je dostupan."
msgstr "%s je na mreži."
#: ../extensions/gajim/extension.js:236
#, c-format
msgid "%s is busy."
msgstr "%s je zauzet."
msgstr "%s je zauzet."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:1
msgid "Use more screen for windows"
@@ -299,7 +302,7 @@ msgstr ""
"umanjenih prikaza umesto ispod prikaza. Promena ovih podešavanja zahteva da "
"ponovo pokrenete Gnomovu Školjku."
#: ../extensions/places-menu/extension.js:37
#: ../extensions/places-menu/extension.js:39
msgid "Removable Devices"
msgstr "Uklonjivi uređaji"
@@ -326,7 +329,7 @@ msgstr "Naziv"
#: ../extensions/workspace-indicator/prefs.js:186
#, c-format
msgid "Workspace %d"
msgstr "Radni prostor %d"
msgstr "%d. radni prostor"
#: ../extensions/xrandr-indicator/extension.js:30
msgid "Normal"