From 1224eb4d867f242ac1637e40be3b65f28a474a8c Mon Sep 17 00:00:00 2001 From: Leonhard Kargl Date: Sat, 2 Nov 2024 12:20:59 +0100 Subject: [PATCH 1/3] AnimationSettings: Introduce get_animation_duration --- lib/AnimationsSettings.vala | 7 +++++++ plugins/pip/PopupWindow.vala | 14 +++++++------- src/Widgets/IconGroup.vala | 2 +- src/Widgets/MultitaskingView.vala | 2 +- src/Widgets/WindowClone.vala | 16 ++++++++-------- src/Widgets/WindowIconActor.vala | 2 +- src/Widgets/WindowSwitcher/WindowSwitcher.vala | 2 +- src/Widgets/WorkspaceClone.vala | 8 ++++---- src/Widgets/WorkspaceInsertThumb.vala | 2 +- 9 files changed, 31 insertions(+), 24 deletions(-) diff --git a/lib/AnimationsSettings.vala b/lib/AnimationsSettings.vala index 46522dff7..12ec2375c 100644 --- a/lib/AnimationsSettings.vala +++ b/lib/AnimationsSettings.vala @@ -22,4 +22,11 @@ namespace AnimationsSettings { return enable_animations; } + + /** + * Utility that returns the given duration or 0 if animations are disabled. + */ + public uint get_animation_duration (uint duration) { + return enable_animations ? duration : 0; + } } diff --git a/plugins/pip/PopupWindow.vala b/plugins/pip/PopupWindow.vala index a3ecc73c2..97f9ce17a 100644 --- a/plugins/pip/PopupWindow.vala +++ b/plugins/pip/PopupWindow.vala @@ -143,7 +143,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { opacity = 0; save_easing_state (); - set_easing_duration (AnimationsSettings.get_enable_animations () ? 200 : 0); + set_easing_duration (AnimationsSettings.get_animation_duration (200)); opacity = 255; restore_easing_state (); } @@ -151,7 +151,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { public override void hide () { opacity = 255; - var duration = AnimationsSettings.get_enable_animations () ? 200 : 0; + var duration = AnimationsSettings.get_animation_duration (200); save_easing_state (); set_easing_duration (duration); opacity = 0; @@ -173,7 +173,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { #else public override bool enter_event (Clutter.CrossingEvent event) { #endif - var duration = AnimationsSettings.get_enable_animations () ? 300 : 0; + var duration = AnimationsSettings.get_animation_duration (300); close_button.save_easing_state (); close_button.set_easing_duration (duration); @@ -193,7 +193,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { #else public override bool leave_event (Clutter.CrossingEvent event) { #endif - var duration = AnimationsSettings.get_enable_animations () ? 300 : 0; + var duration = AnimationsSettings.get_animation_duration (300); close_button.save_easing_state (); close_button.set_easing_duration (duration); @@ -315,7 +315,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { } private void on_close_click_clicked () { - var duration = AnimationsSettings.get_enable_animations () ? FADE_OUT_TIMEOUT : 0; + var duration = AnimationsSettings.get_animation_duration (FADE_OUT_TIMEOUT); save_easing_state (); set_easing_duration (duration); @@ -449,7 +449,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { var screen_limit_start_y = SCREEN_MARGIN + monitor_y; var screen_limit_end_y = monitor_height + monitor_y - SCREEN_MARGIN - height; - var duration = AnimationsSettings.get_enable_animations () ? 300 : 0; + var duration = AnimationsSettings.get_animation_duration (300); save_easing_state (); set_easing_mode (Clutter.AnimationMode.EASE_OUT_BACK); @@ -462,7 +462,7 @@ public class Gala.Plugins.PIP.PopupWindow : Clutter.Actor { private bool place_window_off_screen () { off_screen = false; - var duration = AnimationsSettings.get_enable_animations () ? 300 : 0; + var duration = AnimationsSettings.get_animation_duration (300); save_easing_state (); set_easing_mode (Clutter.AnimationMode.EASE_OUT_BACK); diff --git a/src/Widgets/IconGroup.vala b/src/Widgets/IconGroup.vala index 29cd48cd7..671a20783 100644 --- a/src/Widgets/IconGroup.vala +++ b/src/Widgets/IconGroup.vala @@ -165,7 +165,7 @@ namespace Gala { if (animate) { icon.save_easing_state (); icon.set_easing_mode (Clutter.AnimationMode.LINEAR); - icon.set_easing_duration (AnimationsSettings.get_enable_animations () ? 200 : 0); + icon.set_easing_duration (AnimationsSettings.get_animation_duration (200)); icon.opacity = 0; icon.restore_easing_state (); diff --git a/src/Widgets/MultitaskingView.vala b/src/Widgets/MultitaskingView.vala index fba782170..e2eb8f45a 100644 --- a/src/Widgets/MultitaskingView.vala +++ b/src/Widgets/MultitaskingView.vala @@ -871,7 +871,7 @@ namespace Gala { dock.save_easing_state (); dock.set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - dock.set_easing_duration (AnimationsSettings.get_enable_animations () ? ANIMATION_DURATION : 0); + dock.set_easing_duration (AnimationsSettings.get_animation_duration (ANIMATION_DURATION)); dock.y = target_y; dock.restore_easing_state (); }; diff --git a/src/Widgets/WindowClone.vala b/src/Widgets/WindowClone.vala index 256612e39..539bfcbb0 100644 --- a/src/Widgets/WindowClone.vala +++ b/src/Widgets/WindowClone.vala @@ -47,7 +47,7 @@ public class Gala.WindowClone : Clutter.Actor { public bool active { set { active_shape.save_easing_state (); - active_shape.set_easing_duration (AnimationsSettings.get_enable_animations () ? FADE_ANIMATION_DURATION : 0); + active_shape.set_easing_duration (AnimationsSettings.get_animation_duration (FADE_ANIMATION_DURATION)); active_shape.opacity = value ? 255 : 0; active_shape.restore_easing_state (); } @@ -400,7 +400,7 @@ public class Gala.WindowClone : Clutter.Actor { return; } - var duration = AnimationsSettings.get_enable_animations () ? MultitaskingView.ANIMATION_DURATION : 0; + var duration = AnimationsSettings.get_animation_duration (MultitaskingView.ANIMATION_DURATION); save_easing_state (); set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); @@ -485,7 +485,7 @@ public class Gala.WindowClone : Clutter.Actor { return Clutter.EVENT_PROPAGATE; } - var duration = AnimationsSettings.get_enable_animations () ? FADE_ANIMATION_DURATION : 0; + var duration = AnimationsSettings.get_animation_duration (FADE_ANIMATION_DURATION); close_button.save_easing_state (); close_button.set_easing_mode (Clutter.AnimationMode.LINEAR); @@ -507,7 +507,7 @@ public class Gala.WindowClone : Clutter.Actor { #else public override bool leave_event (Clutter.CrossingEvent event) { #endif - var duration = AnimationsSettings.get_enable_animations () ? FADE_ANIMATION_DURATION : 0; + var duration = AnimationsSettings.get_animation_duration (FADE_ANIMATION_DURATION); close_button.save_easing_state (); close_button.set_easing_mode (Clutter.AnimationMode.LINEAR); @@ -643,7 +643,7 @@ public class Gala.WindowClone : Clutter.Actor { active_shape.hide (); var scale = window_icon.width / clone.width; - var duration = AnimationsSettings.get_enable_animations () ? FADE_ANIMATION_DURATION : 0; + var duration = AnimationsSettings.get_animation_duration (FADE_ANIMATION_DURATION); clone.get_transformed_position (out abs_x, out abs_y); clone.save_easing_state (); @@ -701,8 +701,8 @@ public class Gala.WindowClone : Clutter.Actor { var scale = hovered ? 0.4 : 1.0; var opacity = hovered ? 0 : 255; - var duration = hovered && insert_thumb != null ? insert_thumb.delay : 100; - duration = AnimationsSettings.get_enable_animations () ? duration : 0; + uint duration = hovered && insert_thumb != null ? insert_thumb.delay : 100; + duration = AnimationsSettings.get_animation_duration (duration); window_icon.save_easing_state (); @@ -810,7 +810,7 @@ public class Gala.WindowClone : Clutter.Actor { get_parent ().remove_child (this); prev_parent.insert_child_at_index (this, prev_index); - var duration = AnimationsSettings.get_enable_animations () ? MultitaskingView.ANIMATION_DURATION : 0; + var duration = AnimationsSettings.get_animation_duration (MultitaskingView.ANIMATION_DURATION); clone.set_pivot_point (0.0f, 0.0f); clone.save_easing_state (); diff --git a/src/Widgets/WindowIconActor.vala b/src/Widgets/WindowIconActor.vala index f863532bb..5365c127f 100644 --- a/src/Widgets/WindowIconActor.vala +++ b/src/Widgets/WindowIconActor.vala @@ -147,7 +147,7 @@ namespace Gala { new_icon.save_easing_state (); new_icon.set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - new_icon.set_easing_duration (AnimationsSettings.get_enable_animations () ? 500 : 0); + new_icon.set_easing_duration (AnimationsSettings.get_animation_duration (500)); new_icon.restore_easing_state (); if (icon == null) { diff --git a/src/Widgets/WindowSwitcher/WindowSwitcher.vala b/src/Widgets/WindowSwitcher/WindowSwitcher.vala index f14357138..ef59c7e86 100644 --- a/src/Widgets/WindowSwitcher/WindowSwitcher.vala +++ b/src/Widgets/WindowSwitcher/WindowSwitcher.vala @@ -414,7 +414,7 @@ public class Gala.WindowSwitcher : CanvasActor { } save_easing_state (); - set_easing_duration (AnimationsSettings.get_enable_animations () ? ANIMATION_DURATION : 0); + set_easing_duration (AnimationsSettings.get_animation_duration (ANIMATION_DURATION)); opacity = show ? 255 : 0; restore_easing_state (); } diff --git a/src/Widgets/WorkspaceClone.vala b/src/Widgets/WorkspaceClone.vala index b5b3fc484..0d5dca66c 100644 --- a/src/Widgets/WorkspaceClone.vala +++ b/src/Widgets/WorkspaceClone.vala @@ -388,13 +388,13 @@ namespace Gala { save_easing_state (); set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - set_easing_duration (AnimationsSettings.get_enable_animations () ? MultitaskingView.ANIMATION_DURATION : 0); + set_easing_duration (AnimationsSettings.get_animation_duration (MultitaskingView.ANIMATION_DURATION)); set_x (target_x); restore_easing_state (); background.save_easing_state (); background.set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - background.set_easing_duration (AnimationsSettings.get_enable_animations () ? MultitaskingView.ANIMATION_DURATION : 0); + background.set_easing_duration (AnimationsSettings.get_animation_duration (MultitaskingView.ANIMATION_DURATION)); background.set_scale (scale, scale); background.restore_easing_state (); }; @@ -464,13 +464,13 @@ namespace Gala { save_easing_state (); set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - set_easing_duration (AnimationsSettings.get_enable_animations () ? MultitaskingView.ANIMATION_DURATION : 0); + set_easing_duration (AnimationsSettings.get_animation_duration (MultitaskingView.ANIMATION_DURATION)); set_x (target_x); restore_easing_state (); background.save_easing_state (); background.set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - background.set_easing_duration (AnimationsSettings.get_enable_animations () ? MultitaskingView.ANIMATION_DURATION : 0); + background.set_easing_duration (AnimationsSettings.get_animation_duration (MultitaskingView.ANIMATION_DURATION)); background.set_scale (1, 1); background.restore_easing_state (); }; diff --git a/src/Widgets/WorkspaceInsertThumb.vala b/src/Widgets/WorkspaceInsertThumb.vala index 10db5dc92..4a92c6142 100644 --- a/src/Widgets/WorkspaceInsertThumb.vala +++ b/src/Widgets/WorkspaceInsertThumb.vala @@ -84,7 +84,7 @@ public class Gala.WorkspaceInsertThumb : Clutter.Actor { private new void transform (bool expand) { save_easing_state (); set_easing_mode (Clutter.AnimationMode.EASE_OUT_QUAD); - set_easing_duration (AnimationsSettings.get_enable_animations () ? 200 : 0); + set_easing_duration (AnimationsSettings.get_animation_duration (200)); if (!expand) { remove_transition ("pulse"); From daf1b0d6360b372a5ccde9fc4688d188435405d0 Mon Sep 17 00:00:00 2001 From: Leonhard Kargl Date: Sat, 2 Nov 2024 12:33:38 +0100 Subject: [PATCH 2/3] Mark inline --- lib/AnimationsSettings.vala | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/AnimationsSettings.vala b/lib/AnimationsSettings.vala index 12ec2375c..22a8de9d2 100644 --- a/lib/AnimationsSettings.vala +++ b/lib/AnimationsSettings.vala @@ -26,7 +26,7 @@ namespace AnimationsSettings { /** * Utility that returns the given duration or 0 if animations are disabled. */ - public uint get_animation_duration (uint duration) { + public inline uint get_animation_duration (uint duration) { return enable_animations ? duration : 0; } } From addbc0d6f7c24322dd28155ef10e22b2948eeb1e Mon Sep 17 00:00:00 2001 From: Leonhard Kargl Date: Sat, 2 Nov 2024 15:04:27 +0100 Subject: [PATCH 3/3] Use get_enable_animations --- lib/AnimationsSettings.vala | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/AnimationsSettings.vala b/lib/AnimationsSettings.vala index 22a8de9d2..e3247cb06 100644 --- a/lib/AnimationsSettings.vala +++ b/lib/AnimationsSettings.vala @@ -26,7 +26,7 @@ namespace AnimationsSettings { /** * Utility that returns the given duration or 0 if animations are disabled. */ - public inline uint get_animation_duration (uint duration) { - return enable_animations ? duration : 0; + public uint get_animation_duration (uint duration) { + return get_enable_animations () ? duration : 0; } }