Commit Graph

423 Commits

Author SHA1 Message Date
Marina Zhurakhinskaya
98c5f35324 Select an item when information button is clicked, launch on single click
Clicking the information button for an item selects it (i.e. highlights it)
and shows details about the item.
Clicking the rest of the item area launches it.
Item does not become draggable if the dragging is started over the information
icon (i.e. if the user presses the information icon, but releases elsewhere).

Make sure we emit "activated" signal and close the overlay when an item from
one of the results displays is launched.
2009-06-30 15:38:17 -04:00
Marina Zhurakhinskaya
3841e8da74 Add an icon for the information link
Use an (i) icon supplied by Jeremy for the information link and display
it on hover. Make sure it is positioned nicely and the text doesn't
overlap with it.
2009-06-30 15:38:17 -04:00
Marina Zhurakhinskaya
e3291aa5ba Remove pop-up previews
Pop-up previews are not part of the new design and interfere with the information link.

Make sure details display for applications has the appropriate width set.
2009-06-30 15:38:17 -04:00
Marina Zhurakhinskaya
fab13dbb89 Make sure at most one item is selected in the overlay
Make sure at most one item is selected in the overlay and we always show
a details pane for the selected item.

Improve the positioning of the search box.

Remove a duplicate variable DASH_PAD and use DASH_SECTION_PADDING everywhere instead.
2009-06-30 15:38:17 -04:00
Colin Walters
c0c79e59fc Split out separate AppResults, DocResults classes. Readd search as stub.
Avoid bloating the Dash class by separating out a bit more functionality.
2009-06-30 15:38:17 -04:00
Marina Zhurakhinskaya
90b7d9a7fa Change selected item color and make sure only one item is selected at a time
A blue selected item color fits better with the new color scheme than a green one.

Only one item should be selected across all the displays we are showing.
2009-06-30 15:38:17 -04:00
Marina Zhurakhinskaya
662c995515 Display a pane with item details
Display a pane with item details, such as a full image previews, when an item is single clicked.

Add a placeholder information link that shows up when an item is moused over.
2009-06-30 15:38:16 -04:00
Marina Zhurakhinskaya
3c54893656 Add icons from Jeremy
These icons are for the "more", "close", and "info" images in the overlay.
2009-06-30 15:38:16 -04:00
Marina Zhurakhinskaya
580794f3fb Display all recent documents in the results pane
Display all recent documents in the results pane, in addition to the first
few displayed in the main dash. All documents can be viewed with the help
of a paging control.
2009-06-30 15:38:16 -04:00
Marina Zhurakhinskaya
1154a1e8d7 Add a results pane in the overlay
Display the results pane above the workspaces. The results pane is somewhat
transparent and has a blue gradient background. The dash pane is slightly
transparent and also has a blue gradient background.

The results pane shows up when a More control is clicked. It disappears when
a Less control is clicked, an area outside of the dash area is clicked,
an item starts being dragged, or the overlay mode is exited.

Add shell_global_create_horizontal_gradient() to shell-global.[ch]
2009-06-30 15:38:16 -04:00
Colin Walters
837683004d Remove a lot of obsolete code from old Sideshow (now Dash) 2009-06-30 15:38:16 -04:00
Owen W. Taylor
14bb73220b Increase priority of region-updating idle
Increase the priority of the idle for updating work area and struts
to META_PRIORITY_BEFORE_REDRAW. This prevents it from being starved
by a constantly-redrawing client.

http://bugzilla.gnome.org/show_bug.cgi?id=585500
2009-06-29 15:11:51 -04:00
Owen W. Taylor
f1a9ada5f0 Improve postioning of status menu
Currently we position the user status menu at the upper left of
the user status button. Then, because Mutter is inappropriately
positioning override-redirect windows it get shoved into the
workarea. Once that bug is fixed (bug 582639), we'll have to
position the menu ourselves.

This patch aligns the user status menu at the left end of
and beneath the top panel.

