Commit Graph

7355 Commits

Author SHA1 Message Date
Florian Müllner
41da4b0681 Revert "authPrompt: Don't hide the caps lock warning label"
Using the opacity to control the label's visibility doesn't work
correctly, as CapsLockWarning itself changes the opacity when
the caps-lock state changes.

This reverts commit 9f5f6aa9b2.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2215
2020-02-14 21:57:03 +01:00
Georges Basile Stavracas Neto
5cad5c20e9 authPrompt: Hide cancel button on unlock screen
As per the latest design review, hide the cancel button
on the unlock dialog.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1006
2020-02-14 20:49:57 +00:00
Georges Basile Stavracas Neto
133b623204 unlockDialog: Iconize the switch user button
Make it look exactly the same as the login screen's session
selection button.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1006
2020-02-14 20:49:57 +00:00
Georges Basile Stavracas Neto
d44a4a6a62 unlockDialog: Move switch user to the main dialog
Right now, it's still a label displayed following the same
layout algorithm of the cog button in the login screen. It'll
become a button later in the patchset.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1006
2020-02-14 20:49:57 +00:00
Georges Basile Stavracas Neto
06565542e7 Revert "unlockDialog: Remove 'Login as another user' Label"
This reverts commit c6a79fafc. The back button doesn't really work
as a replacement for going back to the login screen.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/1006
2020-02-14 20:49:57 +00:00
Florian Müllner
41b4c51341 unlockDialog: Don't explicitly show prompt
The promptBox is initially fully opaque, so showing it before the
transition can result in a brief flash before fading in.

Just remove the show() call and let the transition handle the
visibility.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2212
2020-02-14 14:56:25 +01:00
Georges Basile Stavracas Neto
7e27a2db3d authPrompt: Keep password entry on reset
Usually, logging in or unlocking the session is made asynchronously,
and AuthPrompt properly manages which entry is currently visible.
External code don't rely on any specific entry to be set, since it
is AuthPrompt's responsibility to select the correct one to be shown.

However, there's one specific case where AuthPrompt must preserve
the password entry: on reset. The reset code preserved whatever
entry was currently displayed, but after fe69dacaf1, it always
changes to the username entry.

Make sure to show the password entry on reset.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/999
2020-02-13 18:11:16 -03:00
Georges Basile Stavracas Neto
523eec521c unlockDialog: Only create GDM client once
We don't need to create a new one every time we create an
auth prompt.

Create only one GDM client.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/999
2020-02-13 18:11:09 -03:00
Georges Basile Stavracas Neto
77890c6000 loginDialog: Hide session menu button when showing the user list
In the past, the session menu button was part of the auth prompt widgetry,
so we didn't have to manually hide it when showing the user list. However,
now it is part of the login screen itself.

Hide the session menu button when the user list is shown.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/999
2020-02-13 18:11:05 -03:00
Florian Müllner
ccc64e2621 unlockDialog: Only show count for multiple notifications
In the common case where we only have a single unread notification
from a particular app, the count doesn't add useful information.
Reduce clutter a bit by only showing the notification count if we
have at least two.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/997
2020-02-13 20:55:33 +01:00
Florian Müllner
e57768e2e8 unlockDialog: Show unlock hint on inactivity
Inactivity on the unlock screen can be an indication that the user
doesn't know how to get to the auth prompt. Fade in a small hint
that points them in the right direction.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/972
2020-02-13 15:01:25 +00:00
Florian Müllner
d43401cc74 unlockDialog: Support clock/prompt switching via scrolling
SwipeTracker "only" handles touch gestures and smooth scrolling.
Scrolling still makes sense for regular mice as well though, so
add handling for that as well.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/972
2020-02-13 15:01:25 +00:00
Florian Müllner
9e5071849c unlockDialog: Add swipe gesture
Clicking or typing to reveal the auth prompt are good options for
mouse/keyboard workflows, but awkward on touch devices. Now that
we have SwipeTracker, adding corresponding gestures support is
easy, so do just that.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/972
2020-02-13 15:01:25 +00:00
Florian Müllner
55bfc4d820 unlockDialog: Use adjustment to control the transition
Tying the transition parameters to a single progress value represented
by an adjustment will enable us to implement stick-to-content swipe
gestures.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/972
2020-02-13 15:01:25 +00:00
Florian Müllner
6577a295da unlockDialog: Tweak transition animation
The current transition between clock and auth prompt uses a simple
crossfade.

"What kind of spatial model is that?!"
                                  T.B.

