Commit Graph

108 Commits

Author SHA1 Message Date
Bastien Nocera
8064c6c827 Add private gnome-volume-control library
The library is introspected, and should not require using
Pulseaudio directly.

With help from Giovanni Campagna <scampa.giovanni@gmail.com>
(introspection annotations, build fixes)

https://bugzilla.gnome.org/show_bug.cgi?id=629455
2010-10-19 15:24:04 +01:00
Dan Winship
dd155e2f87 src: remove no-longer-used file
fix-meta-rectangle.py is not needed with current gobject-introspection
2010-10-05 12:24:56 -04:00
Dan Winship
38a69f56b4 src: consistentify Makefile indentation/alignment 2010-10-05 10:15:22 -04:00
Owen W. Taylor
e15e202e11 Support and require Mutter 2.91.0 2010-10-04 15:07:53 -04:00
Colin Walters
11db188fe9 Support xulrunner 1.9.3+
Add small wrappers around JS_AddValueRoot.
Add JS_BeginRequest in our custom code.

https://bugzilla.gnome.org/show_bug.cgi?id=630539
2010-09-30 12:43:12 -04:00
Dan Winship
ae9360659d [ShellTrayIcon] add ShellTrayIcon, make ShellTrayManager use it
The actor emitted by ShellTrayManager is now ShellTrayIcon, a subclass
of ShellGtkEmbed which has several properties on it which are (or will
soon be) useful to the shell.

Part of the rearranging to use ShellTrayIcon means that we now show
the ShellEmbeddedWindow before creating its ShellGtkEmbed, which
requires a few modifications to ShellEmbeddedWindow (notably, telling
it at construct time what stage it will be drawn on, since it needs to
know that before it has a ShellGtkEmbed now).

https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
Dan Winship
745e8f608f [ShellGtkEmbed] base this on ClutterX11TexturePixmap, not ClutterGLX
As of 1.4, ClutterGLXTexturePixmap is identical to
ClutterX11TexturePixmap (with the differences having been moved into
the cogl layer). So make ShellGtkEmbed use the (introspected) X11
version, which then allows us to make the instance and class structs
public as well.

https://bugzilla.gnome.org/show_bug.cgi?id=608869
2010-09-23 09:49:47 -04:00
Colin Walters
dddd97f6df introspection: Build with --warn-all --warn-error
* Use --warn-all, --warn-error
* Fix various broken gtk-doc
* Drop unused shell_get_event_related
* For header defines, we currently require them to end in _H to be skipped
* Drop the no-longer-necessary fix-meta-rectangle.py hack
* Move to the convention of using -private.h for headers that are,
  well, private.
* Add shell-wm-private.h
2010-09-07 13:07:52 -04:00
Florian Müllner
643c7fdb3a Switch build to Gtk+-3.0
Update the build dependencies to gtk+-3.0 and adjust the javascript
to run on gtk+-3. Obviously depends on mutter compiled with gtk+-3
as well.

https://bugzilla.gnome.org/show_bug.cgi?id=621845
2010-07-07 12:57:59 -04:00
Owen W. Taylor
174caf0016 Work around g-ir-scanner problem with Gdk.Rectangle
g-ir-scanner is currently buggy and confuses the Gdk.Rectangle alias
with MetaRectangle. Since this is moderately hard to fix in
gobject-introspection and the fix would conflict with in-progress
changes, work around by doing a 'sed job' on the generated Meta.gir.

https://bugzilla.gnome.org/show_bug.cgi?id=623640
2010-07-07 12:57:59 -04:00
Milan Bouchet-Valat
2799327c84 Migrate to GSettings
Use GSettings for all Shell configuration. GConf is kept to read
configuration from external programs (Metacity, Nautilus and Magnifier),
but ShellGConf is removed because it's mostly useless for the few calls
we still have. Also get rid of unused GConf code in ShellAppSystem.

A basic GConf schema is still used to override Metacity defaults and
configure Magnifier in a system-wide fashion. GConf is also used as
GSettings backend via the GSETTINGS_BACKEND environment variable.
All of this will be removed when these programs have been ported
to GSettings and able to use dconf.

GLib 2.25.9 is required. Schemas are converted to the new XML format,
and compiled at build time in data/ so that the Shell can be run from
the source tree. This also requires setting the GSETTINGS_SCHEMA_DIR
environment variable both when running installed or from source tree,
in src/gnome-shell.in and src/gnome-shell-clock-preferences.in.

