Commit Graph

9242 Commits

Author SHA1 Message Date
Jasper St. Pierre
50395cded8 preview 2014-06-13 14:23:24 -04:00
Jasper St. Pierre
e8ae8f75a0 dateMenu: Fix style 2014-06-13 13:24:10 -04:00
Jasper St. Pierre
2b93bcf921 kill tray 2 2014-06-13 12:29:27 -04:00
Jasper St. Pierre
a80b8f7791 kill tray 2014-06-13 12:21:39 -04:00
Jasper St. Pierre
62c6563a3a always expanded 2014-06-13 12:21:39 -04:00
Jasper St. Pierre
c22068d288 layout: Remove the tray pressure barrier
Since we don't have a tray at the bottom of the screen anymore, it isn't
needed for triggering.
2014-06-13 12:21:36 -04:00
Jasper St. Pierre
d519a0a181 messageTray: Remove support for transient notifications
Transient notifications have used for lots of different "system status"
notifications, like network, low power, low disk space, etc. However, a
majority of these notifications should really also be persistent
instead of going away after they appear.

Users have reported getting confused after seeing a notification appear
up in the corner of their eye, and then have no record of what it was
since the tray was empty.

To simplify the code, set the users more at ease, and also make things
like low power and low disk space more noticeable and urgent after they
go away.

Applications can and should explicitly close any notification it wants
to when state changes, so these notifications shouldn't linger if the
user e.g. plugs in his power cable, or clears up some disk space.
2014-06-13 10:30:34 -04:00
Jasper St. Pierre
ef1ab043a3 messageTray: Add notification close button inside notification
And remove the old close button outside it.
2014-06-12 13:58:16 -04:00
Jasper St. Pierre
fa350bf41e messageTray: Implement new notification designs
Rather than use an StTable, a custom ShellGenericContainer, and plenty
of hacky style classes, replace them all with standard BoxLayouts and
Bins.

Remove the customContent parameter in favor of subclasses setting the
child of this._bodyBin instead.

With this comes a whole new notification implementation to implement
the new notification designs.

We lose a few of the fancy features like showing the first part of
the body, ellipsized, next the banner when it will fit, and some other
layout logic. But since the design of notifications is changing
substantially anyways, I don't feel too bad...
2014-06-12 13:58:15 -04:00
Jasper St. Pierre
ae74dbd1bb messageTray: Glue the notification to the bottom of the screen, always
We'll animate notifications popping up with another system soon enough,
instead. The idea here is that instead of carefully animating the Y
position of the notificationWidget when a notification updates, we
simply animate the height of the new actor inside the notification.
This will fix some of the awkward updates where instead of the
notification content expanding, we see the buttons or action area
pushed off the edge of the screen...

Animations that happen as a result of adding something new to the
notification or expanding it should be done by tweeing the new actors
in inside the notification.
2014-06-12 13:58:15 -04:00
Jasper St. Pierre
afa5a871b3 messageTray: Remove addBody as a public API
As it's unused.
2014-06-12 13:58:15 -04:00
Jasper St. Pierre
e13c0ca9e8 messageTray: Remove support for notifications with images
This sufficiently complicates the code, and won't fit in the
new design.
2014-06-12 13:58:15 -04:00
Jasper St. Pierre
f29d1beb3e messageTray: Remove support for resident notifications
Now the only resident notification is a chat notification. The convenient
thing about this special-case behavior is that there's already special-case
code for it and the shell, and we always know that a chat notification will
always be 1:1 with its chat source.
2014-06-12 13:58:14 -04:00
Jasper St. Pierre
751a1b5bbe notificationDaemon: Remove support for resident notifications
They're not really an API that has caught on, and not really one
we want to support, either.
2014-06-12 13:58:14 -04:00
Jasper St. Pierre
00a32f53f5 notificationDaemon: Remove the special-case hack for system tray icons
Nothing in the system actually has a standard system tray icon anymore,
so this hack isn't necessary.
2014-06-12 13:58:14 -04:00
Jasper St. Pierre
94688d354f telepathyClient: Remove all the fancy features
This can be done with another app, like Empathy or Chat.
2014-06-12 13:58:14 -04:00
Jasper St. Pierre
7f17acd0ea autorunManager: Remove the resident "Removable Devices" notification
Users aren't usually the best at obeying the rules, and systems can
deal with hotplug without ejecting first.

