Commit Graph

33 Commits

Author SHA1 Message Date
Giovanni Campagna
1463a6481e dock: update for gnome-shell API changes
Shell.get_event_state() was removed, use direct .get_state()
instead.
2012-03-01 21:05:14 +01:00
Giovanni Campagna
9b6374881d all: port to the new class framework
A long due update, since this was merged in gjs and core shell.
We no longer need to mess with __proto__ and prototype, and can
use decent syntax for true object oriented programming.
(This affects all except xrandr-indicator, since I want to port
that to GDBus too, using the new bindings right from the start)
2012-02-10 15:16:46 +01:00
Giovanni Campagna
2388b8738f dock: refactor and clean up code
Modified to avoid global settings variables, that were updated
unpredictably. Removed the inital show effect and placing the dock
at primary.y at startup (causing a big and often unexpected jump).
Ported to the new class framework, which should mean cleaner code.
2012-02-10 15:16:16 +01:00
Giovanni Campagna
3630228cac all: port to the new convienence module
Retrieve Convenience from the extension helper object (Me), and
pass no arguments to initTranslations and getSettings (since the
metadata has all that is required)
2012-02-09 18:43:28 +01:00
Giovanni Campagna
9ebfd1f495 build system: factor out setting schema generation
Introduce a common settings.mk file, which is included in extensions
that need GSettings, to ensure that conventions are respected, and
necessary fixes can be applied from one place.
2012-02-08 18:01:00 +01:00
Giovanni Campagna
dfca68062c build system: add additional automatic metadata
Add "gettext-domain", "extension-id" (containing the base part of the
UUID) and "gschemabase" (which, combined with "extension-id", gives
the GSettings schema) to metadata.json, autogenerated by the build
system.
2012-02-08 18:00:56 +01:00
Giovanni Campagna
631f88ff42 dock: dispose of settings before getting rid of it
Calling run_dispose on a GObject automatically disconnects all
signals, which is exactly what we need.
2011-12-22 15:15:16 +01:00
Giovanni Campagna
98b0a5e9ee dock: use core shell styling
Realign dock styling to core shell's dash, by using AppDisplay.AppIcon
directly instead of rewriting everything.
2011-12-20 19:52:25 +01:00
Giovanni Campagna
5bf1339ef1 dock: restore strut management
When configured not to auto-hide, the dock should modify struts
so that it doesn't cover maximized windows.
2011-12-20 19:04:49 +01:00
Giovanni Campagna
fe052f0e69 dock: fix documentation and default value of hide-effect
In 3.2, the default hide effect is move, so make it the default
for 3.3 as well. Also, update the docs for this new value.
2011-12-19 16:33:30 +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
805bcc4ab0 Bump version to 3.2.1
To go along GNOME Shell 3.2.1
Also, mark both alternate-tab and dock as generally "working with
3.2", since the most outstanding bugs seem to be fixed now.
2011-11-19 13:46:33 +01:00
Stefan 'psYchotic' Zwanenburg
c6624e84b3 dock: Added hide-effect 'move'.
This new hide-effect simply moves everything but 1*_spacing offscreen.
It's fairly similar to the 'rescale' effect.
2011-11-18 18:47:47 +01:00
Stefan 'psYchotic' Zwanenburg
b7e30eb99a dock: fix hide-effect dconf signal handler.
Prior to this fix, the variables 'enter_event' and 'leave_event' in the
handler for the 'changed' event for the
'/org/gnome/shell/extensions/dock/hide_effect' dconf key were
uninitialized. This made switching the hide effect at runtime throw an
error. By promoting these two variables to instance members and
assigning to them upon initialization, this problem should be fixed.

https://bugzilla.gnome.org/show_bug.cgi?id=662389
2011-11-18 18:39:09 +01:00
Giovanni Campagna
66242aa76a [PATCH 1/2] Make dock extension actually work with gnome-3.2
Without this patch dock is invisible, but reacts on mouse clicks

Signed-off-by: Vasily Khoruzhick <anarsoul@gmail.com>
2011-10-18 10:19:50 +02:00
Stefan 'psYchotic' Zwanenburg
967aee7aad dock: Fix popup menus
The dock popup menus weren't working because a signal had been renamed
('popup' -> 'open-state-changed').