Root the transition a bit more by adding translation and scale to
the animation.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/972
2020-02-13 15:01:25 +00:00
Georges Basile Stavracas Neto
9f5f6aa9b2 authPrompt: Don't hide the caps lock warning label
Hiding the Caps lock warning label changes the layout of
Auth Prompt. This is specially noticeable when logging in
with unlisted users, where we change the visibility of this
label after typing a username, and the whole user widget
moves a bit.

Change the Cap lock label's opacity instead of hiding it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
261d6d35f5 userWidget: Add empty label when user is null
Currently, when a null user is passed, we don't add any
username label. That makes the layout of user and no-user
cases inconsistent.

Add a ghost label with no opacity to mimic the username
label.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
0f34cbb658 authPrompt: Only spin on password entries
Spinning while typing the password is a bit off-putting, and
inconsistent with how regular authentication behaves.

Only spin the spinner after typing the password.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
077a1d2309 authPrompt: Refactor 'next' signal
Currently, AuthPrompt is connecting to its own 'next' signal
signal to react to any of the entries being activated, and do
some actions like starting the spinner and answering the PAM
question.

Refactor this code into another method, and don't connect to
our own signal.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
66835c6e15 authPrompt: Remove colons from questions
Unfortunately, the question that is displayed comes directly
from PAM. It usually is just "Password:", which comes from
pam-unix, but other questions can be set, usually with the
colons, since they are crafted with a CLI workflow in mind.

Manually drop the colons from questions asked by PAM. This
is also done by the PolKit agent, which shows how the stack
is fragile, but it's what we have for now.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
99e81b32f4 authPrompt: Keep buttonWell and cancel button sizes in sync
So that the entry is horizontally centralized at all times.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
fe69dacaf1 loginDialog: Use text entry for username
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
6daeb048af authPrompt: Connect signals to both text and password entries
This is a regression from the transition to password entry. Both
entries need to be connected to the relevant signals, otherwise
username-based login won't ever work.

Connect both the text and the password entries.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
db4dfd8fa5 authPrompt: Trivial style cleanup
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
0b150a17c5 loginDialog: Replace colon by ellipsis on username question
So it plays better as a hint text.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
43a45c091d authPrompt: Use entry to show question texts
Currently, there is a dedicated label above the entry to
display the question text. According to the new mockups
for the lock screen, this label doesn't exist; instead,
the question is set inside the entry itself, as a hint
text.

Set the questions as hint texts of the entry, and remove
the now unused label.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
cc5adcbeef loginDialog: Center align Caps Lock and authentication messages
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Georges Basile Stavracas Neto
848cc1bb19 loginDialog: Set null user when asking for username
When going through the username + password login flow, set
the username to 'null' to update the user avatar.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
654093dc40 userWidget: Adapt if user is not mentioned for username login
If username-based login flow is followed, we need a default avatar
for the userWidget. Hence, check if the user passed to userWidget
is (null) which implies a username-based login flow.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
aebea82474 loginDialog: Move and relayout sessionMenuButton to bottom right
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
a6b29d6501 loginDialog: Apply CSS to sessionMenuButton according to mockups
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
c6a79fafc9 unlockDialog: Remove 'Login as another user' Label
According to the new mockups, logging in as another user
should be handled by the (<) button present on the lock-screen.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
7fc4fe9a97 authPrompt: Iconize the cancel button
Replace the "Cancel" label in the cancel button
by an arrow icon, and adjust the theme to make
it circular.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
ee0a36e6a3 authPrompt: Move cancel button, entry and spinner to a single row
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
a5972d2882 authPrompt: Remove Next button and its references
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Umang Jain
2fdc627257 userWidget: Allow vertical orientation for user avatars
Allow vertical orientation for the userWidget so that the user-avatar
can be centered and user's name can be placed below it. The plan
for 3.36 is to use this vertical userWidget layout for both lock
and login screen.

The userWidget is also used while creating the user-selection list
at the login, hence we still need to keep the horizontal layout
for userWidget in place.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/922
2020-02-12 19:29:48 +00:00
Jonas Dreßler
e1be4ba434 unlockDialog: Multiply blur sigma value with the scale factor
Since the blur sigma decides how many pixels get factored in when
blurring and setting a scale factor increases the background texture by
that factor, the sigma value should also be multiplied by the scale
factor.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/991
2020-02-12 11:11:03 -03:00
Jonas Dreßler
f351cfa2f7 blur-effect: Use sigma value instead of blur radius
Almost all implementations, including CSS [1] of gaussian blurs use the
sigma/standard deviation value as the input parameter, even if they call
that value "radius". Since using sigma is more correct mathematically
and avoids confusion for people used to other blur implementations, use
that parameter here, too.

