138
138
, drag_action_(nux::DNDACTION_NONE)
139
139
, bg_effect_helper_(this)
140
140
, launcher_position_(unity::Settings::Instance().launcher_position())
141
, auto_hide_animation_(Settings::Instance().low_gfx ? 0 : ANIM_DURATION_SHORT)
142
, hover_animation_(Settings::Instance().low_gfx ? ANIM_DURATION_SHORT_SHORT : ANIM_DURATION)
143
, drag_over_animation_(Settings::Instance().low_gfx ? 0 : ANIM_DURATION_LONG)
144
, drag_out_animation_(Settings::Instance().low_gfx ? 0 : ANIM_DURATION_SHORT)
145
, drag_icon_animation_(Settings::Instance().low_gfx ? 0 : ANIM_DURATION_SHORT)
146
, dnd_hide_animation_(Settings::Instance().low_gfx ? 0 : ANIM_DURATION * 3)
147
, dash_showing_animation_(Settings::Instance().low_gfx ? 0 : ANIM_DURATION_DASH_SHOWING)
148
141
, cv_(Settings::Instance().em(monitor))
150
143
icon_renderer_->monitor = monitor();
201
194
Settings::Instance().dpi_changed.connect(sigc::mem_fun(this, &Launcher::OnDPIChanged));
202
Settings::Instance().low_gfx.changed.connect(sigc::track_obj([this] (bool low_gfx) {
203
auto_hide_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_SHORT);
204
hover_animation_.SetDuration(low_gfx ? ANIM_DURATION_SHORT_SHORT : ANIM_DURATION);
205
drag_over_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_LONG);
206
drag_out_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_SHORT);
207
drag_icon_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_SHORT);
208
dnd_hide_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION * 3);
209
dash_showing_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_DASH_SHOWING);
195
Settings::Instance().low_gfx.changed.connect(sigc::hide(sigc::mem_fun(this, &Launcher::UpdateAnimations)));
213
198
auto_hide_animation_.updated.connect(redraw_cb);
214
199
hover_animation_.updated.connect(redraw_cb);
215
200
drag_over_animation_.updated.connect(redraw_cb);
1356
1341
SetLauncherMinimizeWindow(options->minimize_window_on_click);
1357
1342
OnMonitorChanged(monitor);
1349
void Launcher::UpdateAnimations()
1351
bool low_gfx = Settings::Instance().low_gfx();
1353
auto_hide_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_SHORT);
1354
hover_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION);
1355
drag_over_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_LONG);
1356
drag_out_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_SHORT);
1357
drag_icon_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_SHORT);
1358
dnd_hide_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION * 3);
1359
dash_showing_animation_.SetDuration(low_gfx ? 0 : ANIM_DURATION_DASH_SHOWING);
1361
1363
for (auto const& icon : *model_)
1362
1364
SetupIconAnimations(icon);
1740
1741
void Launcher::SetupIconAnimations(AbstractLauncherIcon::Ptr const& icon)
1742
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::VISIBLE, ANIM_DURATION_SHORT, monitor());
1743
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::RUNNING, ANIM_DURATION_SHORT, monitor());
1744
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::ACTIVE, ANIM_DURATION_SHORT, monitor());
1745
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::STARTING, (ANIM_DURATION_LONG * MAX_STARTING_BLINKS * STARTING_BLINK_LAMBDA * 2), monitor());
1746
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::PULSE_ONCE, (ANIM_DURATION_LONG * PULSE_BLINK_LAMBDA * 2), monitor());
1747
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::PRESENTED, ANIM_DURATION, monitor());
1748
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::UNFOLDED, ANIM_DURATION, monitor());
1749
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::SHIMMER, ANIM_DURATION_LONG, monitor());
1750
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::CENTER_SAVED, ANIM_DURATION, monitor());
1751
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::PROGRESS, ANIM_DURATION, monitor());
1752
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::DESAT, ANIM_DURATION_SHORT_SHORT, monitor());
1753
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::GLOW, ANIM_DURATION_SHORT, monitor());
1743
bool display = monitor();
1744
bool low_gfx = Settings::Instance().low_gfx();
1746
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::VISIBLE, low_gfx ? 0 : ANIM_DURATION_SHORT, display);
1747
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::RUNNING, low_gfx ? 0 : ANIM_DURATION_SHORT, display);
1748
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::ACTIVE, low_gfx ? 0 : ANIM_DURATION_SHORT, display);
1749
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::STARTING, (ANIM_DURATION_LONG * MAX_STARTING_BLINKS * STARTING_BLINK_LAMBDA * 2), display);
1750
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::PULSE_ONCE, (ANIM_DURATION_LONG * PULSE_BLINK_LAMBDA * 2), display);
1751
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::PRESENTED, low_gfx ? 0 : ANIM_DURATION, display);
1752
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::UNFOLDED, low_gfx ? 0 : ANIM_DURATION, display);
1753
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::SHIMMER, low_gfx ? ANIM_DURATION_SHORT_SHORT : ANIM_DURATION_LONG, display);
1754
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::CENTER_SAVED, low_gfx ? ANIM_DURATION_SHORT_SHORT : ANIM_DURATION, display);
1755
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::PROGRESS, low_gfx ? ANIM_DURATION_SHORT_SHORT : ANIM_DURATION, display);
1756
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::DESAT, low_gfx ? 0 : ANIM_DURATION_SHORT_SHORT, display);
1757
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::GLOW, low_gfx ? 0 : ANIM_DURATION_SHORT, display);
1755
1759
if (options()->urgent_animation() == URGENT_ANIMATION_WIGGLE)
1756
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::URGENT, (ANIM_DURATION_SHORT * WIGGLE_CYCLES), monitor());
1760
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::URGENT, (ANIM_DURATION_SHORT * WIGGLE_CYCLES), display);
1758
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::URGENT, (ANIM_DURATION_LONG * URGENT_BLINKS * 2), monitor());
1762
icon->SetQuirkDuration(AbstractLauncherIcon::Quirk::URGENT, (ANIM_DURATION_LONG * URGENT_BLINKS * 2), display);
1761
1765
void Launcher::SetModel(LauncherModel::Ptr model)