Commit Graph

7108 Commits

Author SHA1 Message Date
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
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
Dan Winship
10afe46195 Add an initial implementation of the sidebar
This still needs design love, and none of the current widgets should be
considered finalized, but it shows the basic ideas.

http://bugzilla.gnome.org/show_bug.cgi?id=581774
2009-05-15 17:04:18 -04:00
Dan Winship
bc558306a4 Improve the framework for managing shell UI
Adds an explicit "chrome" layer for the panel (and later the sidebar),
managing the input region and struts for them, and hiding them when
fullscreen windows are present or the user enters the overlay.

http://bugzilla.gnome.org/show_bug.cgi?id=581771
2009-05-15 16:12:53 -04:00
Colin Walters
ff7940b87f Recursively flatten menus
This is a quick-fix which at least shows entries from nested
menus such as Wine.  It also enables us to load "settings.menu".
2009-05-14 13:04:37 -04:00
Dan Winship
deaf0e4e1a Make switch-workspace faster (the same as the other wm ops) 2009-05-13 15:24:32 -04:00
Milan Bouchet-Valat
bea595d143 Fix occasional crash in lists handling in ShellAppMonitor
We need to reset the popularity GSList* at start, and everytime we load data about a another activity. This also implies fixing the typo about (activity != -1).

Thanks to Dan Winship. http://bugzilla.gnome.org/show_bug.cgi?id=582215
2009-05-12 13:46:47 -04:00
Dan Winship
675fe56176 Use transition:"easeOutQuad" for switch_workspace, just like everywhere else
the overshoot-and-bounce-back effect (easeOutBack) gets annoying after a while
2009-05-11 16:21:39 -04:00
Dan Winship
0f2860b588 Don't temporarily show minimized windows while switching workspaces 2009-05-11 13:06:42 -04:00
Marina Zhurakhinskaya
e365a0ba7a Press in the Activities button when the overlay is entered
In addition to pressing the Activities button, the overlay can be entered
by pressing the System key or Alt+F1. We want the button to look pressed in
in these cases too.
2009-05-08 16:27:14 -04:00
Dan Winship
062e1aa78b Reorganize overlay hiding/showing code
Rather than having main.js manage this, put it into overlay.js, and
have the overlay object emit signals that other code can watch to do
things when the overlay is showing/shown/hiding/hidden.
2009-05-07 16:41:07 -04:00
Dan Winship
17fb280884 js/ui/panel.js: Lang.bind-ify 2009-05-07 09:54:21 -04:00
Dan Winship
397a105638 js/ui/Makefile.am: add altTab.js
http://bugzilla.gnome.org/show_bug.cgi?id=581541
2009-05-06 08:29:52 -04:00
Dan Winship
84d469c1f9 Deal with thumbnail failure correctly
If a file already has a failed thumbnail indicator, don't try to
thumbnail it, and if thumbnailing fails, create a failed thumbnail
indicator. (In particular, so that if thumbnail creation times out, we
don't keep retrying and eventually timing out every time the user
opens the overlay.)

http://bugzilla.gnome.org/show_bug.cgi?id=568081
2009-05-05 17:33:43 -04:00
Dan Winship
7fc4560e86 Add gstreamer deps for Ubuntu to gnome-shell-build-setup.sh
http://bugzilla.gnome.org/show_bug.cgi?id=579739
2009-05-05 17:05:59 -04:00
Marina Zhurakhinskaya
d67c88e4dc Bug 577380 - Use the default application for the mime type to open the document
Using appExec for the last application that registered the document was failing
in certain cases, such as for the Open Office for which the application
execution string is being registered as "soffice %u" in ~/.recently-used.xbel.
In general, using the default application for the mime type seems to be a more
predictable way to open documents. We still fall back to using the appExect
for the last application if the default application for a given mime type was
not found.
2009-05-05 15:51:56 -04:00