Commit Graph

15867 Commits

Author SHA1 Message Date
7ca77dccc9 Do window dragging in the stage, not in the original workspace's actor
svn path=/trunk/; revision=171
2009-01-29 21:21:23 +00:00
54337ee6a9 Two dragging-related fixes
- Don't let the user grab a moving window or we'll get dueling tweens.
    - Update _overlappedMode each time _positionWindows is called

svn path=/trunk/; revision=170
2009-01-29 21:20:37 +00:00
a80c18bc4e Use BigBox rather than TidyGrid to organize the panel. #568712
svn path=/trunk/; revision=168
2009-01-27 20:29:37 +00:00
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
c86ce82921 fix a bug in the snap-back animation by turning it into a less-noticeable bug
svn path=/trunk/; revision=166
2009-01-27 20:05:55 +00:00
ee55d96190 Improve gnome-shell-build-setup.sh for Fedora
- If lsb_release binary isn't present, look for /etc/fedora-release
- Check for required packages for Fedora and invoke
  gpk-install-package-name

Patch from Mads Villadsen.

svn path=/trunk/; revision=165
2009-01-27 16:55:39 +00:00
9b89ba6270 Allow windows to be dragged to other workspaces
* Make updating of the clone title more of a state-machine - instead
  of showing/hiding/creating/raising the title all over the code, have a
  single Workspace._updateCloneTitle() method that looks at state bits and
  decides if the clone should be hidden or shown, and updates the
  stacking and position.

* Move code to positioning of windows within a workspace in the overlay
  modeto a new method Workspace._positionWindows()

* Add Workspace.addWindow()/removeWindow() to add and remove windows
  from the workspace on the fly. (Triggered manually: we still don't
  handle external changes to windows when the overlay is up.)

* Hook up mouse-dragging for window actors and add a
  ::window-dragged signal to Workspace

* Connect to ::window-dragged for each workspace, compute the new
  workspace, move it the window there, and animate everything into the
  new position. Snap back to the old location if the window didn't move.

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