https://bugzilla.gnome.org/show_bug.cgi?id=719857
2014-06-12 13:58:13 -04:00
Jasper St. Pierre
8c74a4fee0 messageTray: Remove an unused variable 2014-06-12 13:58:13 -04:00
Jasper St. Pierre
234b90ac86 messageTray: Don't use a member variable when we can use a local
Tiny cleanup.
2014-06-12 13:31:39 -04:00
Daniel Mustieles
ce46b06f36 Updated Spanish translation 2014-06-12 17:52:25 +02:00
Florian Müllner
585930123d layout: Do not expand struts to screen edges
set_builtin_struts() in mutter now handles this for us, so we can kill
off the extra code here.

https://bugzilla.gnome.org/show_bug.cgi?id=730527
2014-06-12 15:36:40 +02:00
Florian Müllner
5d00c1a5ee appDisplay: Use GrabHelper for folder popups
As clicks outside the app picker should still be handled normally
while clicks inside should dismiss the popup, we cannot make full
use of GrabHelper. However using it at least for focus handling
fixes some minor details we are getting wrong, for instance not
restoring the previous focus after dismissing a folder popup.
2014-06-11 23:24:30 +02:00
Carlos Soriano
f288c43e6e viewSelector: Use clutter constant instead of true 2014-06-10 21:22:51 +02:00
Florian Müllner
b981a591c7 main: Actually use the correct schema for overrides
Fix commit ae2751a68b to not only pick up the keys from the
correct schema, but also use the correct schema-id for the overrides.
2014-06-10 13:00:57 +02:00
Florian Müllner
3b7756b610 data: Do not convert 'button-layout' setting
It has been removed from our overrides schema ...
2014-06-10 12:32:28 +02:00
Florian Müllner
292f87caf7 sessionMode: Don't set overridesSchema
Unused since commit ae2751a68b.
2014-06-09 22:39:15 +02:00
Florian Müllner
ae2751a68b main: Move pref overrides back into C
Commit 6c2f3d1d17 moved pref overrides into JS to implement
session mode specific overrides in a clean and generic way.
However that approach comes with a cost - doing the overrides only
after having handled over control to JS means that the core will
be initialized with the non-overridden settings before changing
to the correct values. In the best case this is unnecessary work,
but it can in fact have a worse effect: when initializing workspaces,
we will restore the previous number of workspaces when using
dynamic-workspaces and reset to the configured number otherwise.
As the non-overridden default for dynamic-workspaces is FALSE, we
can easily end up moving the user's windows to the "wrong" workspace.

Now GSettings is expected to grow support for session specific defaults,
which will render our entire override system obsolete (yay!). Given
that, it seems acceptable to use a less generic (and uglier) approach
in the meanwhile, in order to fix aforementioned problems. So move
overrides back before core initialization and just hardcode the
session-mode => override-schema relation.

https://bugzilla.gnome.org/show_bug.cgi?id=695487
2014-06-09 21:52:03 +02:00
Florian Müllner
589becbc79 panelMenu: Clean up code a bit 2014-06-08 22:25:27 +02:00
Muhammet Kara
4c7fcf272c Updated Turkish translation 2014-06-05 23:34:50 +00:00
Balázs Meskó
e51aecee03 Updated Hungarian translation 2014-06-05 11:23:27 +00:00
Florian Müllner
d98e7dbd4a screenshot: Also validate parameters to FlashArea()
Apply the same parameter validation to FlashArea() we already use
for ScreenshotArea().

https://bugzilla.gnome.org/show_bug.cgi?id=731220
2014-06-04 18:12:31 +02:00
Kjartan Maraas
1b97778925 Updated Norwegian bokmål translation from Åka Sikrom. 2014-06-03 19:55:46 +02:00
Jasper St. Pierre
829e7623df css: Clean up slightly
Remove the networking stuff from the message tray section.
2014-06-03 12:32:56 -04:00
Enrico Nicoletto
89675c9061 Updated Brazilian Portuguese translation 2014-06-03 13:29:01 +00:00
Rico Tzschichholz
f9df83802d ui: Adapt to display.get_tab_list API change 2014-06-03 14:52:18 +02:00
Florian Müllner
e51eb723fc windowMenu: Do a better job with faking the source actor
The 0x0 dummyCursor works well when the menu pops up directly underneath
the pointer (e.g. when triggered by right-clicking the titlebar) or by
keyboard, but not when triggered by the menu button - the menu does not
point to the center of the button's bottom edge, and unless the user
keeps holding the mouse button while moving into the menu, the menu will
be dismissed immediately on button release.
Address these issues by using the button geometry to overlay the window
button with an appropriately sized actor that acts as a proper sourceActor,
to make the window menu behavior consistent with other shell menus.

