Commit Graph

193 Commits

Author SHA1 Message Date
Colin Walters
119516424d Update to using Clutter 1.0
Change the pkg-config and .gir requirements.
2009-07-29 13:00:41 -04:00
Colin Walters
a15ee28177 Add ShellDrawingArea and ShellStack
ShellDrawingArea is a size-independent wrapper for a ClutterCairoTexture.
Useful when drawing non-fixed size areas.

ShellStack is a simple container class which holds items
in a completely overlapping Z stack.  The main difference
from ClutterGroup is that items will be constrained to
(and allocated) the size of the stack, not getting their
preferred size always.
2009-07-06 14:11:18 -04:00
Dan Winship
203ec385c5 Add ShellGConf
Although methods like gconf_client_get/set_bool() and such are usable
from gjs, get_list/set_list is not, since there's only one method for
all list types. So ShellGConf wraps GConfClient and adds separate
typed list methods.

Also, add a detailed "changed" signal that can easily be connected to
from js, since we can't currently use gconf_client_notify_add()
directly.
2009-07-06 11:55:17 -04:00
Colin Walters
a1908d9db1 Add ShellOverflowList, a dynamic list with paging
This container class will be used for GenericDisplay.
2009-07-04 15:29:51 -04:00
Dan Winship
a5e3227b64 Set GCONF_DEFAULT_SOURCE_PATH from the gnome-shell wrapper script
Needed so that a jhbuilt gnome-shell can find its schemas at runtime
2009-06-30 17:29:40 -04:00
Jon Nettleton
6675b568d9 Update gnome-shell for renamed Mutter
Adjust references to the mutter binary and plugin locations to account
for the rework of Mutter to install as 'mutter' instead of 'metacity'

http://bugzilla.gnome.org/show_bug.cgi?id=581814
2009-06-16 14:39:29 -04:00
Colin Walters
d024dbd779 Bug 582248 - Async loading of pixbufs and icon caching
Add a ShellTextureCache class which loads (and can cache)
pixmap->texture conversions.  This fixes a problem with the
async code in ClutterTexture that it was lower priority
than animations, and also ensures we're really only
loading these pixbufs once in the icon case.
2009-05-20 11:22:56 -04:00
Owen W. Taylor
3327a198e1 Add size negotiation to the tray icons
* Rename ShellGtkWindowActor to ShellGtkEmbed, and make it require
  a ShellEmbeddedWindow rather than a general GtkWindow.

* Add ShellEmbeddedWindow subclass of GtkWindow that bypasses most
  of the GtkWindow complexity for size negotiation, and calls out
  to a clutter actor instead; also automatically handle reparenting
  the GtkWindow into the stage window.

* Use the reworked ShellGtkEmbed in ShellTrayManager, this simplifies
  the code a bit, and more importantly results in the tray icons
  having the correct size negotiation, rather than having a fixed
  24x24 size.

http://bugzilla.gnome.org/show_bug.cgi?id=580047
2009-05-04 14:24:05 -04:00
Dan Winship
81dbf5118f Implement MetaAltTabHandler
This is a fairly simple implementation, not all that different from
plain metacity's. Further improvements could be made to
js/ui/altTab.js in the future.

http://bugzilla.gnome.org/show_bug.cgi?id=580917
2009-05-04 13:01:03 -04:00
Milan Bouchet-Valat
f4f92a879c application monitoring base object
The new ShellAppMonitor object is responsible for tracking active applications and store statistics.

http://bugzilla.gnome.org/show_bug.cgi?id=570899
2009-04-29 11:05:03 -04:00
Owen W. Taylor
0b81a4a7e9 Use Meta-2.27.gir when building the plugin gir
Use Meta-2.27.gir; Mutter in git.gnome.org now generates that
version.
2009-04-25 11:56:09 -04:00
Colin Walters
b632801c7c Rename ShellAppMonitor to ShellAppSystem
This makes it clearer that really we're now an API, not just a
monitor.
2009-04-22 15:34:14 -04:00
Colin Walters
0a9226f7f2 Add a menu display to applications
ShellAppMonitor now depends on gmenu to load menus.

Use the menu data from ShellAppMonitor to show a menu list.

GenericDisplay implementations can now have a sidebar area.  We
handle keystrokes such as left/right explicitly.

Some internal API changes to account for the fact that a display
can have another filter in addition to the search.
2009-04-07 17:07:35 -04:00
Owen W. Taylor
afceea3fe6 Add a built-in screencast recording facility
For development and demonstration purposes, it's neat to be able to
record a screencast of gnome-shell without any external setup.
Built-in recording can also give much better quality than is possible
with a generic desktop recording, since we hook right into the paint
loop.