http://bugzilla.gnome.org/show_bug.cgi?id=586156
2009-06-29 15:11:51 -04:00
Marina Zhurakhinskaya
5f0d67263b Add '--disable-default-service' to gconf module autogenargs
This allows us to avoid adding PolicyKit DBus as a dependency.

Closes http://bugzilla.gnome.org/show_bug.cgi?id=586987
2009-06-29 14:36:21 -04:00
Dan Winship
66a0bef1fb Add gconf to gnome-shell.modules for gconf/jhbuild support 2009-06-25 09:16:35 -04:00
Siegfried-Angel Gevatter Pujals
f215935d2d Speed up initialization of DocInfo objects
We achieve this with two changes:

 - Move the Shell.get_thumbnail call in DocInfo from _init
   to getIcon, so that it isn't executed until it's actually
   needed.
   (If caching the output of said call permanently is desired
   we could still do it on the first getIcon invocation, but
   I don't believe this is necessary given that looking up an
   already generated icon is pretty fast and this also gives
   us an updated icon in case the file changes.)

 - More importantly, we ommit the get_thumbnail call in case
   the URI doesn't start with file://. Looking up, for example,
   an http:// URI is very slow, and doesn't give us an icon anyway.

http://bugzilla.gnome.org/show_bug.cgi?id=586539
2009-06-22 09:41:06 -04:00
Colin Walters
b8af0c1b8b Fix refcounting issue in ShellTextureCache
Also clean up compilation warnings.
2009-06-18 16:45:17 -04:00
Colin Walters
e7771b4eb0 Make ShellAppMonitor and ShellAppSystem singletons, remove unused code in appDisplay
We shouldn't create multiple instances of either.  Also remove a bit
of unused code in appDisplay.
2009-06-18 12:27:19 -04:00
Marina Zhurakhinskaya
dd1c95b3ce Make sure we have information about all applications returned by the AppMonitor
The list of all applications was based on the items that show up in
the menus, and might not have contained all applications returned
by the AppMonitor for the most used applications request. One example of
such an application was Evince. This resulted in a crash when an
application we did not prepare the info for was returned as one of the
matches by the AppMonitor, so we now include all applications returned
by the AppMonitor in the list, in addition to the ones from the menus.

Also mark apps as stale when we catch a "changed" signal from the AppMonitor
to ensure that the cache is refreshed.
2009-06-17 18:42:05 -04:00
Siegfried-Angel Gevatter Pujals
71cad8cd3f Fix a regression: search in the overlay not working anymore
With commit a3d35af444 variable
itemInfo in js/ui/appDisplay.js was changed to a new object
(AppInfo from js/misc/appInfo.js) but some of the code in
js/ui/appDisplay.js wasn't updated accordingly. This commit
fixes that and makes the search box in the overlay usable
again.
2009-06-17 12:53:47 -04:00
Dan Winship
a3d35af444 Split appDisplay and docDisplay into "model" and "view" parts
This lets us share the recent-app-tracking, recent-file-tracking, and
icon-drawing code between the overlay and the sidebar, without the
sidebar having to poke into AppDisplayItem and DocDisplayItem's guts.
2009-06-16 18:50:42 -04:00
Colin Walters
4314c6e57f Close memory leaks in ShellAppMonitor, ShellAppSystem, ShellTextureCache
Unref'ing the GdkPixbuf is particularly critical.  Some smaller fixes
also included.
2009-06-16 17:31:47 -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
Siegfried-Angel Gevatter Pujals
e478cc4c4e Fix shell_get_thumbnail* to not be specific for GtkRecentInfo items
Currently function shell_get_thumbnail_for_recent_info located in
src/shell-global.c is used to get thumbnails for recently used files.
However, it only works if you have a GtkRecentInfo object for the file,
even though the thumbnail generation code doesn't depend on it. This commit
renames the function to shell_get_thumbnail and makes it generic so that it
just takes two strings: a filename and a mimetype.
2009-06-15 20:10:34 -04:00
Colin Walters
8b1d7e3407 Fix transfer of application setting ids
It's cached, should be (transfer none).
2009-06-12 11:27:27 -04:00
Owen W. Taylor
66459eff96 BigRectangle: Use pre-multiplied colors
With recent Clutter changes to the default blend mode, premultiplied
colors should be used for cogl_material_set_color() in the normal
case.