https://bugzilla.gnome.org/show_bug.cgi?id=731058
2014-06-02 23:48:53 +02:00
Florian Müllner
5b61f2d642 windowMenu: Implement new show_menu_for_rect() hook
Having the full geometry of the menu's source button (if any) will
allow us to address several misbehaviors of window menus, so use
that instead of show_menu().

https://bugzilla.gnome.org/show_bug.cgi?id=731058
2014-06-02 23:48:53 +02:00
Jasper St. Pierre
094669baee messageTray: Clear the pointer left timeout when showing a notification
When the pointer leaves the notification area, we queue a timeout to
hide the notification after a little while. If the user is hovering over
a notification and clicks the X button to close the notification, we will
destroy the notification, which causes a "pointer left" event on the
notification area. This queues a timeout which erroneously fires after
the next notification in the queue shows up.

The code and state machine are too complex to properly make sure this
timeout doesn't fire when there is no notification up next, so instead
just clear it when showing a notification to make sure that any
previously queued timeout doesn't apply to us.

https://bugzilla.gnome.org/show_bug.cgi?id=731118
2014-06-02 17:39:52 -04:00
Jasper St. Pierre
f6b5385495 messageTray: Squash together some duplicated code
https://bugzilla.gnome.org/show_bug.cgi?id=731118
2014-06-02 17:39:51 -04:00
Jasper St. Pierre
524e2df708 messageTray: Don't exit out early if we have a left timeout
Otherwise, we won't mark the pointer as hovering on the notification.

https://bugzilla.gnome.org/show_bug.cgi?id=731118
2014-06-02 17:39:51 -04:00
Aurimas Černius
9f887d9a28 Updated Lithuanian translation 2014-06-02 23:35:53 +03:00
Florian Müllner
214a41793f build: Remove GMenu include
The actual GMenu dependency was removed a while ago, so stop adding
it to the GIR includes.
2014-06-02 17:56:38 +02:00
Milo Casagrande
2e40ffc558 Updated Italian translation 2014-05-31 12:55:41 +00:00
Antoine Jacoutot
3584887938 openbsd: fix shell_global_reexec_self()
Rework the way we re-exec the shell on OpenBSD so that it does not only
work the first time it is re-exec'd.
Plug a small leak in the __linux__ case while here.

https://bugzilla.gnome.org/show_bug.cgi?id=727763
2014-05-30 11:26:39 +02:00
Florian Müllner
0d6c002b8e calendar: Port EventsList to ClutterTableLayout
We don't make use of any functionality StTable provides over
ClutterTableLayout, so port all users to the Clutter layout
in order to remove our own copy of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=703833
2014-05-28 22:11:38 +02:00
Florian Müllner
ec714864f2 calendar: Port calendar to ClutterTableLayout
We don't make use of any functionality StTable provides over
ClutterTableLayout, so port all users to the Clutter layout
in order to remove our own copy of the code.

https://bugzilla.gnome.org/show_bug.cgi?id=703833
2014-05-28 22:11:38 +02:00
Ting-Wei Lan
1b77149ec9 build: Remove ShellNetworkAgent documentation
It is only an internal implementation detail, and it also causes build problem
when NetworkManager is disabled.

https://bugzilla.gnome.org/show_bug.cgi?id=726460
2014-05-28 22:07:19 +02:00
Florian Müllner
93c9e031e3 Update (allow-none) annotations
The annotation has been deprecated in favor of (nullable) and/or
(optional).
2014-05-28 22:01:55 +02:00
Florian Müllner
3ff4277f86 workspace: Don't allow closing windows with attached modals
Modal dialogs prevent the parent from being closed in "normal mode",
so it makes sense to not allow it in the overview either.

https://bugzilla.gnome.org/show_bug.cgi?id=729886
2014-05-28 22:01:54 +02:00
Florian Müllner
2a63267be0 loginDialog: Remove unused variable 2014-05-28 22:01:54 +02:00