ish*_*ish 26

unity-5.12/plugins/unityshell/src/ShortcutController.cpp(这是您必须修改和重新编译以摆脱动画的内容)当您使用 Super 键启动 Dash 时,此文件中的一些示例行演示了动画的硬编码:
30:const unsigned int SUPER_TAP_DURATION = 650;
31:const unsigned int FADE_DURATION = 100;
39:,fade_in_animator_(FADE_DURATION)
40:,fade_out_animator_(FADE_DURATION)
65:fade_in_animator_.animation_updated.connect(sigc::mem_fun(this, &Controller::OnFadeInUpdated));
66:fade_in_animator_.animation_ended.connect(sigc::mem_fun(this, &Controller::OnFadeInEnded));
67:fade_out_animator_.animation_updated.connect(sigc::mem_fun(this, &Controller::OnFadeOutUpdated));
68:fade_out_animator_.animation_ended.connect(sigc::mem_fun(this, &Controller::OnFadeOutEnded));
120: show_timer_ = g_timeout_add(SUPER_TAP_DURATION, &Controller::OnShowTimer, this);
149: self->fade_out_animator_.Stop();
150: self->fade_in_animator_.Start(self->view_window_->GetOpacity());
213:fade_in_animator_.Stop();
214:fade_out_animator_.Start(1.0 - view_window_->GetOpacity());
244:.add(“超时时间”,SUPER_TAP_DURATION + FADE_DURATION)
246: .add("about_to_show", (Visible() && !fade_out_animator_.IsRunning() && view_window_ && view_window_->GetOpacity() != 1.0f))
247: .add("about_to_hide", (Visible() && !fade_in_animator_.IsRunning() && view_window_ && view_window_->GetOpacity() != 1.0f))
当然,您必须修补它并在每次新的 Unity 更新时重建...
对 Compiz 的任何干预都无法改变这一点,因为所有这些都是在 Compiz 插件之外进行硬编码的。
Ubuntu 2D 有不同的 Unity Shell 代码,在那里,通过 Super 启动破折号是即时的,并且不会为任何东西设置动画。
我们可以利用这样一个事实,即当您通过“开始”按钮启动 Dash 时,或者如果您的光标位于启动栏上/周围,即使您按下 Super,也不会发生不透明度/淡入淡出动画:

动画将被延迟,直到您的光标实际移动到虚线区域内。
sudo apt-get install xdotool打开设置...键盘,然后转到快捷方式选项卡。创建一个自定义快捷方式,随意命名,并将“命令”设置为:
xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
Run Code Online (Sandbox Code Playgroud)

单击应用。右栏会显示“禁用”,点击它,你会看到“新加速器”:按下你的快捷键组合。你不能选择 Super,即使你在 Compiz 中禁用它,因为它被 Unity 硬捕获。我选择Ctrl+Alt+Z它是因为它靠近 Super 键。
现在,您的快捷方式应该可以更快地启动 Dash。
Áng*_*aya 23
安装 Compiz 配置管理器。
Ubuntu 软件中心:Compiz 配置管理器
或者
终端: sudo apt-get install compizconfig-settings-manager
安装后打开它并进入Ubuntu Unity Plugin-> Experimental(Tab)
从那里你可以设置Lauch Animation,Urgent Animation和Dash Blur`None。
将 设置Hide Animation为Slide only。
如果需要,您可以将面板和虚线透明度更改为完全不透明。
对不起,你不能。此时(2012 年 7 月 25 日)使用 Ubuntu 12.04 LTS,没有简单的方法可以禁用 Unity 动画。(至少没有重新编译)。
而且我不认为,在未来的版本中会有禁用动画的选项。因为,Unity 的目标之一是提供令人愉悦的用户体验,而动画被认为是实现这一目标的最佳方式之一。
您可能的解决方法是将破折号动画更改为淡入淡出(因为在我看来,淡入淡出比滑动快)。您可能还对禁用所有窗口的动画感兴趣。去做这个,
下载并安装 compizconfig-settings-manager
sudo apt-get install compizconfig-settings-manager
Run Code Online (Sandbox Code Playgroud)
通过搜索或在破折号中键入ccsm来打开它。转到Unity 插件?实验选项卡并将Hide animations的设置更改为Fade only。
如果要禁用所有窗口中的动画,可以禁用ccsm 中的Animations插件。如果要禁用 Fading,请禁用Fading windows插件。
希望这会有所帮助。
编辑:正如 izx 在他编辑的答案中显示的那样,您清楚地看到,破折号动画的选项在 Unity 中是硬编码的,并且不能使用任何配置选项更改,因为这些持续时间不是可变的,可以更改。因此,这意味着,您必须通过将这些持续时间更改为 0 毫秒来完全禁用动画来重新编译 unity。
| 归档时间: |
|
| 查看次数: |
74804 次 |
| 最近记录: |