Compare commits

...

9 Commits
3.2.1 ... 3.3.2

Author SHA1 Message Date
Giovanni Campagna
10aec91ebb Bump version to 3.3.2
To go with GNOME Shell 3.3.2, bump configure.ac, update NEWS and
mark all extensions to be only compatible with the unstable release.
2011-11-22 09:11:46 +01:00
Giovanni Campagna
1d22e73a44 alternate-tab: update for mutter API change
Main.wm.setKeybindingHandler has been replaced by
Meta.keybindings_set_custom_handler, which has also a different
signature.
2011-11-22 09:11:22 +01:00
Giovanni Campagna
3981d066e5 apps-menu: skip NoDisplay entries 2011-11-22 08:50:25 +01:00
Giovanni Campagna
fc47063c73 [l10n] Updated Italian translation 2011-11-20 00:41:51 +01:00
Giovanni Campagna
7a6777f703 Remove all references to localedir from metadata.json
It is not used anymore, now that translations are bundled with
the extension. Also, in the zip files it ended up with my home
folder, which is not nice.
2011-11-20 00:40:20 +01:00
Giovanni Campagna
c5d79240fd Introduce a convenience module for initialization
Common code for retrieving translations and GSettings schemas has
been factored out into lib/convenience.js, which is part of
every extension installation.
Since that code relies on renames done at zip file creation time,
extensions can no longer be installed with "make install". Instead,
one should create the zip file and install it with the tweak-tool.
There is also a bash script, local-install.sh, that will install
everything in zip-files.
Also, since the GSettingsSchemaSource code is not yet in a stable
GLib release, extensions using GSettings have seen their stable
shell version removed.
2011-11-19 16:54:20 +01:00
Giovanni Campagna
9e4156a706 Add capability to build extension zip-files
Now, typing "make zip-file" will create a standard zip-file for each
extension, with everything necessary, including translations and GSettings schemas.
These files can then be installed with the tweak-tool or uploaded
at extensions.gnome.org

Based on an earlier patch by Jasper St. Pierre.
2011-11-19 15:42:27 +01:00
Giovanni Campagna
f61af132e7 alternative-status-menu: fix for gnome-shell master
gnome-shell has been ported to GDBus, and this changed some of
its internal API.
Of course, this means that alternative-status-menu no longer works
with 3.2.0.
2011-11-19 13:58:28 +01:00
Giovanni Campagna
75617da66d Update NEWS for 3.2.1 release 2011-11-19 13:57:15 +01:00
39 changed files with 348 additions and 124 deletions

View File

@@ -2,4 +2,27 @@ ACLOCAL_AMFLAGS = -I m4 ${ACLOCAL_FLAGS}
SUBDIRS = extensions po
EXTRA_DIST = lib/convenience.js
DISTCHECK_CONFIGURE_FLAGS = --enable-extensions=all
include include.mk
zip-file: all
-rm -fR $(builddir)/_build
-rm -fR $(builddir)/zip-files
mkdir $(builddir)/_build; \
mkdir $(builddir)/zip-files; \
$(MAKE) install DESTDIR="`pwd`/_build"; \
for i in $(ENABLED_EXTENSIONS); do \
mv "`pwd`/_build/$(topextensiondir)/$${i}$(extensionbase)" "`pwd`/_build/"; \
cp -r "`pwd`/_build/$(datadir)/locale" "`pwd`/_build/$${i}$(extensionbase)"; \
if [ -f "`pwd`/_build/$(datadir)/glib-2.0/schemas/$(gschemabase).$${i}.gschema.xml" ]; then \
mkdir "`pwd`/_build/$${i}$(extensionbase)/schemas"; \
mv "`pwd`/_build/$(datadir)/glib-2.0/schemas/$(gschemabase).$${i}.gschema.xml" "`pwd`/_build/$${i}$(extensionbase)/schemas"; \
glib-compile-schemas "`pwd`/_build/$${i}$(extensionbase)/schemas"; \
fi; \
(cd "`pwd`/_build/$${i}$(extensionbase)"; \
zip -qr "$(abs_builddir)/zip-files/$${i}$(extensionbase).shell-extension.zip" .; \
); \
done