http://bugzilla.gnome.org/show_bug.cgi?id=585473
2009-06-11 15:03:25 -04:00
Owen W. Taylor
b131ecc42a Work around a Clutter crash when there is no root pixmap
When there is no root pixmap, the result will be a CoglMaterial
with a layer with no texture, and that causes a crash.

Work around this by supressing painting the root pixmap actor
when there is no root pixmap.

http://bugzilla.gnome.org/show_bug.cgi?id=585196
2009-06-08 17:10:11 -04:00
Owen W. Taylor
2c7d33bad2 Port gnome-shell to the Clutter-1.0 API
- clutter_actor_get_transformed_position()/size() return floats
- clutter_stage_get_actor_at_pos() takes a pick mode
- ClutterTimeline no longer has a concept of frames
- ClutterUnit is now replaced by float
- cogl_texture_new_from_data() signature changed

http://bugzilla.gnome.org/show_bug.cgi?id=585013
2009-06-08 13:49:53 -04:00
Owen W. Taylor
315da57c97 Add the root pixmap source actor to the stage
With clutter changes, we can now no longer clone an actor unless
it is part of a stage. So, we hide the root pixmap source, and
add it.

This means that the logic to free the source actor when the
last clone disappears no longer applies, since the stage will also
reference it; so we just leave the actor around permanently.

http://bugzilla.gnome.org/show_bug.cgi?id=585012
2009-06-08 13:49:52 -04:00
Owen W. Taylor
9a62af6c7c Port TidyGrid to Clutter-1.0 API
- ClutterUnit is now replaced with float
- allocate() now takes flags rather than absolute_origin_changed boolean

http://bugzilla.gnome.org/show_bug.cgi?id=585010
2009-06-08 13:49:47 -04:00
Owen W. Taylor
8a7acaab84 BigBox: Implement foreach_with_internals()
We need a foreach_with_internals() function that includes the
background_texture/background_rectangle actors, so that states
will properly be updated on map/unmap/etc.

http://bugzilla.gnome.org/show_bug.cgi?id=585007
2009-06-06 12:51:29 -04:00
Owen W. Taylor
9c859caf30 Port BigBox, BigRectangle, BigThemeImage to Clutter-1.0 API
- ClutterUnit is now replaced with float
- allocate() now takes flags rather than absolute_origin_changed boolean
- cogl_texture_new_from_data() signature changed

http://bugzilla.gnome.org/show_bug.cgi?id=585007
2009-06-06 12:50:58 -04:00
Milan Bouchet-Valat
ef3ac7a7f6 Fix crash in app monitor on 64 bits CPUs
Pointers and integers are not the same size, use GPOINTER_TO_INT() for conversion.

http://bugzilla.gnome.org/show_bug.cgi?id=584539
2009-06-05 15:50:51 +02:00
Colin Walters
015d10b87e Use title property instead of description for window titles
The title property is what we actually want.
2009-06-04 12:10:04 -04:00
William Jon McCann
361461d1b9 Allow status icons to receive clicks at edge of screen
This removes the border and padding and aligns the box to the top.  Perhaps we
could push the padding down into the active area of the icon since it does look
a bit nicer with it.

http://bugzilla.gnome.org/show_bug.cgi?id=583139
2009-06-03 22:24:59 -04:00
William Jon McCann
360338fe07 Shorten overlay animation to 0.25 seconds
The animation time for the overlay is a bit long.  We're using 0.5 second.
From my quick tests of "another system" it takes about half that time to
animate.  The other system feels about right.

http://bugzilla.gnome.org/show_bug.cgi?id=583572
2009-06-02 13:43:34 -04:00
Dan Winship
3ed0c2dc1c Take advantage of trayicon transparency in gtk+ 2.16
Fall back to the old behavior with older gtk.

