Commit Graph

16177 Commits

Author SHA1 Message Date
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
Dan Winship
88e68dec21 Let small windows appear at full size in the overlay if there is room
Previously we forced all windows to shrink at least as much as the
workspace itself did. Now we allow to shrink by a smaller amount (or
not at all) if they'll still fit within their allotted slot.

http://bugzilla.gnome.org/show_bug.cgi?id=571192
2009-05-05 15:35:04 -04:00
Milan Bouchet-Valat
9b632e8873 Fix GConf handling in ShellAppMonitor
This solves several issues:
- use built-in default so that app monitoring is enabled when schemas are not installed
- don't start/stop timers without checking their previous state
- unreference the default GConfClient
- use #define for the GConf key path
2009-05-05 14:39:51 -04:00
Owen W. Taylor
ba55264525 Set ShellTrayManagerChild.manager when creating a child structure
Just because ShellTrayManagerChild had a 'manager' field, I shouldn't
have assumed it was actually being set; fixes a crash with tray icons
that don't support RGBA visuals.
2009-05-05 14:07:11 -04:00
Vincent Untz
ff9a42c9b6 Do not use libgnome-shell.la for mutter plugin
Unless we're running gnome-shell from the source directory, we shouldn't
use the .la file as the mutter plugin. Instead, we use the dynamic
library.

Closes: bgo#581327
2009-05-05 16:02:39 +02:00
Vincent Untz
dedc1e096a Fix distcheck 2009-05-05 16:00:41 +02:00
Milan Bouchet-Valat
4ef655ffce Don't print useless error message when app monitor config file does not exist
This warning was printed even when app monitoring was disabled. It's not needed anyay since we'll warn on saving if an error occurs.
2009-05-04 16:45:42 -04:00
Owen W. Taylor
b7d3640b49 Add missing include of <stdlib.h>
gnome-shell-plugin.c needs stdlib.h for exit()
2009-05-04 14:28:07 -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
Owen W. Taylor
20e755023b Clean up underscores in function and variable names
Try to fix all places where we accidentally used foo_bar instead
of fooBar for function names, function parameters, and variables.

(Lucas Rocha pointed out one example.)

http://bugzilla.gnome.org/show_bug.cgi?id=581141
2009-05-04 13:50:49 -04:00
Dan Winship
63eea7dc20 Merge branch 'tab' 2009-05-04 13:01:22 -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
Owen W. Taylor
432ad0f451 Avoid clobbering the root window event mask
Calling gdk_window_get_events() then gdk_window_set_events() will
remove "exotic" X event masks that GDK doesn't know about like
SubstructureRedirectMask. A window manager that doesn't select
for SubstructureRedirectMask on the root window is no longer
really a window manager, so various Bad Things were happening.

We can just piggy-back on Mutter selecting for PropertyNotify
events on the root window, so removing the code works fine.

http://bugzilla.gnome.org/show_bug.cgi?id=580572 (reported by Mike Bursell)
2009-05-01 19:40:12 -04:00
Owen W. Taylor
4664fac566 Improve comments about startup notification
Do a better job at describe the problems in docDisplay.js related
to not reading the desktop files and finding StartupNotify=true.
Also, fix a typo.

http://bugzilla.gnome.org/show_bug.cgi?id=580658
2009-05-01 16:21:00 -04:00
Owen W. Taylor
bb69afc830 Set the workspace when launching apps
main.js: Add create_app_launch_context() with code from appDisplay;
  additionally set the workspace on the launch context to the current
  workspace so that the application launches on the right workspace
  even if the user switches before the app starts.

appDisplay.js docDisplay.js: Use Main.create_app_launch_context()