https://bugzilla.gnome.org/show_bug.cgi?id=617917
2010-06-18 20:27:41 +02:00
Dan Winship
942810e88e [ShellOverflowList] remove ShellOverflowList
Nothing uses ShellOverflowList any more, so remove it. (Even if we
want that sort of functionality again later, we'd want it to be
StWidget-based, and with a name less likely to be confused with
StOverflowBox.)

https://bugzilla.gnome.org/show_bug.cgi?id=621582
2010-06-15 12:02:33 -04:00
Dan Winship
016ab1afee [ShellMenu] remove; no longer used
https://bugzilla.gnome.org/show_bug.cgi?id=619541
2010-06-10 15:04:48 -04:00
Colin Walters
afadeef204 Remove duplication of non_gir_sources, ensures we only need to add a file once
This also fixes shell-window-tracker-private.h not being in the dist.
2010-06-10 10:34:34 -04:00
Colin Walters
e4a6bf994f Fix ShellAppSystem's use of no_focus_window, clean up state handling
First, we were passing an incorrect timestamp to
meta_display_focus_the_no_focus_window - fix that.

The invocation of set_focus_app to the started app there couldn't
really work, because (if the above call had worked) we'd get the
X reply *after* the started app.

What we need to untangle here is the distinction that's now made in
ShellApp between _STATE_STARTING and _STATE_RUNNING.  A nice way to
start doing this is to rebase ShellWindowTracker to only be concerned
with app states.  Concretely, the current "has windows implies
running" logic now lives just inside shell-app.c.

Rename the app-running-changed signal to be app-state-changed.  This
will ultimately be useful so that inside the panel, we can track
the last started app.

https://bugzilla.gnome.org/show_bug.cgi?id=620899
2010-06-09 14:44:15 -04:00
Florian Müllner
764f5b62f0 [clockPreferences] Fix translations
The preference dialog for the panel clock does not set its gettext
domain, so it's not translated even if though translations are
already available.
Fix by setting the domain in the GtkBuilder file and binding the
domain to the locale directory.

https://bugzilla.gnome.org/show_bug.cgi?id=618873
2010-05-25 23:03:15 +02:00
Owen W. Taylor
ea3b2a5707 Update versions for 2.31.2
Update the GNOME Shell version to 2.31.2, and make corresponding
updates to dependencies:

 clutter => 1.2.8
 mutter => 2.31.2
 gobject-introspection => 0.6.11
 gjs => 0.7
2010-05-25 15:22:42 -04:00
Owen W. Taylor
1dd2f2c6bc Add ShellPerfLog
ShellPerfLog provides a way for different parts of the code to
record information for subsequent analysis and interactive
exploration. Events exist of a timestamp, an event ID, and
arguments to the event.

https://bugzilla.gnome.org/show_bug.cgi?id=618189
2010-05-20 23:41:40 -04:00
Joseph Scheuhammer
7b7c34a399 Adds magnifier functionality to gnome-shell.
Adds the ability to create one or more zoom regions that show magnified or
enhanced views of the desktop.  The magnifier provides options for:
* magnification factor,
* four mouse tracking modes common to screen magnifiers,
* positioning the magnified view in one of four screen location, or full screen,
* crosshairs to accentuate the position of the mouse,
* user preferences persistence via GConf (schemas in
  .../data/gnome-shell.schemas).
* a DBus API to allow other processes to drive the magnifier as a service.

https://bugzilla.gnome.org/show_bug.cgi?id=595507
2010-05-11 14:52:25 -04:00
Florian Müllner
6318c8e95b Add compatibility with GTK+ 2.18
To replace all calls to deprecated code, GTK+ 2.20 is required - add
some basic compatibility code, so that is still possible to build the
shell with GTK+ 2.18 when not using -DGSEAL_ENABLE.

https://bugzilla.gnome.org/show_bug.cgi?id=618258
2010-05-10 18:31:51 +02:00
Florian Müllner
266a0fb7d6 Add a simple preference dialog for the clock
Port the 'General' preferences tab of the panel's clock applet to
javascript and add it to the build system.

https://bugzilla.gnome.org/show_bug.cgi?id=600276
2010-05-09 01:07:47 +02:00
Dan Winship
3d6c12121f src/Makefile.am: add stamp-shell-enum-types.h to CLEANFILES 2010-04-14 10:49:34 -04:00
Owen W. Taylor
dc5dcc6139 Distribute shell-enum-types.h.in and shell-enum-types.c.in
These new files need to be in EXTRA_DIST

