Commit Graph

280 Commits

Author SHA1 Message Date
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
Owen W. Taylor
3aeadee946 Set colormap on background pixmaps for a tray icons
We need to use gdk_drawable_set_colormap() before drawing with cairo
on a pixmap; otherwise cairo won't know what colors to use.
2009-04-18 17:09:11 -04:00
Owen W. Taylor
a0dcee1b81 Fix drawing of icons with alpha transparency
Icons with real alpha transparency weren't being drawn correctly
because the NaTrayIcon was being set redirected in addition to the
window holding it. And nothing drew the icon onto the window holding
it. Use the newly added na_tray_icon_set_composited() to fix.
2009-04-18 17:06:14 -04:00
Owen W. Taylor
58e718ac0c Allow more flexibility for NaTrayChild compositing
na-tray-child.[ch]: Add na_tray_child_set_composited() to allow the
 application to modify the behavior where gdk_window_set_composited(TRUE)
 is called for icons with alpha. Rename na_tray_child_is_composited() to
 na_tray_child_has_alpha() to better reflect the meaning and fix things
 so that it can be called at any time and not only after the icon is
 realized.
na-tray.c: Adapt to na_tray_child_is_composited() rename.

http://bugzilla.gnome.org/show_bug.cgi?id=579454
2009-04-18 17:05:14 -04:00
Owen W. Taylor
bb92791bd3 Sync whitespace with gnome-panel version of NaTray*
Propagate line-wrapping and other white-space changes from gnome-panel
to our copy of NaTrayChild and NaTrayManager.
2009-04-18 16:49:07 -04:00
Owen W. Taylor
c8fd1f99d5 Use single include for gtk+
Merge from gnome-panel

2008-12-09  Vincent Untz  <vuntz@gnome.org>

        * na-tray-manager.[ch]: use single include for gtk+
2009-04-18 16:49:07 -04:00
Owen W. Taylor
5963a00fc5 fix compilation warnings
Merge from gnome-panel

2008-12-09  Vincent Untz  <vuntz@gnome.org>

        * na-tray-child.c: (na_tray_child_realize): fix compilation warnings
2009-04-18 16:49:07 -04:00
Owen W. Taylor
5efb616acc Remove translatable string in a warning
Merge from gnome-panel

2008-12-09  Vincent Untz  <vuntz@gnome.org>

        * na-tray-child.c: (na_tray_child_size_request): remove translatable
        string in a warning
2009-04-18 16:49:07 -04:00
Owen W. Taylor
3de308ebe5 Download jhbuild from git
Switch gnome-shell-build-setup.sh to check out subversion from git
rather than the old subversion location.
2009-04-18 14:23:36 -04:00
Sander Dijkhuis
171ad80b43 Bug 578776 - Add gtkutil.js to the Makefile
(Corrected to be in alphabetical order)

Signed-off-by: Colin Walters <walters@verbum.org>
2009-04-13 16:03:01 -04:00
Colin Walters
5f01854c62 Bug 578807 - Menu selection not reset on mouse selection
Clean up how we handle transitions a bit so that in the
case of selection by mouse instead of keynav we correctly
reset state.
2009-04-13 15:41:13 -04:00
Colin Walters
a5a2112b31 Cleanup of search entry layout
This will be useful for later fine tuning.  We avoid some hard coded
offsetting in favor of using box layout.
2009-04-13 14:45:58 -04:00
Dan Winship
b153e4ed0f When using -g, reset terminal state on exit
Fixes various problems where gnome-shell would kill gdb and then leave
the terminal in a broken state.
2009-04-13 11:58:05 -04:00
Colin Walters
f5aed5127b Bug 578430 - Followup fix for docs
This commit follows up on 6760de9965c32f9f75901d3699aa7f2cb086f856
and adds the corresponding fix for "Less...".
2009-04-09 11:01:41 -04:00
Colin Walters
7ae278f206 Bug 578430 - Docs section regression
This fixes a bad merge which broke the docs section.
2009-04-09 10:58:58 -04:00
Owen W. Taylor
14498d80f1 Add libgnome-menu-dev for Ubuntu/Debian
gnome-shell-build-setup.sh add libgnome-menu-dev to the list of
required dependencies.
2009-04-09 10:32:21 -04:00
Marina Zhurakhinskaya
ed0f7de4c0 Add gnome-menus-devel to the Fedora build dependencies.
It's needed by the new code for displaying application categories.
2009-04-09 09:54:58 -04:00
Colin Walters
b199ca2518 Add missing "return true" from event handler 2009-04-08 16:06:11 -04:00
Colin Walters
df1e051207 Check the type of GMenu items we get to avoid a crash
We can't assume they're entries, and in this case they were
actually directories.
2009-04-08 10:54:27 -04:00
Colin Walters
3e33ee6481 Add missing gtkutil.js file from previous commit 2009-04-07 17:15:02 -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
Dan Winship
3c7f378e2f Don't use bash syntax pointlessly. Fixes this to work under real /bin/sh.
http://bugzilla.gnome.org/show_bug.cgi?id=578195
2009-04-07 09:37:29 -04:00
Siegfried Gevatter
0857377f82 Add support for respawning Compiz
If you start gnome-shell while Compiz is running, respawn it instead
of Metacity when gnome-shell ends.

http://bugzilla.gnome.org/show_bug.cgi?id=578148
2009-04-06 20:35:51 -04:00
Siegfried Gevatter
22835b35e7 Catch exception raised when Xephyr can't be found
If Xephyr isn't installed currently src/gnome-shell raises
an exception which isn't at all obvious without looking at
the source. This commit catches the exception and replaces
it with a more informative error message.
2009-04-06 10:42:05 -04:00
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
Dan Winship
670532e5c9 Fix the stage_input_area handling
The panel show/hide changes broke things if window restacking occurred
while the overlay was active. Now instead of having the panel set the
input area itself, main.js just watches whether or not the panel is
visible, and updates things itself (taking the modal state into
account as well).

