Commit Graph

2040 Commits

Author SHA1 Message Date
Owen Taylor
c12de59864 Add a concept of "going modal" by grabbing the keyboard
shell-global.[ch]: Replace shell_global_focus_stage()
  with shell_global_grab_keyboard()/shell_global_ungrab_keyboard()
main.js: Add startModal()/endModal() functions to go modal and
  undo that.
run_dialog.js overlay.js main.js: Use startModal() for the overlay
  and for the run dialog.

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

svn path=/trunk/; revision=83
2008-11-24 19:07:18 +00:00
Owen Taylor
8a9b138c2e Add a bg-color property to ShellTrayManager
shell_tray_manager.c: Add a bg-color property and implement it
 by setting a 1x1 pixmap of the right color as the background.

 Also, make the colormap of the tray manager window match that
 of the socket. That should (untested) make transparency work
 properly if the tray icon supports it.

panel.js: Set the bg-color property of the tray manager to
 match the panel.

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

svn path=/trunk/; revision=82
2008-11-24 19:07:15 +00:00
Owen Taylor
1d1028adef Improve overlay mode's window scaling
Add a layout for 5 windows and slightly increase the scale factor
for 3 and 4 windows.

Patch from Natan Yellin
http://bugzilla.gnome.org/show_bug.cgi?id=561947

svn path=/trunk/; revision=81
2008-11-23 04:23:34 +00:00
Owen Taylor
1fb2585d8f Tweak the animation when the overlay comes up
- Make the time a bit longer (now that we control timing in Tweener
  better it actually takes the time we specify)
- Use easeOutQuad so that we get a "soft landing" into position
- Move the anchor point of the Desktop to NorthEast to reduce jitter

svn path=/trunk/; revision=80
2008-11-23 04:12:37 +00:00
Owen Taylor
9b822402b9 Use a Tweener "Frame Ticker" with a ClutterTimeline backend
Call Tweener.setFrameTicker() with a custom object that bridges to
ClutterTimeline to get new frame notifications. Combined with a
hack to dynamically adjust the frame ticker's frame rate when
Clutter drops frames, this means that our animations play in the
intended time even if rendering is too slow to maintain a full
60HZ frame rate.

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

svn path=/trunk/; revision=79
2008-11-23 04:12:34 +00:00
Dan Winship
19671ad349 implement a basic switch_workspace animation using Tweener. #561835
svn path=/trunk/; revision=78
2008-11-21 21:34:10 +00:00
Colin Walters
07877e7a7a Fix app event handling
We need to hook up to events on the group, and not set higher level
actors to be reactive.

svn path=/trunk/; revision=77
2008-11-21 20:45:35 +00:00
Colin Walters
54329a65b2 Use _deactivate rather than hide so we correctly reset input area
svn path=/trunk/; revision=76
2008-11-21 20:45:33 +00:00
Colin Walters
0f019b9ee2 Fix application layout to use parent relative coordinates
We were previously incorrectly assuming origin relative here.

svn path=/trunk/; revision=75
2008-11-21 20:01:15 +00:00
Dan Winship
f5091e92e4 remove some cruft
svn path=/trunk/; revision=73
2008-11-21 15:10:11 +00:00
Colin Walters
dbf984a888 Rename MENU_ -> APPDISPLAY_ to correspond with other renames
svn path=/trunk/; revision=72
2008-11-21 15:08:34 +00:00
Dan Winship
7dba934b96 add the initial framework of a window management interface. #561724
svn path=/trunk/; revision=70
2008-11-21 14:02:09 +00:00
Dan Winship
06bde9cc98 fix import ordering
svn path=/trunk/; revision=69
2008-11-21 13:54:25 +00:00
Colin Walters
c928b64648 Merge branch 'appmenu'
svn path=/trunk/; revision=68
2008-11-21 00:53:11 +00:00
Colin Walters
4840b813ca Fix up previous change; connect to signals correctly
svn path=/trunk/; revision=66
2008-11-20 15:47:13 +00:00
Colin Walters
a62b215b06 Convert run dialog to gjs signals
svn path=/trunk/; revision=65
2008-11-20 15:40:44 +00:00
Owen Taylor
44dde535e0 Bug 561588 – New run dialog
Add a new clutter-based "Run Dialog" and trigger that off of Alt-F2
instead of running a gnome-terminal instance.

Patch from Sander Dijkhuis.

svn path=/trunk/; revision=64
2008-11-19 23:21:42 +00:00
Owen Taylor
840eb62397 Set a strut to prevent windows under the panel
Set a strut (a reserved region) at the top of the screen so that
windows don't get positioned under the panel. Do this on all
workspaces and redo it when the number of workspaces changes.
http://bugzilla.gnome.org/show_bug.cgi?id=561297

svn path=/trunk/; revision=63
2008-11-19 23:04:53 +00:00
Owen Taylor
71a35e495e Rename 'panel' local to 'me'
To match our style other places, use 'me' rather than 'panel' when
we want a substitute for 'this' that we can refer to from closures.

svn path=/trunk/; revision=62
2008-11-19 23:04:50 +00:00
Marina Zhurakhinskaya
f81e9d3aaa Make sure we include staysPressed in the list of arguments to the Button object
, so that we don't end up ignoring minHeight.