[1] https://www.w3.org/TR/filter-effects-1/#funcdef-filter-blur

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/991
2020-02-12 11:10:38 -03:00
Georges Basile Stavracas Neto
dee738e24f background: Remove noise texture
Use the plain background color.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/2174

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
84c7890917 screenShield: Remove lock screen group from Crtl-Alt-Tab manager
There is nothing else to be focused in the lock screen itself -- the
top bar is already handled elsewhere, and the dialog manages itself
now.

Remove the lock screen group from the Ctrl-Alt-Tab manager.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
fd484099ae screenShield: Cleanup _ensureUnlockDialog
Just like on ScreenShield.activate(), we can just ensure the
unlock screen on ScreenShield.showDialog().

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
727c84251d screenShield: Rework key focus management
Instead of always grabbing key focus for the screen lock
group, do that for the unlock dialog itself.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
37e55df298 unlockDialog: Create auth prompt on demand
AuthPrompt is the set of actors that contain the user avatar,
the username, and the password entry. With the removal of the
screen shield, the unlock dialog (be it UnlockDialog or the
LoginDialog) is always created, and in the case of UnlockDialog,
so is the auth prompt.

This is problematic, though, since for passwordless accounts,
the simple act of creating AuthPrompt authenticates the user,
and lifts the lock screen.

Create the AuthPrompt on demand in UnlockDialog.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
2644f62318 unlockDialog: Add .critical CSS class to critical notifications
As per the latest lock screen mockups, critical notifications must have
a more prominent, solid color.

Add a .critical style class to critical notification bubbles, and make
them darker.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
893bde0ca1 theme: Adjust style of lock screen notifications
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
bd0bf3d3d0 unlockDialog: Line notification labels horizontally
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
05c918dc1a unlockDialog: Use just the counter to format notifications
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
3651cb2047 unlockDialog: Show clock when canceling or failing auth
There is still a problem of focus not going to the entry after the
first cancel, but it seems to work fine otherwise.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
b9c7631a55 unlockDialog: Toggle between clock and auth prompt
Toggle between them when (1) tapping anythere on the screen, and
(2) pressing any key.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
b59c9c6946 unlockDialog: Move auth prompt and clock to a ShellStack
We will toggle between each other in the next commit, so add
both to a ShellStack.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
f02313c1c6 screenShield: Remove key press event handler
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
6493789bc9 unlockDialog: Introduce UnlockDialogLayout
This is the layout manager responsible for ensuring
that the clock is always at the third of the screen
height, and the notifications can push it to above.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
c20451c2e7 sessionMode: Remove lock-screen mode
Now that the screen shield is gone (at least, as it used to
be), the corresponding session mode is not necessary anymore
as well.

Remove the 'lock-screen' session mode, and the corresponding
CSS.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
16dcb1ac15 screenShield: Move lock shield below dialog
Pretty much what the commit title says.

This gives the lock shield actor another role: instead of
being the interactive screen shield, make it the invisible
actor that prevents interacting with windows while the
unlock dialog is sliding down.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
c1ee656c35 screenShield: Only animate the unlock dialog
Remove the slide-up-down animation from the lock shield.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
cd09144069 screenShield: Rename _liftShield to _activateDialog
Lifting the shield is now what happens *after* successfully logging
in, not before. Now, what we do is activate the dialog before logging
in.

Rename the method to reflect that.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
7851069d9c screenShield: Activate dialog when necessary
Activating a dialog is slightly different from opening it; the
former is about showing the user authentication widgetry, while
the latter is about creating it and pre-allocating the necessary
resources.

Activate the screen shield dialog when necessary.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
e42700a308 screenShield: Lift the unlock dialog
Instead of scaling it, lift the unlock dialog when unlocking,
and vice-versa.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
febc0690c1 screenShield: Remove scrolling
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
308b4f81b5 screenShield: Cleanup unused method arguments
The 'velocity' argument is not used anymore, since the only
caller passing a different value than 0 was the drag motion
callback.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
66a3ad42da screenShield: Remove the drag action from the shield
This is start of the end of the screen shield; start by
removing the dragging action from it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
1b84a3ecb2 unlockDialog: Don't destroy on cancel
Otherwise there will be no way to recover it in the future. Also
remove an else condition that assumed the dialog would destroy
itself on cancel.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
78fd9d9e4f screenShield: Always show session's unlock dialog
Instead of destroying the dialog when the screen shield is
visible, and creating it when lifting the shield, always show
the session's unlock dialog.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
baa5bfcf49 screenShield: Remove _lockScreenContents and family
It is not used anymore, and together with it, we don't need the
_ensureLockScreen() / _clearLockScreen() pair anymore too.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:52 +00:00
Georges Basile Stavracas Neto
5d88729fc1 unlockDialog: Blur background
Add a 200px blur with a 55% brightness to the unlock dialog
background.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
15b59414d6 screenShield: Move background to Unlock Dialog
In addition to that, remove the ClutterBoxLayout that is set as
the layout manager of the Unlock Dialog, and apply the primary
monitor constraint to the child St.BoxLayout instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
2b39d6e95a screenShield: Remove unused 'onPrimary' argument
The 'onPrimary' argument was being passed to dialog.open(). Turns out,
neither UnlockDialog nor LoginDialog use this parameter.