http://bugzilla.gnome.org/show_bug.cgi?id=582484
2009-06-02 10:36:07 -04:00
Colin Walters
278a44caf1 Rework internals of ShellAppMonitor to use Metacity library
The code here is significantly cleaner if we use the data Metacity
already has cached and validated, rather than talking to X directly.

Also some preparatory work for extending the monitor API by
clarifying the name of the (current) main entry point.
2009-06-01 14:19:47 -04:00
Colin Walters
0ea01b31af Make unknown seat-id from gdm-user-manager debug instead of warning
This makes running with G_DEBUG=fatal-warnings usable from an
ssh connection on systems which don't record ConsoleKit logins
for ssh sessions.
2009-06-01 14:19:47 -04:00
Dan Winship
c32e928fc6 Make Alt-Tab highlight iconified items (in the tasklist) too
Change the "overlay" actor to be a group of 4 actors that we can
rearrange so as to have a hole in the middle (to cover up the whole
screen except for the highlighted icon). For non-iconified windows, we
still highlight them the old way (raising them above the overlay),
because we don't want square highlights around shaped windows.
2009-06-01 11:10:46 -04:00
Dan Winship
939aed29d6 Make Alt-Tab a bit faster and nicer
Make the indicator in the pop-up move faster.

Quickly fade in the "overlay" window when starting, rather than
showing it abruptly. Destroy it right away rather than just hiding it
when the AltTabHandler is destroyed.

Fix the font size to be the same as the "Activities" button.

Fix a warning when tabbing past an iconified window.
2009-06-01 11:03:11 -04:00
Dan Winship
0e14789aca Fix Alt-Shift-Tab to not skip some windows
The % operator doesn't do the expected thing with negative numbers.
2009-06-01 10:57:46 -04:00
Dan Winship
a4904043a0 Remove some debugging cruft that shouldn't have ever been committed 2009-06-01 10:56:15 -04:00
Marina Zhurakhinskaya
386d6a5eb2 Fix showing image previews
Fix the call for getting the image previews by getting an instance
of TextureCache first and then calling load_uri_sync() on it.
2009-05-26 17:26:00 -04:00
Colin Walters
36775c9a58 Fix syntax error in previous patch
Also some style/logic cleanups pointed out by Marina.
2009-05-26 13:55:51 -04:00
Colin Walters
5416f53351 Bug 581944 - Fully rebase on ShellAppSystem, don't use Gio to load apps
To avoid loading applications from two different systems, use
ShellAppSystem solely.  This unifies the initial load and the
reload.

Extend ShellAppSystem to also load settings/preferences, and
ensure they appear in the search.
2009-05-26 10:52:56 -04:00
Owen W. Taylor
0c7b983b10 Fix Chrome group not to interfere with drag-and-drop
Drag and drop was not working since the (non-reactive, invisible)
chrome group was on top of most of the screen. Explicitly set
a 0x0 size on that group to resolve the problem.
2009-05-23 10:47:13 -04:00
Owen W. Taylor
7af940f7ea Fix icon caching - set size in cache key
We need to include the icon size in the data we pass to on_pixbuf_loaded()
so that we can include it in the key we use when caching the icon
Currently we save icons in the cache at size 0 but look them up at size 48
so no caching occurs.

http://bugzilla.gnome.org/show_bug.cgi?id=583503
2009-05-21 18:51:43 -04:00
Owen W. Taylor
7d913452f5 Point GJS_DEBUG_OUTPUT to stderr
Recent gjs changes have made it log most types of messages (including
log() calls) only to a configured log file and not to stderr. So,
set GJS_DEBUG_OUTPUT=stderr to make *stderr* the log file and get
our log() calls back.
2009-05-21 15:22:44 -04:00
Jon McCann
99e6004c66 Use full opacity for windows in workspace/window selector
The goal of the workspace view is to identify and select windows.  Transparency
results in the blending of the window and the background (and icons on the
desktop).  I think the transparency is counterproductive.

We used it in the initial mockups kind of as a lark - it wasn't well thought
out.

http://bugzilla.gnome.org/show_bug.cgi?id=582647
2009-05-20 17:07:37 -04:00