svn path=/trunk/; revision=58
2008-11-19 19:25:51 +00:00
Marina Zhurakhinskaya
5b31ce3415 Switch all JavaScript variable names to firstWordLowerCase style to agree with the Style Guide.
svn path=/trunk/; revision=57
2008-11-19 19:23:24 +00:00
Marina Zhurakhinskaya
372021d05b Display a background rectangle for the desktop in the overlay mode when we don't have a desktop window from the file manager, which is the case when the preference for showing icons on the desktop is disabled by the user or we are running inside a Xephyr window.
svn path=/trunk/; revision=56
2008-11-18 01:33:03 +00:00
Marina Zhurakhinskaya
bc2cb8fb62 Add an extra background to the button that maintains the state of the pressed button color opacity. This ensures the highlighted button color will be based on the button color instead of the color of the item the button is added to.
svn path=/trunk/; revision=53
2008-11-17 22:32:28 +00:00
Marina Zhurakhinskaya
679365f1c1 Add a button object that highlights a button area when it is moused over and transitions it to a different color when the button is pressed in. Use this button object for the panel's "Activities" button.
Add some comments, TODO items, and type fixes to the code.

svn path=/trunk/; revision=52
2008-11-15 00:44:11 +00:00
Dan Winship
8c61d46586 Import part of the notification area applet, and use it to add a
notification are to the panel. A bit warty, but we don't know how we want
the final UI to look anyway. (The fact that transparency doesn't work is
a known bug.)

svn path=/trunk/; revision=44
2008-11-14 17:21:56 +00:00
Owen Taylor
536bc24f61 Remove workarounds for mutual imports problems
Now that gjs Bug #558741 is fixed, we can import Main directly from
the toplevel of overlay.js/panel.js without causing problems.

svn path=/trunk/; revision=41
2008-11-09 18:01:59 +00:00
Owen Taylor
6a0c6a5df6 Fix stacking order in the overlay
When showing windows in the overlay, stack them in the same order as
they are on the screen. This improves the animation (the starting point
is now the current layout!) and also the case where we have a lot
of windows and just overlap them diagonally.

svn path=/trunk/; revision=40
2008-11-08 19:33:35 +00:00
Owen Taylor
f546d92033 Hide the group containing the windows while overlay is up
When we are animating the overlay, we don't want to be continually
redrawing the (obscured) window actors.

src/shell-global.c: Add 'window-group' property to expose the group
  holding the window actors.
js/ui/overlay.js: Hide the window group while the overlay is up.

svn path=/trunk/; revision=39
2008-11-08 19:33:33 +00:00
Owen Taylor
5de283b448 Remove over a leftover debug log statement
svn path=/trunk/; revision=37
2008-11-08 00:46:44 +00:00
Colin Walters
19070be3ba Run gnome-terminal on alt-f2
svn path=/trunk/; revision=36
2008-11-07 18:42:23 +00:00
Owen Taylor
ac6ff95040 Make clicking on windows in the overlay activate the windows
Hook up activating windows in the overlay now that we have
MetaWindow GObject'ified and exposed to gobject-introspection.

svn path=/trunk/; revision=35
2008-11-07 17:14:26 +00:00
Owen Taylor
03b8843f9e Improve window handling in overview mode
* For small window counts, lay the windows out according to a
  predefined scheme. For larger window counts, continue putting
  the windows along the diagonal as before, but do it a bit better.
* Special case the desktop window and use it as the background
  of the window area.
* Add a little translucency to windows
* Use tweener to animate everything into place
* Clean up - add constants and break things into multiple methods

svn path=/trunk/; revision=32
2008-11-06 14:00:14 +00:00
Owen Taylor
e624b2a241 First stab at showing windows in the overlay
shell-global.[ch]: Add shell_global_get_windows() to get
  the list of all MutterWindow for the  screen
Makefile.am: Include the metacity typelib so that we can
  reference the MutterWindow type
js/ui/overlay.js: Cascade the open windows, scaled down
  in the overlay

svn path=/trunk/; revision=24
2008-11-02 04:18:41 +00:00
Johan Dahlin
758e083caf Draw a border around the panel. Move it to -1,-1 and make the width+2 so we only see the border at the bottom
svn path=/trunk/; revision=19
2008-11-02 03:00:45 +00:00
Owen Taylor
9e45cf84fb First cut at activities overlay
When the user clicks on "Activities", adjust the input shape
to the whole screen and show a black overlay group. Actually, the
black should be *beneath* the window actors and the overlay group
transparent so we can fade in the black while leaving the windows
unfaded, visible, but shrunk and rearranged.

svn path=/trunk/; revision=14
2008-10-31 23:09:46 +00:00
Owen Taylor
0cea92e46a Clean up initial appearance a bit
Set a less strange background color than white and remove the
"Yessir. The compositor is running" message from the overlay.

svn path=/trunk/; revision=13
2008-10-31 18:29:42 +00:00
Owen Taylor
6b9379a938 Switch the HH:MM:SS second clock to HH:MM
less updates == less debug spew.

svn path=/trunk/; revision=11
2008-10-31 18:12:03 +00:00
Owen Taylor
96963520da Add a very simple first-pass top panel
Add a top panel with a label "Activities" you can click on and
a HH:MM:SS clock. (A little more and we'll be caught up to gnome-0.9.)

svn path=/trunk/; revision=10
2008-10-31 18:09:20 +00:00
Owen Taylor
2fd4c9058d Extend ShellGlobal object with more properties
* Add screen-width, screen-height, overlay-group properties
* Add set_stage_input_area() function
* Fix main.js to rotate DRAFT properly

svn path=/trunk/; revision=6
2008-10-31 15:20:54 +00:00
Owen Taylor
4ba985b484 Initial commit
A plugin for metacity-clutter (mutter) that initializes Javascript
and via Javascript adds an object to the mutter scene graph.

src/gnome-shell-plugin.c: metacity-clutter-plugin
src/shell-global.[ch]: Simple global-information object
js/: Directory for javascript
scripts/start-in-Xephyr: Launch metacity with our plugin
  "nested" within an Xephy X server

svn path=/trunk/; revision=2
2008-10-31 04:22:44 +00:00