2726 Commits

Author SHA1 Message Date
Dan Winship
2ea5012535 Disable gdmuser debugging messages (unless "gdm" is set in GNOME_SHELL_DEBUG)
http://bugzilla.gnome.org/show_bug.cgi?id=577855
2009-04-03 14:33:39 -04:00
Marina Zhurakhinskaya
5fbc0d4a56 Bug 577338 – Show item details on click in the expanded view
Change the overlay behavior to display more details about an item on single
click and launch it on double click.

When the item is clicked on in the expanded view, the details are shown in the
area on the right that is allocated for showing details. The details pop-up is
not shown for the item that was clicked on, but it is shown for other items on
hover and for the item that was clicked if the mouse pointer is moved back to
it.

Both hovering and single clicking results in the details pop-up being shown in
the regular view. (Single clicking actually doesn't do anything in the regular
view, but the details pop-up is shown due to hovering within the time it takes
to perform a single click.)

The overlay now uses 3 columns on the wide screen for displaying items in the
expanded view. This allows keeping the size of the details area the same for
expanded and regular views.

Add shell_get_button_event_click_count() to shell-global.[hc] to retrieve
the click count for button press and release events.

Add selectedItemDetails public variable actor to the generic display to
contain the details of the selected item and be shown in the overlay when
it is in the expanded view mode.

Fix the bug when the sideshow section would loose selection in the expanded
view if it did not have any items, and would not regain it if it was repopulated
with some items (e.g. when the search string changes).

The sideshow no longer takes overlay parent and width as constructor arguments.
It is added to the overlay inside the overlay code and manages its own width
instead (which is ok, since it is pretty much a private class within overlay).

Clean up the way selection is moved when an item is launched in order to have
selection on click and activation on double click be implemented in a similar
fashion. An unneeded _activatedItem variable in generic display was removed,
and the selected item is activated instead when necessary. The flow of processing
signals changed so that generic display no longer waits for the selection from
a different sideshow section to be removed before selecting an item that was
clicked on. This removed the need for doActivate() function.
2009-03-31 14:12:33 -04:00
Sander Dijkhuis
2b9b600710 Bug 574702 - Give the panel a gradient background and shadow
The panel looks nicer when it is drawn as a semi-transparent gradient
above the background color.

shell-global.[ch]: Add a function that creates vertical gradient actors.
panel.js: Change the look of the panel and put the tray in a framed box.
overlay.js: Extend the overlay background to behind the panel.
2009-03-24 15:20:16 -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
Colin Walters
c570795ac7 exit () on JavaScript exceptions
This is better than being in a wedged state.  See the comment
for more argument.
2009-03-10 17:53:05 -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
ab663d62e4 Remove references to files that no longer exist 2009-03-10 13:01:04 -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
d7a23b7e31 Bug 573413 – libmozjs linking broken on Ubuntu
Patch gnome-shell.in to work around Ubuntu xulrunner bug in the same
way our .jhbuildrc does
2009-03-10 11:19:38 -04:00
Dan Winship
6676260308 Don't try to respawn metacity and the panel if we didn't kill them.
Also, don't crash out of the python script if metacity-clutter crashes
2009-02-26 13:08:42 -05:00
Dan Winship
84aec28575 Make the gnome-shell script work without needing "jhbuild run" 2009-02-25 14:37:16 -05:00
Colin Walters
629c35bd2a Only try to kill gnome-panel if it's running
This avoids crashing if it's not.
2009-02-25 12:54:14 -05:00
Dan Winship
54a9b5ae4e Move LIBGL_ALWAYS_INDIRECT code to the right place 2009-02-24 14:59:32 -05:00
Dan Winship
67092f807e Fix setting of LIBGL_ALWAYS_INDIRECT
(Previous commit mistakenly only set it in verbose mode due to a cut and
paste error.)
2009-02-23 16:45:38 -05:00
Dan Winship
0763f5bc42 Replace start-in-Xephyr/start-replace with a new single "gnome-shell" script
The new script runs in "replace" mode if you pass --replace, or if there
isn't already a panel running, and in "Xephyr" mode otherwise.
2009-02-23 16:16:20 -05:00
Owen W. Taylor
1fe32e30f5 Improve font appearance
- Force off text mipmapping - it isn't useful to us and causes
  problems with old (pre-GEM) Intel drivers.
- Set Pango font options explicitly to enable font hinting.
2009-02-23 14:53:18 -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
Owen W. Taylor
6719c00f8a When centering, round to integer positions
Positioning actors at non-integer positions produces bad looking
text. Therefore, do centering as x + round((a-b)/2) rather than
x + (a-b)/2. (This does mean that centering will be less accurate
if an actor is scaled up by a lot, but it's pretty reasonable
to assume that scaling only occurs during an effect and static
displays are unscaled.)
2009-02-23 14:02:16 -05:00
Owen W. Taylor
f90523288d Port BigBox to Clutter-0.9
- include only <clutter/clutter.h>
- cogl_rectangle() takes x1/y1/x2/y2 instead of x/y/width/height
- cogl_color() renamed to cogl_set_source_color4ub()
- use explicit CoglMaterial in BigRectangle to combine a texture
  and a color.
- Remove defensive calls to cogl_enable(0) - cogl_enable() no
  longer exists (enable flags are part of the material)