src/shell-recorder.[ch]: A general-purposes object to record a Clutter
 stage to a GStreamer stream.
src/shell-recorder-src.[ch]: A simple GStreamer source element (similar
 to appsrc in the most recent versions of GStreamer) for injecting
 captured data into a GStreamer pipeline.
src/test-recorder.c: Test program that records a simple animation.

configure.ac src/Makefile.am: Add machinery to conditionally build
 ShellRecorder.
tools/build/gnome-shell-build-setup.sh: Add gstreamer packages
 to the list of required packages for Fedora.

js/ui/main.js: Hook up the recorder to a MetaScreen ::toggle-recording
 keybinding.

http://bugzilla.gnome.org/show_bug.cgi?id=575290
2009-03-20 16:53:50 -04:00
Dan Winship
8087e6aee6 make gnome-shell runnable from an install 2009-03-12 10:04:47 -04:00
Dan Winship
e01efd3635 Make "make distcheck" work, and verify that we're disting all the javascript 2009-03-12 10:04:25 -04:00
Dan Winship
508d6021da Fix another s/$(libdir)/$(META_LIB_DIR)/ when building Shell-0.1.typelib 2009-03-10 13:03:20 -04:00
Dan Winship
1048ae898b fix CLEANFILES: it's Shell-0.1.gir, not Shell-1.0.gir 2009-03-10 13:00:36 -04:00
Dan Winship
84aec28575 Make the gnome-shell script work without needing "jhbuild run" 2009-02-25 14:37:16 -05:00
Owen W. Taylor
0f7abf96a7 Port to Clutter-0.9
tools/build/gnome-shell.modules: Point  at master branch of Clutter (0.9)
  and make gobject-introspection a dep of Clutter.
configure.ac src/Makefile.am: Use Clutter-0.9
js/ui/button.js js/ui/genericDisplay.js js/ui/overlay.js js/ui/panel.js
js/ui/runDialog.js js/ui/workspaces.js src/shell-status-menu.c:
  Use ClutterText instead of ClutterLabel and ClutterEntry
js/ui/workspaces.js js/ui/genericDisplay.js: Use ClutterClone instead
  of ClutterCloneTexture
src/shell-global.[ch]: Add Shell.get_event_key_symbol() to workaround
  unaccessibility of clutter_key_event_symbol() to use.
js/runDialog.js js/overlay.js: Use Shell.get_event_key_symbol() as
  appropriate.
2009-02-23 14:53:06 -05:00
Colin Walters
b7a0a5e769 Merge branch 'statusmenu'
svn path=/trunk/; revision=183
2009-02-04 18:45:38 +00:00
Dan Winship
3a84625888 Make a ClutterActor subclass that wraps a GtkWindow, and use it for the tray.
In particular, this lets us track the actor's location better; the old code
didn't work if the actor was put into a container that got moved around.
Part of #568712.

svn path=/trunk/; revision=167
2009-01-27 20:29:17 +00:00
Colin Walters
5afcf07782 Merge branch 'workspace-salon'
Conflicts:
	src/shell-global.c

svn path=/trunk/; revision=152
2009-01-19 23:06:59 +00:00
Owen Taylor
8db3685e29 Include generated enumeration types when scanning
gjs requires flags types to be registered with GObject to
work properly; g-ir-scanner requires the get_type() functions
to be present in a scanned header in order to find the
GObject type for a flag. So pass {tidy,big}-enum-types.h to
the scanner as appropriate.

svn path=/trunk/; revision=148
2009-01-16 20:10:26 +00:00
Marina Zhurakhinskaya
849ddbd3f6 Display thumbnails of recent files in the overlay mode by using GnomeThumbnailFactory to get them. Fall back to the system icon for the file type provided by GtkRecentInfo when a thumbnail is not available.
svn path=/trunk/; revision=143
2009-01-09 01:09:35 +00:00
Dan Winship
54d8f3b27d Add (+) and (-) icon artwork, and a little bit of infrastructure for them
svn path=/trunk/; revision=136
2008-12-22 22:05:56 +00:00
Colin Walters
25116779f9 Import Big
We want this for the BigBox primarily; rounded corners, etc.

http://bugzilla.gnome.org/show_bug.cgi?id=562923

svn path=/trunk/; revision=103
2008-12-01 23:01:52 +00:00
Colin Walters
9c21ce3eb5 Adjust to new Meta.typelib/Meta.gir locations
Also put all our GI data in the private $(pkglibdir).