17
NEWS
View File

@@ -1,3 +1,20 @@
3.3.2
=====
* all extensions are now self-contained, including l10n and settings
* introduce a convenience module that can be shared among all extensions
* you can know build an installable zip file with make zip-file
* apps-menu no longer shows NoDisplay apps
* alternative-status-menu, alternate-tab: fix for master shell
3.2.1
=====
* dock: added "move" hide effect
* systemMonitor: now it enables/disables properly
* systemMonitor: improved styling
* alternate-tab: both modes now work with gnome-shell 3.2
* various other bug fixes
* updated translations
3.2.0
=====

View File

@@ -1,5 +1,5 @@
AC_PREREQ(2.63)
AC_INIT([gnome-shell-extensions],[3.2.1],[https://bugzilla.gnome.org/enter_bug.cgi?product=gnome-shell&component=extensions])
AC_INIT([gnome-shell-extensions],[3.3.2],[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,21 +1,12 @@
extensionurl = http://git.gnome.org/gnome-shell-extensions
# Change these to modify how installation is performed
topextensiondir = $(datadir)/gnome-shell/extensions
extensionbase = @gnome-shell-extensions.gcampax.github.com
uuid = $(EXTENSION_ID)$(extensionbase)
extensiondir = $(topextensiondir)/$(uuid)
include $(top_srcdir)/include.mk
dist_extension_DATA = extension.js stylesheet.css
nodist_extension_DATA = metadata.json $(EXTRA_EXTENSION)
nodist_extension_DATA = metadata.json $(top_srcdir)/lib/convenience.js $(EXTRA_EXTENSION)
EXTRA_DIST = metadata.json.in
metadata.json: metadata.json.in $(top_builddir)/config.status
$(AM_V_GEN) sed -e "s|[@]LOCALEDIR@|$(datadir)/locale|" \
-e "s|[@]uuid@|$(uuid)|" \
$(AM_V_GEN) sed -e "s|[@]uuid@|$(uuid)|" \
-e "s|[@]shell_current@|$(PACKAGE_VERSION)|" \
-e "s|[@]url@|$(extensionurl)|" $< > $@

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = alternate-tab
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.alternate-tab.gschema.xml.in
gschemas_in = $(gschemabase).alternate-tab.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -5,17 +5,19 @@
* of the gnome-shell source code
*/
const AltTab = imports.ui.altTab;
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 Main = imports.ui.main;
const Mainloop = imports.mainloop;
const ModalDialog = imports.ui.modalDialog;
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;
@@ -23,6 +25,8 @@ const Gettext = imports.gettext.domain('gnome-shell-extensions');
const _ = Gettext.gettext;
const N_ = function(e) { return e };
let settings;
const POPUP_DELAY_TIMEOUT = 150; // milliseconds
const SETTINGS_SCHEMA = 'org.gnome.shell.extensions.alternate-tab';
@@ -30,16 +34,16 @@ const SETTINGS_BEHAVIOUR_KEY = 'behaviour';
const SETTINGS_FIRST_TIME_KEY = 'first-time';
const MODES = {
all_thumbnails: function(shellwm, binding, mask, window, backwards) {
all_thumbnails: function(display, binding, mask, window, backwards) {
let tabPopup = new AltTabPopup2();
if (!tabPopup.show(backwards, binding, mask))
tabPopup.destroy();
},
workspace_icons: function(shellwm, binding, mask, window, backwards) {
if (shellwm._workspaceSwitcherPopup != null)
shellwm._workspaceSwitcherPopup.actor.hide();
workspace_icons: function(display, binding, mask, window, backwards) {
if (Main.wm._workspaceSwitcherPopup)
Main.wm._workspaceSwitcherPopup.actor.hide();
let tabPopup = new AltTabPopupW();
if (!tabPopup.show(backwards, binding, mask))
@@ -328,9 +332,8 @@ AltTabSettingsDialog.prototype = {
},
setBehaviour: function(behaviour) {
this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA });
this._settings.set_string(SETTINGS_BEHAVIOUR_KEY, behaviour);
this._settings.set_boolean(SETTINGS_FIRST_TIME_KEY, false);
settings.set_string(SETTINGS_BEHAVIOUR_KEY, behaviour);
settings.set_boolean(SETTINGS_FIRST_TIME_KEY, false);
}
};
@@ -595,33 +598,34 @@ WindowList.prototype = {
};
function init(metadata) {
imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
settings = me.convenience.getSettings(metadata, 'alternate-tab');
}
function doAltTab(shellwm, binding, mask, window, backwards) {
let settings = new Gio.Settings({ schema: SETTINGS_SCHEMA });
function doAltTab(display, screen, window, binding) {
if(settings.get_boolean(SETTINGS_FIRST_TIME_KEY)) {
new AltTabSettingsDialog().open();
} else {
let behaviour = settings.get_string(SETTINGS_BEHAVIOUR_KEY);
if(behaviour in MODES) {
MODES[behaviour](shellwm, binding, mask, window, backwards);
let modifiers = binding.get_modifiers()
let backwards = modifiers & Meta.VirtualModifier.SHIFT_MASK;
MODES[behaviour](display, binding.get_name(), binding.get_mask(), window, backwards);
}
}
}
function enable() {
Main.wm.setKeybindingHandler('switch-windows', doAltTab);
Main.wm.setKeybindingHandler('switch-group', doAltTab);
Main.wm.setKeybindingHandler('switch-windows-backward', doAltTab);
Main.wm.setKeybindingHandler('switch-group-backward', doAltTab);
Meta.keybindings_set_custom_handler('switch-windows', doAltTab);
Meta.keybindings_set_custom_handler('switch-group', doAltTab);
Meta.keybindings_set_custom_handler('switch-windows-backward', doAltTab);
Meta.keybindings_set_custom_handler('switch-group-backward', doAltTab);
}
function disable() {
Main.wm.setKeybindingHandler('switch-windows', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Main.wm.setKeybindingHandler('switch-group', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Main.wm.setKeybindingHandler('switch-windows-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Main.wm.setKeybindingHandler('switch-group-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-windows', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-windows-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
Meta.keybindings_set_custom_handler('switch-group-backward', Lang.bind(Main.wm, Main.wm._startAppSwitcher));
}

View File

@@ -3,7 +3,6 @@
"name": "AlternateTab",
"description": "A replacement for Alt-Tab, allows to cycle between windows and does not group by application",
"original-authors": [ "jw@bargsten.org", "thomas.bouffon@gmail.com" ],
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -99,7 +99,8 @@ function createSubMenu() {
// Put your extension initialization code here
function init(metadata) {
imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
}
function reset(statusMenu) {
@@ -107,10 +108,7 @@ function reset(statusMenu) {
statusMenu._updateLogout();
statusMenu._updateLockScreen();
statusMenu._presence.getStatus(Lang.bind(statusMenu, statusMenu._updateSwitch));
// HACK! Obtain the IMStatusChooserItem and force a _updateUser
statusMenu.menu._getMenuItems()[0]._updateUser();
statusMenu._updateSwitch(statusMenu._presence.status);
}
function enable() {
@@ -126,4 +124,4 @@ function disable() {
statusMenu.menu.removeAll();
statusMenu._createSubMenu();
reset(statusMenu);
}
}

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Alternative Status Menu",
"description": "Replaces GNOME Shell Status Menu with one showing Suspend/Hibernate and Power Off as separate items",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -68,7 +68,8 @@ ApplicationsButton.prototype = {
if (nextType == GMenu.TreeItemType.ENTRY) {
var entry = iter.get_entry();
var app = appsys.lookup_app_by_tree_entry(entry);
menu.addMenuItem(new AppMenuItem(app));
if (!entry.get_app_info().get_nodisplay())
menu.addMenuItem(new AppMenuItem(app));
} else if (nextType == GMenu.TreeItemType.DIRECTORY) {
this._loadCategory(iter.get_directory(), menu);
}

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Applications Menu",
"description": "Add a gnome 2.x style menu for applications",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = auto-move-windows
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.auto-move-windows.gschema.xml.in
gschemas_in = $(gschemabase).auto-move-windows.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -14,13 +14,15 @@ const Main = imports.ui.main;
const SETTINGS_SCHEMA = 'org.gnome.shell.extensions.auto-move-windows';
const SETTINGS_KEY = 'application-list';
let settings;
function WindowMover() {
this._init();
}
WindowMover.prototype = {
_init: function() {
this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA });
this._settings = settings;
this._windowTracker = Shell.WindowTracker.get_default();
let display = global.screen.get_display();
@@ -79,8 +81,10 @@ WindowMover.prototype = {
let prevCheckWorkspaces;
let winMover;
function init(extensionMeta) {
// do nothing here
function init(metadata) {
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
settings = me.convenience.getSettings(metadata, 'auto-move-windows');
}
function enable() {
@@ -159,4 +163,4 @@ function enable() {
function disable() {
Main._checkWorkspaces = prevCheckWorkspaces;
winMover.destroy();
}
}

View File

@@ -2,8 +2,7 @@
"uuid": "@uuid@",
"name": "Auto Move Windows",
"description": "Move applications to specific workspaces when they create windows",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"original-authors": [ "alessandro.crismani@gmail.com", "thomas.bouffon@gmail.com" ],
"url": "@url@"
}

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = dock
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.dock.gschema.xml.in
gschemas_in = $(gschemabase).dock.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -33,6 +33,7 @@ const DOCK_HIDE_KEY = 'autohide';
const DOCK_EFFECTHIDE_KEY = 'hide-effect';
const DOCK_AUTOHIDE_ANIMATION_TIME_KEY = 'hide-effect-duration';
let _me, _metadata;
//hide
//const autohide_animation_time = 0.3;
@@ -340,7 +341,7 @@ Dock.prototype = {
this._favorites = [];
// Load Settings
this._settings = new Gio.Settings({ schema: DOCK_SETTINGS_SCHEMA });
this._settings = _me.convenience.getSettings(_metadata, 'dock');
position = this._settings.get_enum(DOCK_POSITION_KEY);
dockicon_size = this._settings.get_int(DOCK_SIZE_KEY);
hideDock = hideable = this._settings.get_boolean(DOCK_HIDE_KEY);
@@ -934,8 +935,10 @@ DockIconMenu.prototype = {
}
}
function init(extensionMeta) {
imports.gettext.bindtextdomain('gnome-shell-extensions', extensionMeta.localedir);
function init(metadata) {
_metadata = metadata;
_me = imports.ui.extensionSystem.extensions[metadata.uuid];
_me.convenience.initTranslations(metadata);
}
let dock;

View File

@@ -3,7 +3,6 @@
"name": "Dock",
"description": "A dock for the GNOME Shell -- displays favorite and running applications",
"original-author": "tclaesson@gmail.com",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -91,7 +91,8 @@ DriveMenu.prototype = {
// Put your extension initialization code here
function init(metadata) {
imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
}
let _indicator;

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Removable Drive Menu",
"description": "A status menu for accessing and unmounting removable devices",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -19,7 +19,8 @@ function _showHello() {
function init(metadata) {
log ('Example extension initalized');
imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
}
let signalId;
@@ -38,4 +39,4 @@ function disable() {
Main.panel.actor.disconnect(signalId);
signalId = 0;
}
}
}

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Hello, World!",
"description": "An example extension to show how it works. Shows Hello, world when clicking on the top panel.",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Gajim IM integration",
"description": "Display Gajim incoming chats as notifications in the Shell message tray.",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "http://base-art.net"
}

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = native-window-placement
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.native-window-placement.gschema.xml.in
gschemas_in = $(gschemabase).native-window-placement.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -25,6 +25,8 @@ const WindowPlacementStrategy = {
GRID: 1,
};
let _me, _metadata;
// testing settings for natural window placement strategy:
const WINDOW_PLACEMENT_NATURAL_FILLGAPS = true; // enlarge windows at the end to fill gaps // not implemented yet
const WINDOW_PLACEMENT_NATURAL_GRID_FALLBACK = true; // fallback to grid mode if all windows have the same size and positions. // not implemented yet
@@ -117,7 +119,7 @@ function resetState() {
function enable() {
resetState();
let settings = new Gio.Settings({ schema: 'org.gnome.shell.extensions.native-window-placement' });
let settings = _me.convenience.getSettings(_metadata, 'native-window-placement');
let placementStrategy = settings.get_enum('strategy');
let signalId = settings.connect('changed::strategy', function() {
placementStrategy = settings.get_enum('strategy');
@@ -527,6 +529,7 @@ function disable() {
resetState();
}
function init() {
/* do nothing */
}
function init(metadata) {
_metadata = metadata;
_me = imports.ui.extensionSystem.extensions[metadata.uuid];
}

View File

@@ -2,8 +2,7 @@
"uuid": "@uuid@",
"name": "Native Window Placement",
"description": "Arrange windows in overview in a more native way",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@",
"original-authors": [ "wepmaschda@gmx.de" ]
}

View File

@@ -114,7 +114,8 @@ PlacesMenu.prototype = {
function init(metadata) {
imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
}
let _indicator;

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Places Status Indicator",
"description": "Add a systems status menu for quickly navigating places in the system",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

View File

@@ -1,7 +1,6 @@
{
"shell-version": ["@shell_current@", "3.2" ],
"shell-version": ["@shell_current@" ],
"uuid": "@uuid@",
"localedir": "@LOCALEDIR@",
"original-author": "zaspire@rambler.ru",
"name": "SystemMonitor",
"description": "System Monitor",

View File

@@ -2,7 +2,7 @@ EXTENSION_ID = user-theme
include ../../extension.mk
gschemas_in = org.gnome.shell.extensions.user-theme.gschema.xml.in
gschemas_in = $(gschemabase).user-theme.gschema.xml.in
@INTLTOOL_XML_NOMERGE_RULE@

View File

@@ -10,15 +10,16 @@ const SETTINGS_SCHEMA = 'org.gnome.shell.extensions.user-theme';
const SETTINGS_KEY = 'name';
function ThemeManager() {
this._init();
this._init.apply(this, arguments);
}
ThemeManager.prototype = {
_init: function() {
_init: function(metadata) {
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
this._settings = me.convenience.getSettings(metadata, 'user-theme');
},
enable: function() {
this._settings = new Gio.Settings({ schema: SETTINGS_SCHEMA });
this._changedId = this._settings.connect('changed::'+SETTINGS_KEY, Lang.bind(this, this._changeTheme));
this._changeTheme();
},
@@ -68,5 +69,5 @@ ThemeManager.prototype = {
function init(metadata) {
return new ThemeManager();
return new ThemeManager(metadata);
}

View File

@@ -2,8 +2,7 @@
"uuid": "@uuid@",
"name": "User Themes",
"description": "Load shell themes from user directory",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"original-authors": [ "john.stowers@gmail.com" ],
"url": "@url@"
}

View File

@@ -1,7 +1,6 @@
{
"shell-version": ["@shell_current@", "3.2" ],
"shell-version": ["@shell_current@" ],
"uuid": "@uuid@",
"localedir": "@LOCALEDIR@",
"original-author": "zaspire@rambler.ru",
"name": "windowNavigator",
"description": "Allow keyboard selection of windows and workspaces in overlay mode",

View File

@@ -2,8 +2,7 @@
"uuid": "@uuid@",
"name": "Workspace Indicator",
"description": "Put an indicator on the panel signaling in which workspace you are, and give you the possibility of switching to another one",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"original-authors": [ "erick.red@gmail.com" ],
"url": "@url@"
}

View File

@@ -137,7 +137,8 @@ Indicator.prototype = {
function init(metadata) {
imports.gettext.bindtextdomain('gnome-shell-extensions', metadata.localedir);
let me = imports.ui.extensionSystem.extensions[metadata.uuid];
me.convenience.initTranslations(metadata);
}
let _indicator;
@@ -149,4 +150,4 @@ function enable() {
function disable() {
_indicator.destroy();
}
}

View File

@@ -2,7 +2,6 @@
"uuid": "@uuid@",
"name": "Monitor Status Indicator",
"description": "Add a systems status menu for rotating monitors (overrides what is currently provided by gnome-settings-daemon)",
"shell-version": [ "@shell_current@", "3.2" ],
"localedir": "@LOCALEDIR@",
"shell-version": [ "@shell_current@" ],
"url": "@url@"
}

11
include.mk Normal file
View File

@@ -0,0 +1,11 @@
extensionurl = http://git.gnome.org/gnome-shell-extensions
# Change these to modify how installation is performed
topextensiondir = $(datadir)/gnome-shell/extensions
extensionbase = @gnome-shell-extensions.gcampax.github.com
gschemabase = org.gnome.shell.extensions
uuid = $(EXTENSION_ID)$(extensionbase)
extensiondir = $(topextensiondir)/$(uuid)

17
lib/convenience.js Normal file
View File

@@ -0,0 +1,17 @@
const Gettext = imports.gettext;
const Gio = imports.gi.Gio;
function initTranslations(metadata) {
let localeDir = metadata.dir.get_child('locale').get_path();
Gettext.bindtextdomain('gnome-shell-extensions', localeDir);
}
function getSettings(metadata, extension_id) {
let schemaDir = metadata.dir.get_child('schemas').get_path();
let schemaSource = Gio.SettingsSchemaSource.new_from_directory(schemaDir,
Gio.SettingsSchemaSource.get_default(),
false);
let schema = schemaSource.lookup('org.gnome.shell.extensions.' + extension_id, false);
return new Gio.Settings({ settings_schema: schema });
}

15
local-install.sh Executable file
View File

@@ -0,0 +1,15 @@
#!/bin/bash
extensionbase=~/.local/share/gnome-shell/extensions
for i in zip-files/*; do
zip_file=`pwd`/$i;
uuid=`basename $i | sed -e "s/.shell-extension.zip//"`;
if [ -d $extensionbase/$uuid ]; then
rm -fR $extensionbase/$uuid;
fi
mkdir $extensionbase/$uuid;
(cd $extensionbase/$uuid;
unzip -q $zip_file;
);
done

195
po/it.po
View File

@@ -8,8 +8,8 @@ msgid ""
msgstr ""
"Project-Id-Version: gnome-shell-extensions 2.91.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2011-04-26 15:14+0200\n"
"PO-Revision-Date: 2011-04-26 15:27+0200\n"
"POT-Creation-Date: 2011-11-19 18:42+0100\n"
"PO-Revision-Date: 2011-11-19 18:57+0100\n"
"Last-Translator: Giovanni Campagna <scampa.giovanni@gmail.com>\n"
"Language-Team: none <LL@li.org>\n"
"Language: \n"
@@ -17,17 +17,13 @@ msgstr ""
"Content-Type: text/plain; charset=utf-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ../extensions/alternative-status-menu/extension.js:39
msgid "Available"
msgstr "Disponibile"
#: ../extensions/alternative-status-menu/extension.js:44
msgid "Busy"
msgstr "Non disponibile"
msgid "Notifications"
msgstr "Notifiche"
#: ../extensions/alternative-status-menu/extension.js:52
msgid "My Account"
msgstr "Account personale"
msgid "Online Accounts"
msgstr "Account online"
#: ../extensions/alternative-status-menu/extension.js:56
msgid "System Settings"
@@ -37,26 +33,105 @@ msgstr "Impostazioni di sistema"
msgid "Lock Screen"
msgstr "Blocca schermo"
#: ../extensions/alternative-status-menu/extension.js:67
#: ../extensions/alternative-status-menu/extension.js:68
msgid "Switch User"
msgstr "Cambia utente"
#: ../extensions/alternative-status-menu/extension.js:72
#: ../extensions/alternative-status-menu/extension.js:73
msgid "Log Out..."
msgstr "Termina sessione..."
#: ../extensions/alternative-status-menu/extension.js:79
#: ../extensions/alternative-status-menu/extension.js:81
msgid "Suspend"
msgstr "Sospendi"
#: ../extensions/alternative-status-menu/extension.js:85
#: ../extensions/alternative-status-menu/extension.js:87
msgid "Hibernate"
msgstr "Iberna"
#: ../extensions/alternative-status-menu/extension.js:91
#: ../extensions/alternative-status-menu/extension.js:93
msgid "Power Off..."
msgstr "Spegni..."
#: ../extensions/alternate-tab/extension.js:52
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 ""
"Questa è la prima volta che viene usata l'estensione Alternate Tab. \n"
"Per favore scegli il comportamento preferito:\n"
"\n"
"Tutte & Miniature:\n"
" Questa modalità presenta tutte le applicazioni, da tutti gli spazi di lavoro\n"
" in un'unica lista. Invece di usare un'icona, usa delle piccole miniature\n"
" che rappresentano la finestra stessa.\n"
"\n"
"Spazio di lavoro & Icone:\n"
" Questa modalità ti consente di passare da un'applicazione all'altra del\n"
" tuo spazio di lavoro corrente e ti da in aggiunta l'opzione di passare all'ultima\n"
" applicazione dello spazio di lavoro precedente. Questa è sempre l'ultima della\n"
"\n"
" lista ed è separata da una linea verticale, se presente.\n"
" Ogni finestra è rappresentata dall'icona dell'applicazione.\n"
"\n"
"Se volessi ritornare al comportamento di default dello scambia finestre Alt-Tab,\n"
"disabilita l'estensione da extensions.gnome.org oppure dalle Impostazioni avanzate."
#: ../extensions/alternate-tab/extension.js:293
msgid "Alt Tab Behaviour"
msgstr "Comportamento di Alt-Tab"
#: ../extensions/alternate-tab/extension.js:309
msgid "All & Thumbnails"
msgstr "Tutte & Miniature"
#: ../extensions/alternate-tab/extension.js:316
msgid "Workspace & Icons"
msgstr "Spazio di lavoro & Icone"
#: ../extensions/alternate-tab/extension.js:323
msgid "Cancel"
msgstr "Annulla"
#: ../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 "Se vero, chiede all'utente il comportamento preferito."
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:2
msgid "Indicates if Alternate Tab is newly installed"
msgstr "Indica se Alternate Tab è stata appena installata."
#: ../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 "Imposta il comportamento di Alt-Tab. Valori possibili sono \"native\", \"all_thumbnails\" e \"workspace_icons\""
#: ../extensions/alternate-tab/org.gnome.shell.extensions.alternate-tab.gschema.xml.in.h:4
msgid "The alt tab behaviour."
msgstr "Comportamento di Alt-Tab"
#: ../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), "
@@ -69,50 +144,122 @@ msgstr ""
msgid "Application and workspace list"
msgstr "Lista applicazioni e spazi di lavoro"
#: ../extensions/dock/extension.js:116
#: ../extensions/dock/extension.js:570
msgid "Drag here to add favorites"
msgstr "Trascina qui per aggiungere ai preferiti"
#: ../extensions/dock/extension.js:417
#: ../extensions/dock/extension.js:903
msgid "New Window"
msgstr "Nuova finestra"
#: ../extensions/dock/extension.js:419
#: ../extensions/dock/extension.js:905
msgid "Quit Application"
msgstr "Chiudi applicazione"
#: ../extensions/dock/extension.js:424
#: ../extensions/dock/extension.js:910
msgid "Remove from Favorites"
msgstr "Rimuovi dai preferiti"
#: ../extensions/dock/extension.js:425
#: ../extensions/dock/extension.js:911
msgid "Add to Favorites"
msgstr "Aggiungi ai preferiti"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:1
msgid "Autohide duration"
msgstr "Durata dell'effetto di scomparsa"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:2
msgid "Autohide effect"
msgstr "Effetto di scomparsa"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:3
msgid "Enable/disable autohide"
msgstr "Abilita/disabilita scomparsa automatica"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:4
msgid "Icon size"
msgstr "Dimensione delle icone"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:5
msgid "Position of the dock"
msgstr "Posizione del dock"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:6
msgid "Sets icon size of the dock."
msgstr "Imposta la dimensione delle icone del dock."
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:7
msgid ""
"Sets the effect of the hide dock. Allowed values are 'resize' or 'rescale'"
msgstr "Imposta l'effetto di scomparsa automatica del dock. Valori consentiti sono \"resize\" e \"rescale\""
#: ../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 "Imposta la posizione del dock sullo schermo. Valori consentiti sono \"right\" (destra) e \"left\" (sinistra)"
#: ../extensions/dock/org.gnome.shell.extensions.dock.gschema.xml.in.h:9
msgid "Sets the time duration of the autohide effect."
msgstr "Imposta la durata in secondi dell'effetto di scomparsa"
#: ../extensions/example/extension.js:11
msgid "Hello, world!"
msgstr "Ciao, mondo!"
#: ../extensions/gajim/extension.js:219
#: ../extensions/gajim/extension.js:227
#, c-format
msgid "%s is away."
msgstr "%s è assente"
#: ../extensions/gajim/extension.js:222
#: ../extensions/gajim/extension.js:230
#, c-format
msgid "%s is offline."
msgstr "%s è fuori rete"
#: ../extensions/gajim/extension.js:225
#: ../extensions/gajim/extension.js:233
#, c-format
msgid "%s is online."
msgstr "%s è disponibile"
#: ../extensions/gajim/extension.js:228
#: ../extensions/gajim/extension.js:236
#, c-format
msgid "%s is busy."
msgstr "%s non è disponibile"
#: ../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 "Se vero, posiziona i titoli delle finestre in cima alle rispettive miniature, aggirando il comportamento normale della shell, che li colloca in basso. Modificare questa impostazione richiede di riavviare la shell."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:2
msgid "Place window captions on top"
msgstr "Posiziona i titoli delle finestre in cima"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:3
msgid ""
"The algorithm used to layout thumbnails in the overview. 'grid' to use the "
"default grid based algorithm, 'natural' to use another one that reflects "
"more the position and size of the actual window"
msgstr "L'algoritmo usato per posizionare le miniature nella panoramica attività. \"grid\" per usare l'algoritmo di default, basato su una griglia, 'natural' per usarne un altro che riflette di più la posizione e la dimensione effettive della finestra."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:4
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 "Cerca di usare più spazio per collocare le miniature delle finestre, adattandosi al rapporto d'aspetto dello schermo, e consolidandole ulteriormente per ridurre lo spazio complessivo. Questa impostazione si applica solo se l'algoritmo di posizionamento è \"natural\"."
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:5
msgid "Use more screen for windows"
msgstr "Usa più spazio per le finestre"
#: ../extensions/native-window-placement/org.gnome.shell.extensions.native-window-placement.gschema.xml.in.h:6
msgid "Window placement strategy"
msgstr "Algoritmo di posizionamento delle finestre"
#: ../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 "Il nome del tema, da caricare in ~/.themes/nome/gnome-shell"