Compare commits
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
b6fe670467 | ||
|
|
412f6d024b | ||
|
|
ada611d6c5 |
11 changed files with 47 additions and 15 deletions
|
|
@ -253,7 +253,8 @@ in
|
|||
description = ''
|
||||
Theme overrides written to `$XDG_CONFIG_HOME/nova-shell/theme.json`.
|
||||
Keys: colors (base00-base0F), fontFamily, iconFontFamily, fontSize,
|
||||
barOpacity, barHeight, barPadding, groupSpacing, groupPadding, moduleSpacing, radius, screenRadius.
|
||||
barOpacity, barHeight, barPadding, groupSpacing, groupPadding, moduleSpacing,
|
||||
radius, screenRadius, reducedMotion.
|
||||
Automatically populated from stylix when it is available.
|
||||
'';
|
||||
};
|
||||
|
|
|
|||
|
|
@ -57,7 +57,7 @@ Column {
|
|||
// Pulse animation while pending
|
||||
SequentialAnimation on opacity {
|
||||
loops: Animation.Infinite
|
||||
running: entry._pending
|
||||
running: entry._pending && !S.Theme.reducedMotion
|
||||
NumberAnimation {
|
||||
to: 0.5
|
||||
duration: 400
|
||||
|
|
|
|||
|
|
@ -371,7 +371,7 @@ WlSessionLockSurface {
|
|||
SequentialAnimation {
|
||||
id: _heartbeatAnim
|
||||
loops: Animation.Infinite
|
||||
running: root._threatEnabled && root.auth.failCount >= 3 && root.lock.secure
|
||||
running: root._threatEnabled && root.auth.failCount >= 3 && root.lock.secure && !S.Theme.reducedMotion
|
||||
|
||||
// Systole (sharp spike)
|
||||
NumberAnimation {
|
||||
|
|
|
|||
|
|
@ -125,7 +125,7 @@ Item {
|
|||
|
||||
property real _pulse: 0.08
|
||||
SequentialAnimation on _pulse {
|
||||
running: root._hovered
|
||||
running: root._hovered && !S.Theme.reducedMotion
|
||||
loops: Animation.Infinite
|
||||
NumberAnimation {
|
||||
to: 0.22
|
||||
|
|
|
|||
|
|
@ -133,7 +133,12 @@ PanelWindow {
|
|||
}
|
||||
_winVisible = true;
|
||||
hideAnim.stop();
|
||||
showAnim.start();
|
||||
if (S.Theme.reducedMotion) {
|
||||
panelContainer.opacity = 1;
|
||||
panelContainer.y = 0;
|
||||
} else {
|
||||
showAnim.start();
|
||||
}
|
||||
_grace = true;
|
||||
_graceTimer.restart();
|
||||
}
|
||||
|
|
@ -141,7 +146,13 @@ PanelWindow {
|
|||
function dismiss() {
|
||||
_pinned = false;
|
||||
showAnim.stop();
|
||||
hideAnim.start();
|
||||
if (S.Theme.reducedMotion) {
|
||||
_winVisible = false;
|
||||
if (popupMode)
|
||||
dismissed();
|
||||
} else {
|
||||
hideAnim.start();
|
||||
}
|
||||
_grace = false;
|
||||
_graceTimer.stop();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -68,7 +68,13 @@ PanelWindow {
|
|||
_heightScale = 1;
|
||||
} else {
|
||||
popupCol._knownIds[modelData.id] = true;
|
||||
slideIn.start();
|
||||
if (S.Theme.reducedMotion) {
|
||||
opacity = 1;
|
||||
x = 0;
|
||||
_heightScale = 1;
|
||||
} else {
|
||||
slideIn.start();
|
||||
}
|
||||
}
|
||||
_entered = true;
|
||||
}
|
||||
|
|
@ -82,7 +88,7 @@ PanelWindow {
|
|||
}
|
||||
|
||||
Behavior on y {
|
||||
enabled: popupItem._entered
|
||||
enabled: popupItem._entered && !S.Theme.reducedMotion
|
||||
NumberAnimation {
|
||||
duration: 200
|
||||
easing.type: Easing.OutCubic
|
||||
|
|
@ -123,7 +129,11 @@ PanelWindow {
|
|||
popupItem.modelData.beginDismiss();
|
||||
_fullDismiss = !!full;
|
||||
slideIn.stop();
|
||||
slideOut.start();
|
||||
if (S.Theme.reducedMotion) {
|
||||
full ? S.NotifService.dismiss(modelData.id) : S.NotifService.dismissPopup(modelData.id);
|
||||
} else {
|
||||
slideOut.start();
|
||||
}
|
||||
}
|
||||
|
||||
SequentialAnimation {
|
||||
|
|
|
|||
|
|
@ -63,7 +63,7 @@ M.PinnableSection {
|
|||
Connections {
|
||||
target: S.NotifService
|
||||
function onCountChanged() {
|
||||
if (S.NotifService.count > 0)
|
||||
if (S.NotifService.count > 0 && !S.Theme.reducedMotion)
|
||||
popAnim.start();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,8 +1,9 @@
|
|||
import QtQuick
|
||||
import "../services" as S
|
||||
|
||||
SequentialAnimation {
|
||||
id: root
|
||||
loops: Animation.Infinite
|
||||
loops: S.Theme.reducedMotion ? 1 : Animation.Infinite
|
||||
|
||||
property real minOpacity: 0.4
|
||||
property int halfDuration: 400
|
||||
|
|
|
|||
|
|
@ -19,10 +19,19 @@ PanelWindow {
|
|||
if (_shown) {
|
||||
_winVisible = true;
|
||||
hideAnim.stop();
|
||||
showAnim.start();
|
||||
if (S.Theme.reducedMotion) {
|
||||
content.opacity = 1;
|
||||
content.y = 0;
|
||||
} else {
|
||||
showAnim.start();
|
||||
}
|
||||
} else {
|
||||
showAnim.stop();
|
||||
hideAnim.start();
|
||||
if (S.Theme.reducedMotion) {
|
||||
_winVisible = false;
|
||||
} else {
|
||||
hideAnim.start();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -10,7 +10,7 @@ import "../services" as S
|
|||
RowLayout {
|
||||
id: root
|
||||
spacing: S.Theme.moduleSpacing + 2
|
||||
visible: S.Modules.tray.enable && SystemTray.items.length > 0
|
||||
visible: S.Modules.tray.enable && SystemTray.items.count > 0
|
||||
|
||||
required property var bar
|
||||
property var _activeMenu: null
|
||||
|
|
|
|||
|
|
@ -70,7 +70,7 @@ shell/modules/Tooltip.qml: Type PanelWindow is not creatable. [uncreatable-type]
|
|||
shell/modules/Tooltip.qml: Type margins is used but it is not resolved [unresolved-type]
|
||||
shell/modules/Tooltip.qml: unknown grouped property scope margins. [unqualified]
|
||||
shell/modules/TrayMenu.qml: Unqualified access [unqualified]
|
||||
shell/modules/TrayModule.qml: Member "length" not found on type "UntypedObjectModel" [missing-property]
|
||||
shell/modules/TrayModule.qml: Member "count" not found on type "UntypedObjectModel" [missing-property]
|
||||
shell/modules/TrayModule.qml: Member "screen" not found on type "QObject" [missing-property]
|
||||
shell/modules/TrayModule.qml: Type "qs::dbus::dbusmenu::DBusMenuHandle" of property "menu" not found. This is likely due to a missing dependency entry or a type not being exposed declaratively. [unresolved-type]
|
||||
shell/modules/TrayModule.qml: Unqualified access [unqualified]
|
||||
|
|
|
|||
Reference in a new issue