svn path=/trunk/; revision=100
2008-12-01 20:42:56 +00:00
Dan Winship
7dba934b96 add the initial framework of a window management interface. #561724
svn path=/trunk/; revision=70
2008-11-21 14:02:09 +00:00
Colin Walters
c928b64648 Merge branch 'appmenu'
svn path=/trunk/; revision=68
2008-11-21 00:53:11 +00:00
Colin Walters
ab0f4df2b4 Use metacity for building Tidy-1.0.gir as well; fix up dependencies
svn path=/trunk/; revision=51
2008-11-14 22:47:33 +00:00
Colin Walters
6596010802 Tidy.gir also depends on the tidy sources, not the gnomeshell sources
svn path=/trunk/; revision=50
2008-11-14 22:06:50 +00:00
Colin Walters
1266956e56 Tidy-1.0.typelib depends on libtidy-1.0.la, not libgnomeshell.la
svn path=/trunk/; revision=49
2008-11-14 22:05:08 +00:00
Colin Walters
50dfb21d6f Ensure we clean out the .gir and .typelibs
svn path=/trunk/; revision=48
2008-11-14 21:52:48 +00:00
Colin Walters
c64ab6dbe2 Kill off libgnomeshell-introspect again, this time with garlic and a stake
svn path=/trunk/; revision=47
2008-11-14 21:26:03 +00:00
Colin Walters
b0837419c0 Use new --program arg from g-i, clean up build accordingly
* configure.ac: Look for paths to all the g-i tools, and
also get the full path to metacity
* src/Makefile.am: Remove noinst library, not necessary now

svn path=/trunk/; revision=45
2008-11-14 21:25:58 +00:00
Dan Winship
8c61d46586 Import part of the notification area applet, and use it to add a
notification are to the panel. A bit warty, but we don't know how we want
the final UI to look anyway. (The fact that transparency doesn't work is
a known bug.)

svn path=/trunk/; revision=44
2008-11-14 17:21:56 +00:00
Owen Taylor
f8db7689af Experimentally add build infrastructure and a few Tidy widgets
For experimenting with using tidy, import TidyButton and TidyGrid
(+ dependencies) into our source tree and set up build machinery
to build them and build a typelib for them.

The sources are build right into libgnome-shell.so, so the Shell.gir
and Tidy.gir actually point to the same shared library.

src/Makefile-tidy.am: Build libtidy-1.0.la
src/Makefile.am: Include built tidy into gnome-shell.la and
  build Tidy-1.0.typelib

src/tidy/*: Add some source files from Tidy

svn path=/trunk/; revision=42
2008-11-12 21:09:27 +00:00
Colin Walters
19070be3ba Run gnome-terminal on alt-f2
svn path=/trunk/; revision=36
2008-11-07 18:42:23 +00:00
Owen Taylor
2ba8aaafca Don't overwrite existing LD_LIBRARY_PATH when running g-ir-compiler
When running g-ir-compiler, augment LD_LIBRARY_PATH with the current
directory, rather than overwriting it entirely.

svn path=/trunk/; revision=27
2008-11-03 20:41:25 +00:00
Owen Taylor
9d15b7c9e1 Install our typelib privately inside $(pkglibdir)
Installing the plugin typelib into $(libdir)/girepository is
non-sensical since no other program would want to reference it.
Move it to $(pkglibdir)/girepository instead. (Will need to set
environment variables to find it when we make installed operation
work.)

svn path=/trunk/; revision=25
2008-11-02 04:18:43 +00:00
Owen Taylor
e624b2a241 First stab at showing windows in the overlay
shell-global.[ch]: Add shell_global_get_windows() to get
  the list of all MutterWindow for the  screen
Makefile.am: Include the metacity typelib so that we can
  reference the MutterWindow type
js/ui/overlay.js: Cascade the open windows, scaled down
  in the overlay

svn path=/trunk/; revision=24
2008-11-02 04:18:41 +00:00
Owen Taylor
4ba985b484 Initial commit
A plugin for metacity-clutter (mutter) that initializes Javascript
and via Javascript adds an object to the mutter scene graph.

src/gnome-shell-plugin.c: metacity-clutter-plugin
src/shell-global.[ch]: Simple global-information object
js/: Directory for javascript
scripts/start-in-Xephyr: Launch metacity with our plugin
  "nested" within an Xephy X server

svn path=/trunk/; revision=2
2008-10-31 04:22:44 +00:00