Based on a patch by Rico Tzschichholz
https://bugzilla.gnome.org/show_bug.cgi?id=615621
2010-04-13 07:19:15 -04:00
Colin Walters
4392516713 Create GTypes for Shell namespace
https://bugzilla.gnome.org/show_bug.cgi?id=614755
2010-04-12 16:01:54 -04:00
Dan Winship
439203349d Remove Big, which is no longer used
https://bugzilla.gnome.org/show_bug.cgi?id=614516
2010-04-06 09:13:51 -04:00
Dan Winship
cfea0649d8 remove some Big references from places that don't need them any more
https://bugzilla.gnome.org/show_bug.cgi?id=614516
2010-04-06 08:17:33 -04:00
Colin Walters
9423d2c9ac [build] Link against -lm
Fedora 13 uses --no-add-needed, so if we use -lm, we have
to explicitly specify it.

More information: http://fedoraproject.org/wiki/Features/ChangeInImplicitDSOLinking
2010-03-26 17:10:18 -04:00
Florian Müllner
744bc996db Add a --version command line option
https://bugzilla.gnome.org/show_bug.cgi?id=613164
2010-03-18 01:43:11 +01:00
Dan Winship
374fd35476 src/Makefile.am: fix .gir dependencies
We don't need to rebuild Big-1.0.gir and St-1.0.gir when
libgnome-shell changes.

https://bugzilla.gnome.org/show_bug.cgi?id=612734
2010-03-12 14:05:58 -05:00
Colin Walters
22948b3d39 Merge St.TextureCache and Shell.TextureCache
Brute force merge these two by essentially replacing St.TextureCache
with a (renamed) Shell.TextureCache.

One function was added for convenience, namely "st_texture_cache_load_file_simple".
St.TextureCache had a function to load a texture from a filename, and it
returned NULL on error but only half the callers actually checked this.  This
function is better.