- Use ClutterCairoTexture actor (from Clutter) rather than ClutterCairo
2009-02-23 14:02:16 -05:00
Owen W. Taylor
902c29aa0c Change TidyGrid to just include clutter/clutter.h
Including individual headers no longer works with Clutter-0.9.
2009-02-23 14:02:16 -05:00
Owen W. Taylor
d61401429e Remove the parts of Tidy that we aren't using
Remove TidyButton/TidyFrame and the utility classes they use.
We aren't using them and this avoids porting them to Clutter-0.9.
2009-02-23 14:02:16 -05:00
Colin Walters
e2b246a006 Bug 570641 - Use null input area when a GTK+ grab is operative
This ensures that any popup windows we create in process, such as
the user status menu, will get X events delivered even if the user clicks
on the stage input area.
2009-02-06 17:54:50 -05:00
Colin Walters
153541841b Minor style fixes for status menu
svn path=/trunk/; revision=186
2009-02-04 22:40:26 +00:00
Colin Walters
cd645af5ae Add Makefile missed in last commit, minor style tweak for statusmenu
svn path=/trunk/; revision=184
2009-02-04 18:49:54 +00: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
Marina Zhurakhinskaya
b2fbf5a2d8 shell-global.c: remove a log message about missing 'Categories' key in the desktop file, as this key is not required
main.js: set desktop environment to "GNOME" so that GIO can determine correctly which applications should be shown in the menus.

appDisplay.js: filter out applications that should not be shown in the menus, check if get_executable() for GAppInfo is not null before using it   

svn path=/trunk/; revision=163
2009-01-22 21:28:19 +00:00
Marina Zhurakhinskaya
9949d75fcc Get categories from the desktop files for all applications
and use them when finding matching applications for the search in the overlay mode.

svn path=/trunk/; revision=159
2009-01-21 21:50:57 +00:00
Colin Walters
70a3434b5a Add a panel containing tasklist to bottom screen
This is implemented as a separate process, since creating and running
toplevel windows from inside Metacity has issues.

We now grab a DBus name, and exec the child process.  The child monitors
our name to know when to exit.

svn path=/trunk/; revision=153
2009-01-19 23:21:57 +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
244555f3ae Fix include path to libgnomeui/gnome-thumbnail.h
Remove a stray libgnomeui-2.0/ (Michael Monreal)

svn path=/trunk/; revision=150
2009-01-17 13:44:44 +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
Jonathan Matthew
85c22e484d implement some basic window management effects. #563844
svn path=/trunk/; revision=139
2008-12-29 04:44:03 +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
Owen Taylor
a168f6da42 Convert to gnome-shell-plugin to new plugin style
The plugin-gobject branch of Mutter (now merged into our branch) converts
plugins to more-standard GObject GTypePlugin, with the plugin itself
being a GObject class.

gnome-shell-plugin.c: Switch plugin to the new scheme
shell-wm.[ch]: Forward effect signals to ShellWM rather than hooking
  directly into the plugin vtable.
default: Remove this (accidentally committed) file

svn path=/trunk/; revision=133
2008-12-22 21:05:08 +00:00
Colin Walters
6a1e408c44 Add magic 'restart' command to run dialog which re-executes
This is immensely convenient for debugging.  The shell global reexec_self
only works on Linux, sue me.

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

svn path=/trunk/; revision=130
2008-12-18 20:57:37 +00:00
Owen Taylor
d42bce21c5 Use CompositeRedirectManual for tray icons
We don't want the X server to draw the icons onto the screen, so
use pass automatic=FALSE to clutter_x11_texture_pixmap_set_window();
causing CompositeRedirectManual to be used.

svn path=/trunk/; revision=122
2008-12-05 23:20:10 +00:00
Colin Walters
78bb9fd286 Tweak clutter-cairo include path to fix build where clutter root != clutter-cairo root
svn path=/trunk/; revision=107
2008-12-01 23:44:06 +00:00
Owen Taylor
8e08fa1d2a Add a README for the 'Big' actors
src/big/README explains where the actors come from and warns
against installing them publically under the big_* names.

svn path=/trunk/; revision=106
2008-12-01 23:15:49 +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
Owen Taylor
c12de59864 Add a concept of "going modal" by grabbing the keyboard
shell-global.[ch]: Replace shell_global_focus_stage()
  with shell_global_grab_keyboard()/shell_global_ungrab_keyboard()
main.js: Add startModal()/endModal() functions to go modal and
  undo that.
run_dialog.js overlay.js main.js: Use startModal() for the overlay
  and for the run dialog.

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

svn path=/trunk/; revision=83
2008-11-24 19:07:18 +00:00
Owen Taylor
8a9b138c2e Add a bg-color property to ShellTrayManager
shell_tray_manager.c: Add a bg-color property and implement it
 by setting a 1x1 pixmap of the right color as the background.

 Also, make the colormap of the tray manager window match that
 of the socket. That should (untested) make transparency work
 properly if the tray icon supports it.

panel.js: Set the bg-color property of the tray manager to
 match the panel.

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

svn path=/trunk/; revision=82
2008-11-24 19:07:15 +00:00
Dan Winship
19671ad349 implement a basic switch_workspace animation using Tweener. #561835
svn path=/trunk/; revision=78
2008-11-21 21:34:10 +00:00
Dan Winship
aa61fdbc53 revert some broken bits from previous patch that weren't supposed to have
been committed

svn path=/trunk/; revision=74
2008-11-21 15:33:00 +00:00
Colin Walters
ee743394f6 Monitor applications directory, not toplevel
svn path=/trunk/; revision=71
2008-11-21 15:06:43 +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