Answers:
unity-5.12/plugins/unityshell/src/ShortcutController.cpp
(这是您必须修改和重新编译才能摆脱动画的代码)使用Super键启动Dash时,此文件中的一些示例行演示了动画的硬编码:
30:const unsigned int SUPER_TAP_DURATION = 650; 31:const无符号整数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:自我-> fade_out_animator_.Stop(); 150:self-> fade_in_animator_.Start(self-> view_window _-> GetOpacity()); 第213章搅动风云(一更) 214:淡出动画_开始(1.0-view_window _-> GetOpacity()); 244:.add(“ timeout_duration”,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
单击应用。右列将显示“ Disable”,单击它,您将看到“ New Accelerator”:按下快捷键组合。即使在Compiz中将其禁用,也无法选择Super,因为它是Unity硬捕获的。我选择了Ctrl+Alt+Z
它,因为它靠近超级键。
现在,您的快捷方式应该可以更快得多地启动Dash。
安装Compiz Configuration Manager。
Ubuntu软件中心:Compiz Configuration Manager
要么
终奌站: sudo apt-get install compizconfig-settings-manager
安装完成后,打开它并转到Ubuntu Unity Plugin
-> Experimental
(Tab)
在此处,您可以将设置为Lauch Animation
,Urgent Animation
然后Dash Blur
将其设置为“无”。
将设置Hide Animation
为Slide only
。
如果需要,可以将面板和破折号透明度更改为完全不透明。
抱歉,您不能。此时(2012年7月25日)与Ubuntu 12.04 LTS,有否简单的方法来禁用统一动画。(至少没有重新编译)。
而且我不认为,将来的版本中会有禁用动画的选项。因为,Unity的目标之一就是提供令人愉悦的用户体验,而动画被认为是实现这一目标的最佳方法之一。
您可能的解决方法是将破折号动画更改为淡入淡出(因为在我看来,淡入淡出比滑动更快)。您可能还对禁用所有窗口的动画感兴趣。去做这个,
下载并安装 compizconfig-settings-manager
sudo apt-get install compizconfig-settings-manager
通过搜索或在破折号中输入ccsm来打开它。转到Unity插件 → 实验选项卡并更改设置隐藏动画到只有淡出。
如果要禁用所有窗口中的动画,则可以禁用ccsm中的“ 动画”插件。如果要禁用衰落,请禁用衰落Windows插件。
希望这会有所帮助。
编辑:正如izx在其已编辑答案中所显示的那样,您可以清楚地看到,破折号动画的选项在Unity中进行了硬编码,并且无法使用任何配置选项进行更改,因为这些持续时间不是可以更改的变量。因此,这意味着您必须通过将这些持续时间更改为0 ms来重新编译单位以完全禁用动画。
要添加到ÁngelAraya的说明中,请执行以下操作:通过取消选择Animations
和Fading Windows
(基本上是除CompizConfig设置管理器中类别(标签)Window Decoration
下的所有内容之外的所有内容),可以禁用所有动画Effects
。