svn path=/trunk/; revision=164
2009-01-23 19:21:20 +00:00
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
5280decb59 Bug 568625: Ignore extra whitespace in search
svn path=/trunk/; revision=162
2009-01-21 22:37:02 +00:00
ce36eafc2f Bug 568624: Make overlay search case insensitive
svn path=/trunk/; revision=161
2009-01-21 22:36:53 +00:00
90bce45ec6 fix workspaces padding a little. (it's still not quite right)
svn path=/trunk/; revision=160
2009-01-21 21:59:58 +00:00
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
0d612b7954 Highlight the current workspace in the overlay view
Needs cooler-ness.

svn path=/trunk/; revision=158
2009-01-21 21:12:49 +00:00
136ce3257d Clean up Workspace animation. #567865
Use Tweener.registerSpecialPropertyModifier to handle moving windows in
straight lines on the screen even while their parent workspaces are also
moving.

Have the remove buttons track their parent workspace scale and deal with
it automatically rather than having special cases in each Workspace method.

svn path=/trunk/; revision=157
2009-01-21 20:35:20 +00:00
ff5f960978 Adapt to new Tweener frame ticker API
Now that getTime() has been added to the frame ticker interface
we can implement frame dropping in a more straightforward way
than adjusting the FRAME_RATE member variable to fool Tweener
into doing the right thing.

svn path=/trunk/; revision=156
2009-01-20 18:32:25 +00:00
9a00ab1594 add a missing ";"
svn path=/trunk/; revision=155
2009-01-20 18:20:41 +00:00
12b10342e0 Fix closing of loop variable which caused error messages
Can't close over loop variables in that way; need to define an explicit var.

Also fix case where no title is defined yet when attempting to adjust.

svn path=/trunk/; revision=154
2009-01-20 16:13:41 +00:00
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
5afcf07782 Merge branch 'workspace-salon'
Conflicts:
	src/shell-global.c

svn path=/trunk/; revision=152
2009-01-19 23:06:59 +00:00
b6ec5080c8 Escape % in g_app_info_create_from_commandline
g_app_info_create_from_commandline supports % escapes for
file name, icon name, etc, so we need to escape the command line
we pass in. If it contains an URL with url-encoded UTF-8 it will
typically have some percent signs.

(Reported by Achim Frase)

svn path=/trunk/; revision=151
2009-01-17 14:41:45 +00:00
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
ac6a5ef4af Cleanup: use destructuring assignment
For multiple return values use

 let [val1, val2, val3] = function();

Rather than:

 temp = function();
 val1 = temp[0];
 ...

svn path=/trunk/; revision=149
2009-01-16 20:40:16 +00:00
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
ca724920a3 Make sure the animation always starts from the first frame, even if the
system is really busy and ClutterTimeline doesn't get a chance to call
us until it thinks several frames have passed

svn path=/trunk/; revision=147
2009-01-13 20:49:31 +00:00
b3860314b2 load the GAppInfos at startup time rather than waiting until the overlay
is opened for the first time

svn path=/trunk/; revision=146
2009-01-13 20:45:54 +00:00
fd83658c8d Remove unused workspaces at startup (since mutter uses the same gconf
prefs as metacity, we're likely to start out with 4 workspaces)

svn path=/trunk/; revision=145
2009-01-13 20:43:03 +00:00
84cfdcd244 update default apps list a little more: remove evince, totem, file-roller,
which you don't launch on their own, only with a document

svn path=/trunk/; revision=144
2009-01-13 20:07:57 +00:00
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
1e99f00e59 Pass the right 'this' to switchWorkspaceDone
switchWorkspaceDone was being called with the wrong 'this', causing
ShellWM.completed_switch_workspace() never to be called, causing stacking
order to get confused.

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

svn path=/trunk/; revision=142
2009-01-08 23:34:19 +00:00
4406943fd8 Check if the file still exists when displaying matches for the search.
Use get_modified() instead of get_visited() for GtkRecentInfo as get_modified() seems to reflect when the file was last modified or visted, while get_visited() stays the same as get_added(). See http://bugzilla.gnome.org/show_bug.cgi?id=567094

svn path=/trunk/; revision=141
2009-01-08 23:31:23 +00:00
9bee44fe26 Bug 563394 - revert change to run overlay key in idle
This was likely a different bug, possibly the OOM after a period of time.
It seems reliable for me now without the idle.

svn path=/trunk/; revision=140
2009-01-07 22:19:46 +00:00
85c22e484d implement some basic window management effects. #563844
svn path=/trunk/; revision=139
2008-12-29 04:44:03 +00:00
b3aaf2ced5 Add (+) and (-) icons for workspace management to the overlay
svn path=/trunk/; revision=137
2008-12-22 22:06:47 +00:00
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
40a3fdc02e split out a Workspace class from Workspaces, reorganize for that
svn path=/trunk/; revision=135
2008-12-22 21:51:34 +00:00
45ba65bebb Move Workspaces-size computation into Workspaces
svn path=/trunk/; revision=134
2008-12-22 21:50:23 +00:00
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
48cda5b179 Create two base classes: GenericDisplayItem and GenericDisplay, as
well as corresponding classes for applications and documents that inherit from
them. 

Use half the height of the sideshow in the overlay mode for the
AppDisplay, and the other half for the DocDisplay. 

Enable moving the selection between the two displays by using up and down arrow keys. 

Enable activating any item by clicking on it, in addition to activating the currently selected item by pressing Enter.

Apply search entry content to both sets of items.


svn path=/trunk/; revision=132
2008-12-20 04:27:57 +00:00
749d356ef9 Remove accidentally introduced import of GtkClutter
An unused import of GtkClutter snuck in somehow, remove it.

svn path=/trunk/; revision=131
2008-12-18 22:16:51 +00:00
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
f059492a20 Add full size icon+title to overlay
The icon+text is useful in order to distinguish between windows
that might look similar otherwise.

The implementation is not optimal:

* We create a new texture from the pixmap each time

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

svn path=/trunk/; revision=129
2008-12-18 18:50:09 +00:00
f3ca7a0430 Repoint clutter to the new git repositories
clutter and clutter-cairo have moved to git; adjust our jhbuild
moduleset to match the new location.

svn path=/trunk/; revision=128
2008-12-17 16:52:05 +00:00
8c59c2b5bf Track changes to the screen's n-workspaces property, and add and remove
workspaces from the overlay as needed. #564181

svn path=/trunk/; revision=127
2008-12-15 21:03:07 +00:00
97ae22dae5 Use a stable workspace ordering as rows and columns are added, rather than
just doing a simple row-major ordering

svn path=/trunk/; revision=126
2008-12-15 20:58:10 +00:00
d07433d445 change the workspace zooming metaphor in the overlay
svn path=/trunk/; revision=125
2008-12-15 20:55:24 +00:00
249e65ee30 Make the workspaces view a temporary "widget", rather than having it always
around

svn path=/trunk/; revision=124
2008-12-15 20:48:59 +00:00
98860733bb Convert some variable and file names to lowerCamelCase.
Remove unused variables in AppDisplay::_filterAdd().

svn path=/trunk/; revision=123
2008-12-09 22:10:43 +00:00
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
bd53366247 Use idle handler for overlay key binding
Running into odd problems with the overlay/windows key breaking, hopefully
this will work around those.

svn path=/trunk/; revision=121
2008-12-05 21:50:09 +00:00
b1da771d32 Connect to overlay-key signal from metacity-clutter to hide/show overlay
We want to effectively bind the "Windows key" on PC hardware to hide
and show the overlay.

svn path=/trunk/; revision=120
2008-12-05 21:12:43 +00:00