http://bugzilla.gnome.org/show_bug.cgi?id=576903
2009-04-01 18:24:26 -04:00
Owen W. Taylor
7995f75cfb Handle previously installed dpkgs
Checking return code of dpkg --status doesn't handle removed files
properly. Get the text status of the package instead and make sure
that it is 'installed'.

http://bugzilla.gnome.org/show_bug.cgi?id=577456
2009-04-01 16:56:50 -04:00
Dave Jordan
a074ef5d7c Use a grid pattern in overlay if more than 6 windows
The diagonal arrangement currently used in the overlay when there are
more than 6 windows is hard to read and hides most of the previews.
Both of these issues are fixed by arranging the windows in a grid pattern.

http://bugzilla.gnome.org/show_bug.cgi?id=576269
2009-03-31 18:58:46 -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
Dan Winship
1fcaafdb58 Fix panel stacking with respect to fullscreen windows and screensaver. #571827
Because we can't set the stage input area to a non-rectangular shape,
we don't allow the panel to be partially overlapped; it is always either
on top, or else completely hidden.
2009-03-23 09:33:13 -04:00
Marina Zhurakhinskaya
dcc0f368bd Add tooltip delay to the preview pop-ups.
Showing previews after a delay allows the user to move the mouse around
the screen without triggering constant pop-ups.

Make sure we remove the pop-up when the user hits Escape and redisplay
the pop-up if we are updating the section results due to a change in space
allocated for it.

Rename protected variable _hasPreview to _showPreview in order to not have
the naming conflict with a new private variable _havePointer, which we
name in first person.
2009-03-21 10:37:15 -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
Marina Zhurakhinskaya
288fb7a837 Bug 571426 - Show pop-up previews of sideshow items
The pop-up previews have larger images than the item displays, which is
particularly nice when we are displaying thumbnails for documents. The
previews are also at least as wide as is required to fit the item title
on one line and the item description inside them is wrapped. Therefore
they act as tooltips showing the full title and description text.

The preview updates when the item under the mouse pointer changes. Changes
in overlay.js ensure that we keep the sideshow on top when the
workspaces are not being animated so that we can find the item over which the
pointer is located.

The preview is removed when the item it is shown for starts being dragged.

_hideInProgress variable was added to represent the state of the overlay
when the code for hiding it was already triggered. This fixes the error
which was happening when the code for hiding the overlay was triggered
multiple times (for example by the user clicking the Activities button
twice when exiting the overlay).
2009-03-20 12:06:34 -04:00
Marina Zhurakhinskaya
c018b7652f Don't add windows to overlay workspaces when overlay is being exited.
When a window is added while overlay is being exited (e.g. because
some application was launched), we don't want to add that window to
the workspace's window clones. Previously, the window clone was added
and an animation to place the windows to their overlay workspace view
positions was triggered, which resulted in the wrong animation being
shown and an abrupt change in window positions when the actual workspace
was shown.

Add a boolean argument to two _positionWindows() calls that were missing
an argument.
2009-03-17 18:33:54 -04:00
Owen W. Taylor
9c8074535c Change Meta.Direction.Top to Meta.Side.TOP
Handle MetaSide being split from MetaDirection. The enums have
the same numeric values for the corresponding values, so this
change is only a cleanup.
2009-03-17 17:14:24 -04:00
Owen W. Taylor
384b88910a Call a global variable in our jhbuildrc _libdir not libdir
jhbuild will complain if there are unknown variables not prefixed
with _ in the jhbuildrc, so rename libdir to _libdir.
2009-03-17 16:09:06 -04:00
Owen W. Taylor
bd2fecc222 Add commented out workaround for #571240
jhbuildrc-gnome-shell: Remove obsolete setting of
   os.environ['INSTALL'] - setting installprog is the modern way
   to do it.
jhbuildrc-custom-example: Show how to override installprog to
  work around #571240 on Arch Linux.
2009-03-14 18:22:39 -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
Marina Zhurakhinskaya
30a9c6b2f4 Don't reset the page selection if the results have changed while the user
was browsing exiting results

This is most noticeable when viewing results in xephyr, and then opening
a document in your regular session. But it could also be noticeable if
downloading a new file completes while the user is in the overlay.

This patch also moves the call to _displayMatchedItems() to _redisplay
instead of making it in both _setDefaultList() and _doSearchFilter().
2009-03-11 17:56:22 -04:00
Marina Zhurakhinskaya
39eb563687 Bug 574697 - Slide the workspaces back in if the user starts dragging a document or an application item in the expanded display mode
Sliding the workspaces back in when the user starts dragging an item in the
expanded display mode allows the user to select a workspace in which the item
should be launched and stay in the overlay mode.

This patch adds code to dnd.js that handles notifying actors when a drag item is being dragged over them. Overlay code uses such notification to unset expanded display modes and trigger sliding in of the workspaces.

If the drag is cancelled the drag item snaps back to its source or disappears at the original position of its source if the source is no longer displayed.
2009-03-11 15:41:33 -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
Colin Walters
947303cc0b Use the use_lib64 jhbuild variable to pick the correct libdir
Fixes multilib systems with 32 bit devel packages installed.
2009-03-10 16:25:53 -04:00
Marina Zhurakhinskaya
8aa56e373f Bug 574691 – Stay in the overlay mode after drag and drop
Just calling launch() on the item instead of activate(), launches the item but doesn't close the overlay mode.
2009-03-10 13:37:01 -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