https://bugzilla.gnome.org/show_bug.cgi?id=607500
2010-03-05 16:19:40 -05:00
Colin Walters
2e98aab2e7 Revert "(autobuilder test) Really break the build"
This reverts commit 760b6ad9ed.
2010-03-01 10:59:51 -05:00
Colin Walters
760b6ad9ed (autobuilder test) Really break the build 2010-03-01 10:52:31 -05:00
Owen W. Taylor
2dc8d9b462 Fix include path when building Shell-1.0.gir
Since shell-slicer.h includes st.h, and that includes
<st/*.h>, we need to add -I $(srcdir) to the command line when
running g-ir-scanner to generate Shell-1.0.gir.
2010-02-22 22:07:52 -05:00
Colin Walters
18c5405b79 [StScrollView] Add support for GtkPolicyType for scrollbars
Previously we were hacking out the vertical scrollbar, this patch
allow us to sanely say in which directions we want to scroll.

Note this patch intentionally changes St to depend on GTK+ in the
API.  I believe this is a correct long term change where we should
view St as co-evolving with GTK+ rather than replacing or paralleling.

https://bugzilla.gnome.org/show_bug.cgi?id=609015
2010-02-19 15:37:40 -05:00
Maxim Ermilov
5b1d52c5e7 Fix build problem with mutter 2.29
Query mutter's version more or equal 2.29.0
2010-02-19 20:54:47 +03:00
Colin Walters
11656ebd89 Remove duplicate GETTEXT_PACKAGE 2010-02-11 15:29:58 -05:00
Colin Walters
262f92e0be [ShellSlicer] New class to display center of child
A #StBin that has 0 minimum size, and will clip its child
in the middle.

https://bugzilla.gnome.org/show_bug.cgi?id=605491
2010-01-07 18:33:00 -05:00
Colin Walters
a442dfea14 Add class for handling recent docs
Push some of the JS docInfo down into C; crucially, this lets us
use the GIO async API.

https://bugzilla.gnome.org/show_bug.cgi?id=603522
2009-12-15 15:54:42 -05:00
Colin Walters
2f1ca7bf28 Remove ShellButtonBox, button.js; Use St.Clickable in panel.js
StClickable replaces ShellButtonBox.  Reduce the number of
button-like things by deleting button.js.

To do so, add CSS style for the actitivies button.

https://bugzilla.gnome.org/show_bug.cgi?id=602131
2009-11-23 14:33:49 -05:00
Colin Walters
f815844eb4 Move ShellDrawingArea to StDrawingArea
It's nicer to have ShellDrawingArea as a St widget so it can
participate more cleanly in CSS styling, such as queuing a redraw
automatically on style changes, and allowing subclasses to use
CSS styling.

https://bugzilla.gnome.org/show_bug.cgi?id=602131
2009-11-23 14:33:48 -05:00
Dan Winship
985d707788 Port ShellStatusMenu to javascript
https://bugzilla.gnome.org/show_bug.cgi?id=601458
2009-11-13 14:21:31 -05:00
Dan Winship
9ddebf0480 Introspect src/gdmuser
In addition to the Makefile changes, we also change uid_t to gulong in
the public API (which matches how it was already represented in the
gobject properties).

https://bugzilla.gnome.org/show_bug.cgi?id=601458
2009-11-13 14:20:45 -05:00
Owen W. Taylor
2103a4da24 Add shell-global-private.h to Makefile.am
Distribute shell-global-private.h (as a non_gir_sources, since it
includes gjs.h and isn't scannable by gobject-introspection.)
2009-10-28 15:46:46 -04:00
Colin Walters
e941e8088b Split ShellAppMonitor into ShellWindowTracker, ShellAppUsage
The two parts were mapping windows to applications, and
recording application usage statistics.  The latter part
(now called ShellAppUsage) is much more naturally built on top of
the former (now called ShellWindowTracker).

ShellWindowTracker retains the startup-notification handling.

ShellWindowTracker also gains a focus-app property, which is
what most things in the shell UI are interested in (instead of
window focus).

ShellAppSystem moves to exporting ShellApp from more of its
public API, rather than ShellAppInfo.  ShellAppSystem also
ensures that ShellApp instances are unique by holding
a hash on the ids.

ShellApp's private API is split off into a shell-app-private.h,
so shell-app.h can be included in shell-app-system.h.

Favorites handling is removed from ShellAppSystem, now inside
appFavorites.js.

Port all of the JavaScript for these changes.

https://bugzilla.gnome.org/show_bug.cgi?id=598646
2009-10-20 12:55:07 -04:00
Colin Walters
38c06ca837 Create ShellApp, rebase things on it
Previously, we had ShellAppInfo, which contains fundamental
information about an application, and methods on ShellAppMonitor
to retrieve "live" information like the window list.

AppIcon ended up being used as the "App" class which was painful
for various reasons; among them that we need to handle window
list changes, and some consumers weren't ready for that.

Clean things up a bit by introducing a new ShellApp class in C,
which currently wraps a ShellAppInfo.

AppIcon then is more like the display actor for a ShellApp.  Notably,
the ".windows" property moves out of it.  The altTab code which
won't handle dynamic changes instead is changed to maintain a
cached version.

ShellAppMonitor gains some more methods related to ShellApp now.

In the future, we might consider changing ShellApp to be a GInterface,
which could be implemented by ShellDesktopFileApp, ShellWindowApp.

Then we could axe ShellAppInfo from the "public" API and it would
return to being an internal loss mitigation layer for GMenu.

https://bugzilla.gnome.org/show_bug.cgi?id=598227
2009-10-14 14:37:34 -04:00
Owen W. Taylor
a26b0b60d1 Fix srcdir != builddir build of St.gir
We need to use st_cflags which has -I$(srcdir) not ST_CFLAGS
when building St.gir.
2009-10-07 19:32:00 -04:00
Owen W. Taylor
60dbb19c2d Reference Meta-2.28.gir
Now that Mutter has been bumped to 2.28.0, we need to reference
Meta-2.28.gir not Meta-2.27.gir.
2009-10-07 19:27:17 -04:00
Owen W. Taylor
276d9a9302 Import stylesheet code from hippo-canvas
Import:

  HippoCanvasTheme      => StTheme
  HippoCanvasThemeImage => StThemeImage
  HippoCanvasStyle      => StThemeNode

StThemeContext is a new class managing the theme for a stage and
global properties like resolution.

test-theme.c is a newly written test program to do verification of the
style matching and property handling rules.

Various changes are made in the import:

 - Comprehensive reindentation
 - guint32 pixels replaced with ClutterColor
 - General pseudo-class support added
 - Old-fashioned (non-bordered) background image support added, though
   with no support for repeat, etc.
 - Bug fixes for problems revealed by test program

https://bugzilla.gnome.org/show_bug.cgi?id=595990
2009-10-01 14:41:18 -04:00
Owen W. Taylor
d291e568fd Import Mx core as ST
Import the core MxWidget/MxBin and their dependencies; we use the
namespace "St" (Shell Toolkit) because it is the same length as Mx
so enabling easy sharing of code, but makes it clear that this is
a friendly fork and not a literal import.

Based on a patch by Colin Walters <walters@verbum.org>

https://bugzilla.gnome.org/show_bug.cgi?id=591245
2009-10-01 14:41:16 -04:00
Dan Winship
11d884d724 [AppSwitcher] Port Alt-Tab switcher to custom_handler interface
https://bugzilla.gnome.org/show_bug.cgi?id=590563
2009-09-24 16:13:42 -04:00