Remove the unnecessary 'onPrimary' parameter, and cleanup the related
code.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
73eaf0df9f screenShield: Move notifications to Unlock Dialog
Also adjust the CSS style classes names to match the new owner.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
54e2d3ceb7 unlockDialog, loginDialog: Add a 'wake-up-screen' signal
The signal is currently present in the notifications box, but next
commits will move the notifications box to the unlock dialog.

Add a 'wake-up-screen' signal to the dialogs.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
d3cfb5801b unlockDialog: Adjust date format
As per design feedback at FOSDEM, adjust the time format to
not have a comma, nor padding.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
143cda628e screenShield: Move clock to Unlock Dialog
Move the Screen Shield clock to Unlock Dialog. Also adjust
the CSS style classes names to match the new owner.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Georges Basile Stavracas Neto
e90940ae10 screenShield: Remove arrows
They are not present anywhere in the new mockups.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/872
2020-02-10 22:30:51 +00:00
Carlos Garnacho
34207cc457 keyboard: Only enable automatically if ClutterSeat::touch-mode is enabled
This defers the policy on backends about whether it makes sense to show
the OSK.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/872
2020-02-10 22:07:19 +00:00
Carlos Garnacho
e16def0c43 magnifier: Make magnification factor changes animatable
So we can seamlessly change between them through eg. keybindings.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
83d083f189 magnifier: Implement pointer motion tracking differently
The use of the core idle monitor means that focus change events
are also delayed by keyboard interaction. Since the magnifier is
already in the business of pointer tracking, it's easy enough to
fire the pointer rest timeout from here, so focus changes are
accumulated and delayed.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
b1ea4f6c35 magnifier: Animate focus/caret position changes
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
60c540e93a magnifier: Add support for animating "scroll" on focus changes
This is nice in that it provides a hint of the relative position of
the new focus area, as opposed to a sudden jump.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
f3b56e0eb1 magnifier: Transform a11y events' coordinates by scale factor
We get those events in logical coordinates, which we have to transform
into actual pixels.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
c8d02be14a magnifier: Ignore repeated a11y events
We may get several a11y events setting the caret on the same
coordinates it previously was. Make focus tracking ignore those,
as we're jumping to the same coordinates again during eg. mouse
operation.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
42b50051ac magnifier: Sanity check coordinates in scrollContentsTo
We may receive a11y events with bogus coordinates (eg. x/y = minint),
so ensure the coordinates are sane before scrolling there.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
bda18888c0 magnifier: Clip all crosshair lines at even distances
If the crosshair is clipped so it doesn't cover the pointer cursor,
the clip rectangle is skewed towards the bottom/right. This was
made so to accomodate the default pointer, but the unevenness stays
on other pointer cursors, and it makes the crosshair look odd on
short crosshair length.

Make all lines clip to an even distance from the center instead.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
c150fe95b9 magnifier: Apply color inversion to crosshairs/pointer
It is somewhat unexpected that crosshair color and pointer cursor colors
remain the same across changes in color inversion settings, and may lead
to contrast issues. Apply the effect on the common container, so it
applies to these all.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Carlos Garnacho
8b4b9d396b magnifier: Apply scale factor to crosshair length
On hidpi displays the length is double as advertised, make it match
the advertised length.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/984
2020-02-07 18:18:25 +01:00
Daniel van Vugt
8929c89d1f workspace: Animate window clones using translation properties
Instead of position x/y properties. This reduces CPU-intensive relayouts
in JavaScript (`vfunc_allocate` etc).

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1271
since the other fix required already landed in 4c4846e9.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/936
2020-02-07 14:43:56 +00:00
Daniel van Vugt
881eab7669 dnd: Make DND translation-property-aware
Previously DND only worked properly for actors with zero translation.
But it only requires a small tweak to `this._dragOffsetX/Y` to support
non-zero translation values.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/936
2020-02-07 14:43:56 +00:00
Daniel van Vugt
b5651e38c7 iconGrid: Avoid animating the same icon twice
If the icon proper has opacity of zero then that's probably because a
clone of it is animating. So avoid animating the source actor too.

