Commit Graph

284 Commits

Author SHA1 Message Date
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
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
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
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
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
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
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
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
0f7abf96a7 Port to Clutter-0.9
tools/build/gnome-shell.modules: Point  at master branch of Clutter (0.9)
  and make gobject-introspection a dep of Clutter.
configure.ac src/Makefile.am: Use Clutter-0.9
js/ui/button.js js/ui/genericDisplay.js js/ui/overlay.js js/ui/panel.js
js/ui/runDialog.js js/ui/workspaces.js src/shell-status-menu.c:
  Use ClutterText instead of ClutterLabel and ClutterEntry
js/ui/workspaces.js js/ui/genericDisplay.js: Use ClutterClone instead
  of ClutterCloneTexture
src/shell-global.[ch]: Add Shell.get_event_key_symbol() to workaround
  unaccessibility of clutter_key_event_symbol() to use.
js/runDialog.js js/overlay.js: Use Shell.get_event_key_symbol() as
  appropriate.
2009-02-23 14:53:06 -05:00
Colin Walters
b7a0a5e769 Merge branch 'statusmenu'
svn path=/trunk/; revision=183
2009-02-04 18:45:38 +00:00
Dan Winship
87a3088719 sort imports consistently; everything-but-our-javascript, alphabetically,
then a blank line, then all of our javascript, alphabetically

svn path=/trunk/; revision=176
2009-02-02 23:02:16 +00:00
Dan Winship
a80c18bc4e Use BigBox rather than TidyGrid to organize the panel. #568712
svn path=/trunk/; revision=168
2009-01-27 20:29:37 +00:00
Dan Winship
a5c3c258a3 fix incorrect variable name in _updateClock
svn path=/trunk/; revision=111
2008-12-03 18:27:48 +00:00
Owen Taylor
dd4db82475 Bug 562771 – The clock is inaccurate
Fix the clock to update exactly on the minute, rather than at a random
time within the minute.

Patch from RainCT (Siegfried Gevatter)

svn path=/trunk/; revision=98
2008-12-01 19:59:59 +00:00
Owen Taylor
7b471645f4 Redo tabs => spaces indentation change to not lose manual indentation
Revert most JS changes in commit:

    Fri Nov 28 20:12:20 2008 +0000
    Convert all JS style to be uniform, add Eclipse settings bits

Instead, just add 'indent-tabs-mode: nil' to the mode lines and convert
tabs to spaces. The indentation no longer exactly matches the Eclipse
settings, since they differ in some ways from the style we are trying
to achieve.

svn path=/trunk/; revision=97
2008-12-01 19:51:43 +00:00
Colin Walters
12720e2c90 Fix indent of first member
svn path=/trunk/; revision=96
2008-12-01 17:19:58 +00:00
Colin Walters
3b9aa49f22 Convert all JS style to be uniform, add Eclipse settings bits
Previous style was all over the place; this commit attempts to bring
uniformity.  Overall, the style is:

* 4 spaces only, no tabs
* Prototypes do not create a new block
* Constructor property continuations only indent one block

svn path=/trunk/; revision=87
2008-11-28 20:12:20 +00:00
Colin Walters
3d41f586fc Convert users of static functions to new gjs syntax
svn path=/trunk/; revision=86
2008-11-26 19:14: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
Dan Winship
06bde9cc98 fix import ordering
svn path=/trunk/; revision=69
2008-11-21 13:54:25 +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
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
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
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