https://bugzilla.gnome.org/show_bug.cgi?id=661484
2011-10-12 03:51:57 +02:00
Giovanni Campagna
c256ed802b various: update the extensions for gnome-shell API changes
GNOME Shell has changed internal API here and there, and this
broke some extensions.
alternate-tab and dock still have issues, I'll try to solve them
post 3.2.0
2011-10-03 17:31:43 +01:00
Giovanni Campagna
ba16a8e0d8 dock: update to new gnome-shell API
Main.chrome was replaced by Main.layoutManager, and main() was
replaced by init()
2011-08-18 19:38:10 +02:00
Giovanni Campagna
1c4252720d dock: port to new extension API
main() has been replaced by init(), enable() and disable()
not sure if it works, could cause memory leaks if disabling, because
of uncollectable cycles
2011-08-02 23:30:38 +02:00
Giovanni Campagna
23613f32c7 Fix mentions of shell_global_get_primary_monitor()
This method has been removed, and replaced by Main.layoutManager.primaryMonitor

Patch sent by Miguel Aguilar <zodiac_es@yahoo.es>
2011-08-01 15:45:40 +02:00
Giovanni Campagna
bbc00e5c3d dock: implement autohiding
Now it is possible to configure in GSettings if the dock should be
visible at all time or it should autohide when not needed. If
autohiding, it animates, and the effect is itself configurable, as
well as his duration.
Based on a patch by Miguel Aguilar <zodiac_es@yahoo.es>
2011-07-13 00:55:08 +02:00
Giovanni Campagna
dd4ccca358 Fix mentions of shell_global_get_primary_monitor()
This method has been removed from master, and replaced by
Main.layoutManager.primaryMonitor
2011-07-09 16:14:08 +02:00
Giovanni Campagna
939994d07d dock: fix showing in overview with gnome-shell master
Chrome module no longer updates the visibility of objects when
the overview is shown or hidden, so we need to do it ourselves.
2011-06-30 21:52:18 +02:00
Marc Alcalà
41d9b71b26 Allow dock allows multiple positions in screen
Use GSettings to store configuration and make the dock position
customizabile. Currently, supported are left and right of the
primary monitor; more could be added in the future.

(Commit message edited by Giovanni Campagna)

https://bugzilla.gnome.org/show_bug.cgi?id=647394

Signed-off-by: Giovanni Campagna <gcampagna@src.gnome.org>
2011-05-23 22:42:07 +02:00
Giovanni Campagna
0ce994ba46 Revert "Mark extensions that require only public API"
This reverts commit 6cd9530862, and
reopens development againts GNOME Shell master. Time for 3.2!
2011-04-26 01:17:23 +02:00
Giovanni Campagna
6cd9530862 Mark extensions that require only public API
Extensions that use public Shell API are expected to work for all
stable 3.0 releases, so we skip setting the minor version. (This
means that they'll work in 3.0.0 and 3.0.1 without rebuilding).
Notably absent are auto-move-windows and windowsNavigator, that
hook deep into Shell code and could be broken by next minor release.
2011-04-05 16:42:48 +02:00
Giovanni Campagna
984e755ee6 Dock: lower the actor to the bottom
Unless overridden manually, Clutter places actors at the top, which
means the dock is painted above both the status menu and summary
notifications.
2011-02-26 16:43:15 +01:00
Giovanni Campagna
fbbe5ba764 Add url property in the metadata
GNOME Shell emits a warning when "url" is absent in metadata.json,
adding it costs nothing. Links to the GIT repository because I
found no better page to reference.
2011-02-26 16:41:52 +01:00
Giovanni Campagna
b289b0fdee Dock: more fixes for 2.91.6
Fix the behavior of the PopupMenu after the conversion of
St.Clickable to St.Button, and fix the invocation of ShellApp.open_new_window(),
which now accepts a workspace index as a number (as a side effect,
"New window" means one the current workspace now).
2011-02-20 18:42:30 +01:00
Giovanni Campagna
e12ff1b6f9 Dock: remove commented out code
It is all in GIT history now.
2011-02-19 20:33:22 +01:00
Giovanni Campagna
586d72f1fe Add dock extension
Add an extension which shows a dock on the right, contributed by
Tor-björn Claesson.
2011-02-19 20:31:03 +01:00