And if there's any other reason for the opacity being zero, still don't
animate it because we can't see it :)

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/2167
2020-02-07 11:31:20 +00:00
Daniel van Vugt
33ae220ad2 appDisplay: Call super.vfunc_unmap last
So as to guarantee the unmapped state sticks and doesn't get toggled
back to mapped before we return.

Being in a mapped state when `FolderIcon.vfunc_unmap()` returned was
causing an assertion failure in `clutter_actor_set_mapped` and crashed
the shell.

Closes: https://gitlab.gnome.org/GNOME/gnome-shell/issues/2170
2020-02-07 11:23:25 +00:00
Florian Müllner
9d7a319721 extensionPrefs: Remove stray > in .ui file
This slipped through as GtkBuilder still accepts it, but let's
not rely on that and fix our XML.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2180
2020-02-06 20:05:32 +01:00
Piotr Drąg
b7df1133b8 extensionPrefs: Make the Log Out button a proper verb
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/981
2020-02-06 18:56:00 +00:00
Alexander Mikhaylenko
dfb8737007 appDisplay: Disable swipe tracker during swarm animation
Eensures it resets when an animation starts.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2177
2020-02-06 17:36:05 +00:00
Alexander Mikhaylenko
a06a418ac1 swipeTracker: Reset scroll gesture state on disabling
Ensure that scrolling works correctly next time it's enabled.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2177
2020-02-06 17:36:05 +00:00
Michael Catanzaro
35063c9e7c portalHelper: Enable WebKit sandbox if available
The portal helper is rather sensitive because potentially-hostile Wi-Fi
networks can decide to launch it whenever they want (by blocking the
user's connection to the nmcheck domain) and load whatever web content
they want into it. So having this unsandboxed is really extraordinarily
risky. Previously it was a risk we had to accept, because WebKit did not
have a web process sandbox, but now it does. So let's bubblewrap all the
things!

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/983
2020-02-06 18:28:40 +01:00
Carlos Garnacho
5c570460cf magnifier: Use core idletime monitor
As it's getting the idletime monitor for the seat pointer, boils
down to about the same thing. We are moving away from per-device
idletime monitors though.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/978
2020-02-05 16:17:30 +00:00
Florian Müllner
7b33e240ed extensionPrefs: Fix typo
https://gitlab.gnome.org/GNOME/gnome-shell/issues/2176
2020-02-04 18:51:57 +01:00
Florian Müllner
a205f4e249 status/system: Fix session submenu visibility
Commit 147a743d8d moved the suspend and power-off actions into
the submenu that contains the log-out and switch-user actions,
but did not update the submenu visibility logic to account for
the additional actions.

As a result, the submenu is hidden when log-out and switch-user
are unavailable (like on the login screen), even if suspend and
power-off are enabled.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2169
2020-02-04 14:40:44 +00:00
Florian Müllner
9e00e8a0fb extensionPrefs: Schedule updates check on activate
While gnome-shell will now check for extension updates, the checks
are performed infrequently. Opening the Extensions app implies that
the user's current focus is on extensions, so it is an appropriate
time to schedule another updates check.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:33:14 +01:00
Florian Müllner
529829a561 extensionSystem: Periodically check for extension updates
Now that we can download, apply and display extension updates, it is time
to actually check for updates. Schedule an update check right on startup,
then every 24 hours.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:33:14 +01:00
Florian Müllner
ed84541050 extensionSystem: Show notification when updates are available
Now that the extensions app has the ability to handle updates, we
can use it as source of updates notifications.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:33:14 +01:00
Florian Müllner
075f4a5efc extensionPrefs: Support extension updates
Now that we have support for extension updates in the shell, we
need some place to display the updates to the user.

As we are establishing the Extensions app as the primary way for
managing extensions, it's a natural place for that functionality.

Show which extensions have updates available, and offer a log out
button (so gnome-shell can apply the updates when logging back in).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:33:12 +01:00
Florian Müllner
f1bd94a367 extensionPrefs: Split user and system extensions
Until now, it didn't matter whether an extension was installed in the
user's home or system-wide. However with support for uninstallation,
there is now a significant different, as that action is only available
for user extensions.

Account for that by separating extensions by type, so that users don't
have to second-guess which extensions can be fully-managed and which
appear as part of the system.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:13:44 +01:00
Florian Müllner
db69ad876a extensionPrefs: Support uninstalling user extensions
This is functionality currently provided by GNOME Software, and
which the new Extensions app should (and easily can) provide.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:11:21 +01:00
Florian Müllner
c6f297e4e5 extensionPrefs: Include more extension details in expander
The newly added expander gives us a place where we can display
more details without cluttering the interface.

Take advantage of that by including the extension website, version
and author.

(Author is in the mockups, but will not actually be shown until
the extensions website is changed to include it in its metadata;
however best to have UI and string in place for the freezes)

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:11:21 +01:00
Florian Müllner
1067642300 extensionPrefs: Move description into a expander
The description can be useful information, but also increases the
visual complexity of the extensions list. Move it into a hidden
details area that can be expanded, which unclutters the interface
while keeping the information readily available.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:11:21 +01:00
Florian Müllner
059524b007 extensionPrefs: Use actions for row controls
Actions are another mean to separate state and interactions from
the UI. Start using them for the existing controls before adding
more in follow-up commits.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:11:21 +01:00
Florian Müllner
1d72f28a1c extensionPrefs: Use template for rows
Rows are already complex enough to justify a template, and we are
about to add more.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:11:21 +01:00
Florian Müllner
5b92e3a9a8 extensionPrefs: Use a single line for description
The current fixed two-line label requires a custom widget, which
make moving to a widget template harder.

As the description will soon move elsewhere anyway, just go back
to a single line with a standard label for now.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:11:21 +01:00
Florian Müllner
8795668c41 extensionPrefs: Rename to Extensions
... and make the application user-visible.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
872c84a1c3 extensionPrefs: Add standard app elements
In order to turn the extensions-prefs tool into a proper GNOME app, it
should follow basic app patterns, so add a primary menu and about dialog.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
b47879d0a7 extensionPrefs: Add info popover to headerbar
Extensions can have a major impact on stability and performance. Now that
the tool will become the main way for users to manage their extensions, it
is an appropriate place to warn the user of that risk.

Add a small info popover to the headerbar to display that warning, together
with the previously removed hint of where to go for finding new extensions.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
679fc20765 extensionPrefs: Add application icon
We are about to make the tool a user-visible application, so we
need an icon. Add one (plus its symbolic variant).

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
db85e7084c extensionPrefs: Scroll with key focus
Currently when the extensions list is scrolled, it is possible to
keynav out of view, as the scrolling doesn't follow the key focus.

Hook up the adjustment to fix that.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
1afd2c6ad2 extensionPrefs: Don't fill view
Extension rows contain both name/description and controls to
open preferences and enable/disable the extension. Those
elements become disassociated when the row expands too much
horizontally, so instead of filling the entire view, switch
to the embedded list style[0].

[0] https://developer.gnome.org/hig/stable/lists.html.en

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
a74a9f6443 extensionPrefs: Use template for ExtensionsWindow
As the window will become more complex, it makes sense to let GtkBuilder
construct the UI and focus on the actual implementation.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
f49e20bbae extensionPrefs: Split out window class
Currently the main window is a plain Gtk.ApplicationWindow that is
built and managed from within the application.

As the application becomes more complex, it makes sense to decouple
the two and handle the window from a separate ExtensionsWindow class.

Not least this is a prerequisite of using a widget template for the
window.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Florian Müllner
9916989272 extensionPrefs: Simplify empty placeholder
GNOME Software will remove its extension support, so we should stop
referencing it in addition to extensions.gnome.org.

In fact, the placeholder is not the best place to hint at where new
extensions can be found, as the user will never see it in case the
distribution includes pre-installed extensions.

So remove the hint altogether, we will add it back in a more prominent
place later.

With the whole placeholder now being much lighter, we can stop dimming
the remaining elements.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/1968
2020-02-03 19:03:19 +01:00
Jonas Dreßler
45c5f21f6c dialogs: Hide caps lock warning if password entry is hidden
If all password entries in dialogs are hidden, there is either an entry
that has visible characters or no entry at all. That means we don't have
to show the caps lock warning at all, so hide it.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
59bd2dd1e3 windowManager: Use shorter string for dialog headline
Since the headlines of the dialogs now use a much larger font, the
strings need to be shorter so they won't be ellipsized.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
3c47923953 networkAgent: Use shorter title strings
Since the headlines of the dialogs now use a much larger font, the
strings need to be shorter so they won't be ellipsized. So use a shorter
strings for those titles and also adjust the title-strings of the
notifications sent by the NetworkAgent to be consistent.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
dbaf5687dd networkAgent: Implement new dialog design
Use a completely vertical layout instead of the ClutterGridLayout based
layout to implement the new design for dialogs in the shell:

- Center-align all the elements of the dialog
- Remove the work-spinner
- Show the entry-labels as hint text of the entry

See https://gitlab.gnome.org/GNOME/gnome-shell/issues/1343

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
20895c7791 windowManager: Cleanup dialog a bit
This doesn't have to be a prompt-dialog, so remove the css class, also
the MessageDialogContent doesn't need the x and y_expand properties, so
remove those, too.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
ddeb2fa05d shellMountOperation: Use wiggle effect to inform about wrong password
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
7a1f4f9af3 shellMountOperation: Implement new dialog design
Update the layout of the ShellMountPasswordDialog dialog according to
the new dialog design:

- Center-align all the elements of the dialog
- Align the work-spinner to the right (or left with RTL layouts) of the
password entry
- Show the entry-labels as hint text of the entry

See https://gitlab.gnome.org/GNOME/gnome-shell/issues/1343

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:33 +01:00
Jonas Dreßler
dc578a9e79 keyring: Use wiggle effect to inform about new warning message
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:08:30 +01:00
Jonas Dreßler
040c1638ea keyring: Implement new dialog design
Replace the ClutterGridLayout of the keyring dialog with a vertical
StBoxLayout based layout according to the new dialog design:

- Center-align all the elements of the dialog
- Remove the work-spinner because requests usually finish fast enough
- Show the entry-labels as hint text of the entry

See https://gitlab.gnome.org/GNOME/gnome-shell/issues/1343

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:06:31 +01:00
Jonas Dreßler
ded8412a2a polkitAgent: Use wiggle effect to inform about wrong password or problem
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:06:31 +01:00
Jonas Dreßler
2f3738fae0 polkitAgent: Implement new design for polkit dialog
Implement the new design for the polkit according to the mockups in
https://gitlab.gnome.org/GNOME/gnome-shell/issues/1343:

- Center-align all the parts of the dialog
- Use a larger user avatar
- Remove the work-spinner because requests usually finish fast enough
- Show the entry-labels as hint text of the entry

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:06:31 +01:00
Jonas Dreßler
2b184a10d6 util: Move wiggle parameters to a common place
Since the wiggle effect will be used by the redesigned prompt-dialogs
and we always want to use the same parameters, move those as defaults
for the wiggle function to the util.js file.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/942
2020-02-01 08:06:31 +01:00
Florian Müllner
4871845d01 portalHelper: Require GTK 3.0
When multiple versions of a typelib are available, GI will pick the
highest one unless an explicit version is requested. So as GTK 4.0
is becoming a thing, it's time to do that.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/970
2020-01-31 17:39:18 +01:00
Florian Müllner
53ac00eabb js: Initialize some properties
Otherwise those can result in the (harmless) "reference to undefined
property" warnings.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/970
2020-01-31 17:39:18 +01:00
Georges Basile Stavracas Neto
964106513e shellEntry: Use seat to retrieve keymap
The backend does not handle the keymap anymore; this is now
handled by ClutterSeat.

Use ClutterSeat to retrieve the default keymap.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/968
2020-01-30 15:57:12 -03:00
Carlos Garnacho
9aca26916c magnifier: Adapt to idle monitors API change
It takes Clutter input devices now, not device IDs.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/760
2020-01-30 17:49:08 +00:00
Carlos Garnacho
5a006d9e79 dnd: Use ClutterSeat to fetch devices
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/760
2020-01-30 17:49:08 +00:00
Carlos Garnacho
bd016c6b49 lookingGlass: Use ClutterSeat to fetch devices
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/760
2020-01-30 17:49:08 +00:00
Carlos Garnacho
484dd98448 padOsd: Use ClutterSeat to fetch devices
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/760
2020-01-30 17:49:08 +00:00
Carlos Garnacho
84d92bf65e ui: Use ClutterSeat for keyboard/pointer a11y
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/760
2020-01-30 17:49:08 +00:00
Carlos Garnacho
8d88a9b9c4 keyboard: Update to ::last-device-changed parameter change
https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/760
2020-01-30 17:49:08 +00:00
Jonas Dreßler
0f4aeb2654 checkbox: Correctly align label
The label needs to be center-aligned vertically so it's positioned in
the middle of the surrounding box, not at the top.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/967
2020-01-30 15:48:26 +01:00
Jonas Dreßler
0b3fec22d7 shellEntry: Hide caps lock warning and use animation to show it
Since the caps-lock warning adds a lot of spacing to dialogs and the
lock screen, hide it by default and only show it when necessary. To make
the transition smooth instead of just showing the label, animate it in
using the height and opacity.

Also add some bottom padding to the label so we can show or hide that
padding, too.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/952
2020-01-30 14:35:26 +00:00
Jonas Dreßler
9009b50bd1 polkitAgent: Remove styleClass argument for caps lock warning
The caps lock warning now has its own css class that works for this
case, too. Remove the custom class parameter and just use the default
one.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/952
2020-01-30 14:35:26 +00:00
Jonas Dreßler
eee0657727 theme: Move caps-lock warning to entry widget stylesheet
The caps-lock warning is more related to entries than dialogs and is
also used in gdm, which is not realated to dialogs at all. Rename the
css class to caps-lock-warning-label and move it to the entry
stylesheet.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/952
2020-01-30 14:35:26 +00:00
Jonas Dreßler
056f5e5100 shellEntry: Make signal id variable private
Signal connection IDs should be private variables, so make this one
private.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/952
2020-01-30 14:35:26 +00:00
Daniel García Moreno
5b2c604fe4 animation: Scale animation actor for HiDPI
The Animation class inherits from St.Bin and manages the scale factor
in the image loading, but the widget size doesn't change and doesn't
depend on the scale factor so when the scale factor is different
from 1 the widget size doesn't match the image size.

This patch resizes the Animation widget using the scale factor so the
widget will match the animation images sizes.

Fixes https://gitlab.gnome.org/GNOME/gnome-shell/issues/1746
2020-01-30 14:28:45 +00:00
Florian Müllner
db9ef11f28 extensionSystem: Install pending updates on startup
Now that we have a way to check for updates and download them, we
should actually apply them as well. Do this on startup before any
extensions are initialized, to make sure we don't run into any
conflicts with a previously loaded version.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
2020-01-30 13:37:47 +00:00
Florian Müllner
ea5732fe6f extensionDownloader: Include version validation in update check
The extensions website will consider the setting to find the best suitable
extension version, so we should transmit the parameter for better results.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
2020-01-30 13:37:47 +00:00
Florian Müllner
b7e828fa3c extensionDownloader: Exclude extensions with pending updates from check
While it is possible that an extension has a newer version available
than the previously downloaded update, it's more likely that we end up
downloading the same archive again. That would be a bit silly despite
the usually small size, so we can either use the metadata from the
update, or exclude the extension from the check.

The latter is much easier, so let's go with that for now.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
2020-01-30 13:37:47 +00:00
Florian Müllner
cbc9bc5fc6 extensionDownloader: Only check updates for user extensions
System extensions cannot be updated through the website, so don't
even try.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
2020-01-30 13:37:47 +00:00
Florian Müllner
9c785ca6b6 extensionDownloader: Make checkForUpdates() check for updates
Currently the method installs updates instead of merely checking for
them (or it would do, if it actually worked).

This is not just surprising considering the method name, the whole idea
of live updates is problematic and will not work properly more often
than not:
 - imports are cached, so any local modules will stay at their
   original version until a shell restart
 - GTypes cannot be unregistered

So change the method to only download available updates, and set the
extensions' hasUpdate state accordingly.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
2020-01-30 13:37:47 +00:00
Florian Müllner
375d1892bf extensionSystem: Add hasUpdate state
The current support for extension updates is half-baked at best.
We are about to change that, and implement offline updates similar
to gnome-software.

As a first step, add a hasUpdate property to the extension state
which will communicate available updates.

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/945
2020-01-30 13:37:47 +00:00
Alexander Mikhaylenko
2490a2ffda workspacesView: Disable swipe tracker during window dragging
Since a11f417cd0, both drag and scroll
gestures are added to Main.layoutManager.overviewGroup actor, while
previously drag gesture was added to Main.overview._backgroundGroup
instead. Since we cannot use 2 different actors for dragging and scrolling
anymore. just disable the swipe tracker while dragging a window.

https://gitlab.gnome.org/GNOME/gnome-shell/issues/2151
2020-01-28 22:08:48 +00:00
Daniel van Vugt
4c4846e9bd overviewControls: Use ClutterActor's translation-x
Instead of reimplementing `translation-x` as a relayout. It still looks
the same but no longer incurs relayouts during the animation which
reduces render time significantly.

Related to: https://gitlab.gnome.org/GNOME/gnome-shell/issues/1271

https://gitlab.gnome.org/GNOME/gnome-shell/merge_requests/948
2020-01-28 18:09:49 +00:00