如何禁用所有Unity动画?


44

如果不可能,则可能只是Dash显示/隐藏动画。我只是发现自己在等待动画,这毫无意义。

Answers:


27

在此处输入图片说明

1.为什么不能在Unity 12.04中禁用此Dash动画

  • 不幸的是,淡入淡出/不透明动画和相关的时间都硬编码在Unity源代码中。
  • 可以在中找到实际代码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插件之外进行了硬编码。

2.备选方案A:切换到Ubuntu 2D

Ubuntu 2D具有不同的Unity Shell代码,在那里,通过Super启动破折号是瞬时的,并且不会使任何动画。

3.备选方案B:使用自定义快捷方式通过单击Ubuntu徽标来启动Dash,从而绕过动画

我们可以利用以下事实:当您通过“开始”按钮启动Dash时,或者如果光标位于启动器栏上/周围,即使按下Super 也不会发生不透明度/淡入淡出动画:

在此处输入图片说明

动画将被延迟,直到光标实际在虚线区域内移动。

  1. xdotool允许键盘和鼠标点击/移动的自动化;用安装sudo apt-get install xdotool
  2. 打开设置...键盘,然后转到快捷方式选项卡。创建一个自定义快捷方式,将其命名为任意名称,并将“命令”设置为:

    xdotool mousemove --sync 25 60 click 1 --delay 100  mousemove restore
    

    在此处输入图片说明

    • 如果屏幕分辨率低于1024x768左右,则可能需要稍微调整坐标(25 60)。
  3. 单击应用。右列将显示“ Disable”,单击它,您将看到“ New Accelerator”:按下快捷键组合。即使在Compiz中将其禁用,也无法选择Super,因为它是Unity硬捕获的。我选择了Ctrl+Alt+Z它,因为它靠近超级键。

  4. 现在,您的快捷方式应该可以更快得多地启动Dash。

    • 这是一个YouTube视频演示。前几次(当左侧的启动器模糊和变暗时)使用SUPER键。然后使用自定义xdotool快捷方式(注意启动器不再进行动画处理,并且破折号显示得更快)

不。我是说Dash。使用超级键调用的“开始菜单”等效项。
2012年

请查看更新@Bucic ...
ish

2
谢谢!赏金是你的!+1为安瓦尔·莎(Anwar Shah)。我特别喜欢替代项B :)至于如何摆弄代码-我想我将拭目以待在12.10中将如何处理它。如果相同,那么在Unity团队中显然存在一些愚蠢的议程,这使他们将可访问性功能作为Unity的默认功能。那是我唯一能想到的解释。无论哪种方式-愚蠢的。
2012年

1
看来Unity 2D和3D已合并?看来替代方法A的方法不再适用于13.04及更高版本(除非我丢失了某些东西,希望如此)。
Dogmatix

1
@Supuhstar然后请分享您无尽的智慧。因为我不能。
Kissaki 2014年

23

安装Compiz Configuration Manager。

Ubuntu软件中心:Compiz Configuration Manager

要么

终奌站: sudo apt-get install compizconfig-settings-manager

安装完成后,打开它并转到Ubuntu Unity Plugin-> Experimental(Tab)

在此处,您可以将设置为Lauch AnimationUrgent Animation然后Dash Blur将其设置为“无”。

将设置Hide AnimationSlide only

如果需要,可以将面板和破折号透明度更改为完全不透明。


所以我知道即使是Dash动画也无法禁用。仅“减少”。当我们使用它时,即使在“ Dash颜色”对话框中将“不透明度”参数设置为255,设置“无模糊”也不会产生模糊,但Dash将是透明的。
2012年

致ÁngelAraya和Dune:Guys,您提供了答案,但根据我的测试,它们不会导致禁用的Dash动画。如果您确信他们会这样做,而失败是我的责任,请大声说出来。
2012年

2
您只需取消ccsm中的“显示动画”复选框。由于讨厌讨厌的动画,我已经做了多年了。
user72421

请添加注释,然后单击Unity Plugin设置中的“启用低图形模式”设置,这似乎解决了一个缓慢的统一破折号问题
rubo77 2015年

这个工作对我来说在14.04(我可以禁用模糊,假“静态模糊”(这似乎是更快)或保持默认的“动态残影”
德米特里ķ

6

抱歉,您不能。此时(2012年7月25日)与Ubuntu 12.04 LTS,有简单的方法来禁用统一动画。(至少没有重新编译)。

而且我不认为,将来的版本中会有禁用动画的选项。因为,Unity的目标之一就是提供令人愉悦的用户体验,而动画被认为是实现这一目标的最佳方法之一。

解决方法:

您可能的解决方法是将破折号动画更改为淡入淡出(因为在我看来,淡入淡出比滑动更快)。您可能还对禁用所有窗口的动画感兴趣。去做这个,

  1. 下载并安装 compizconfig-settings-manager

    sudo apt-get install compizconfig-settings-manager  
    
  2. 通过搜索或在破折号中输入ccsm来打开它。转到Unity插件实验选项卡并更改设置隐藏动画只有淡出

如果要禁用所有窗口中的动画,则可以禁用ccsm中的“ 动画”插件。如果要禁用衰落,请禁用衰落Windows插件。

希望这会有所帮助。


编辑:正如izx在其已编辑答案中所显示的那样,您可以清楚地看到,破折号动画的选项在Unity中进行了硬编码,并且无法使用任何配置选项进行更改,因为这些持续时间不是可以更改的变量。因此,这意味着您必须通过将这些持续时间更改为0 ms来重新编译单位以完全禁​​用动画。


我尝试了此问题中建议的所有内容,再加上将某些时序值减少0.1倍之类的事情,但缺少结果似乎可以确认您的意思。如果可以的话,请提供至少一些半官方消息的链接,以确认您的声明(也许是launchpad错误报告...),这是您的赏金。
2012年

@Bucic我已经编辑了答案,指向izx的答案作为确认的来源。有关详细信息,请参见他的答案。
安瓦尔2012年

2

要添加到ÁngelAraya的说明中,请执行以下操作:通过取消选择AnimationsFading Windows(基本上是除CompizConfig设置管理器中类别(标签)Window Decoration下的所有内容之外的所有内容),可以禁用所有动画Effects


2
这仅禁用了某些Windows动画。破折号似乎仍然淡出和淡出。
2012年

1
致ÁngelAraya和Dune:Guys,您提供了答案,但根据我的测试,它们不会导致禁用的Dash动画。如果您确信他们会这样做,而失败是我的责任,请大声说出来。
2012年

1

我认为在CompizConfig Settings Manager中关闭效果下的衰落窗口可以对Unity有所帮助。(速度上有细微的差别,但仍然有所不同。)

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.