http://bugzilla.gnome.org/show_bug.cgi?id=580658 (Reported by Igor Vatavuk)
2009-05-01 15:18:51 -04:00
Dan Winship
4a5873dd22 Create a more extensible/organized strut/input_area management system.
Now code can call Main.addShellActor(actor) to declare that that actor
is part of the shell, and so it should (a) be protected by wm struts, and
(b) be part of the stage input area, and then that code automatically
deals with updating if the actor changes size or visibility.
2009-04-30 14:57:13 -04:00
Milan Bouchet-Valat
63821f1ae7 use application monitoring to show most used apps in the menu
The menu is filled with apps that are know to ShellAppMonitor, and then with default apps if there are not enough of them.
2009-04-29 11:05:03 -04:00
Milan Bouchet-Valat
216db2bb12 add GConf option to disable app monitoring
This option only disables timers, so that already collected is still provided to e.g. appDisplay. IMO that's required for privacy concerns...
2009-04-29 11:05: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
Milan Bouchet-Valat
17a4a3a949 use a global config dir (for app monitor)
Ensure a configuration dir exists, and provide its path as 'configdir' property of ShellGlobal. This will be used by ShellAppMonitor.
2009-04-29 11:05:03 -04:00
Marina Zhurakhinskaya
81b3f7cf44 Bug 580528 – The panel should show today's date
Show the date in the panel so that it looks more polished.

Suggested by Josh Adams.
2009-04-28 17:29:53 -04:00
Marina Zhurakhinskaya
82cf98740a Bug 578178 – Show large previews for image files
Use the actual image from the file for expanded mode previews for image files. Use the pixbuf loader to set the appropriate image size as soon as the image is prepared, but before it is loaded, to avoid loading large images. Apply the pixbuf orientation setting so that the image is properly rotated. Preserve the original size of the image if its dimensions are smaller than the space available.

Make sure we provide the accurate available width for the details actor. This
width has to exclude the padding and border width. Also provide the available height for the details actor.
2009-04-28 15:35:36 -04:00
Colin Walters
59b12687d4 Bug 573322 - Do box layout in int
This fixes some centering issues, e.g. in the search area.

This patch is from Havoc Pennington.
2009-04-27 13:48:56 -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
Dan Winship
59ac8d15ad Specify bindir explicitly when installing jhbuild
Works around the new default install dir (~/.local/bin) in the latest
git jhbuild.
2009-04-24 15:49:11 -04:00
Owen W. Taylor
b2a51db065 Switch from metacity-clutter to mutter
Switch our window manager dependency in the jhbuild moduleset from
fishsoup.net branch of metacity-clutter to mutter module on
git.gnome.org.
2009-04-24 10:26:42 -04:00
Marina Zhurakhinskaya
ac64e86932 Add xserver-xephyr to Debian/Ubuntu dependencies.
This is needed to be able to start the shell in Xephyr.
2009-04-22 16:17:50 -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
Owen W. Taylor
56644dfada Close file descriptors on re-exec
Use code copied from GLib to close all file descriptors before we reexec ourselves
on the restart Alt-F2 command. This fixes serious memory leaks when we have mapped
graphics buffers.

http://bugzilla.gnome.org/show_bug.cgi?id=579776
2009-04-22 15:08:07 -04:00
Sander Dijkhuis
7c8cb8450c Bug 578584 - Use the wallpaper for the overlay background
The overlay looks nicer with the root window pixmap drawn on the
background. It is scaled up to twice the size, with positioning
based on the rule of thirds.

The sideshow animations shown when entering or leaving the
overlay and toggling the extended view were implemented by
Marina Zhurakhinskaya. They replace the old method of having a
black rectangle behind the workspaces that partly covers the
sideshow during transitions.

configure.ac: Add gdk-x11, clutter-x11 and clutter-glx modules.
overlay.js: Add a root window pixmap actor, make sideshow width
    definitions more logical, replace the way the sideshow
    animates when entering or leaving the overlay.
workspaces.js: Remove the backdrop, add helper functions for the
    overlay transitions.
shell-global.[ch]: Add a method that creates an actor displaying
    the root window pixmap and returning clones of it.
2009-04-22 02:46:36 +02:00
Owen W. Taylor
822ef09350 Refer to xulrunner-dev and python-dev on Debian/Ubuntu
In the build setup script using unversioned xulrunner-dev and
python-dev gives better compatibility with different operating
systems and versions than using xulrunner-1.9-dev and python2.5-dev.

http://bugzilla.gnome.org/show_bug.cgi?id=578773 (Siegfried Gevatter)
2009-04-20 18:04:44 -04:00
Colin Walters
61b6fd2f9c When removing all items from the display, ensure selection state is reset too
This avoids a problem where after a state change, we'd still think
something was selected.
2009-04-20 15:58:31 -04:00