如果不可能,那么也许只是 Dash 显示/隐藏动画。我只是发现自己在等待动画,这是毫无意义的。
答案1
1. 为什么无法在 Unity 12.04 中禁用此 Dash 动画
- 不幸的是,淡入淡出/不透明度动画和相关时间在 Unity 源代码中是硬编码的。
- 实际代码可以在
unity-5.12/plugins/unityshell/src/ShortcutController.cpp
(这是您必须修改并重新编译才能摆脱动画的内容) 此文件中的一些示例行演示了使用 Super 键启动 Dash 时动画的硬编码:
30:const无符号整数SUPER_TAP_DURATION = 650; 31:const无符号整数FADE_DURATION = 100; 39:,淡入动画(淡入淡出持续时间) 40:,淡出动画(淡出持续时间) 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:fade_out_animator_.开始(1.0-view_window_->GetOpacity()); 244: .add(“超时持续时间”,超级点击持续时间+淡入淡出持续时间) 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 启动 dash 是即时的,并且不会产生任何动画。
3. 备选方案 B:使用自定义快捷方式通过单击 Ubuntu Logo 来启动 Dash,从而绕过动画
我们可以利用不透明度/淡入淡出动画没有发生当您通过“开始”按钮启动 Dash 时,或者,如果您的光标位于启动器栏上/周围,即使您按下 Super:
动画将会延迟,直到光标实际移动到破折号区域内。
- 工具允许键盘和鼠标的自动点击/移动;使用以下方式安装
sudo apt-get install xdotool
打开“设置”...“键盘”,然后转到“快捷方式”选项卡。创建一个自定义快捷方式,随意命名,然后将“命令”设置为:
xdotool mousemove --sync 25 60 click 1 --delay 100 mousemove restore
- 如果您的屏幕分辨率低于 1024x768 左右,则可能需要稍微调整坐标 (25 60)。
单击应用。右侧栏将显示“禁用”,单击它,您将看到“新加速器”:按下您的快捷键组合。您不能选择超级,即使您在 Compiz 中禁用它,因为它很难被 Unity 捕获。我
Ctrl+Alt+Z
之所以选择它,是因为它靠近 Super 键。现在您的快捷方式应该可以更快地启动 Dash。
- 这是 Youtube 视频演示。前几次(当左侧启动器变得模糊和变暗时)使用 SUPER 键;然后使用自定义 xdotool 快捷方式(请注意启动器不再动画并且破折号出现得更快)
答案2
安装 Compiz 配置管理器。
Ubuntu 软件中心:Compiz 配置管理器
或者
终端:sudo apt-get install compizconfig-settings-manager
安装后打开它并进入Ubuntu Unity Plugin
-> Experimental
(Tab)
从那里您可以将 和 设置Lauch Animation
为Urgent Animation
“Dash Blur
无”。
将 设置Hide Animation
为Slide only
。
如果您愿意,您可以将面板和仪表板的透明度更改为完全不透明。
答案3
抱歉,你不能。目前(2012 年 7 月 25 日),Ubuntu 12.04 LTS 有不禁用 Unity 动画的简单方法。(至少无需重新编译)。
我不认为将来的版本中会有禁用动画的选项。因为 Unity 的目标之一是提供令人愉悦的用户体验,而动画被认为是实现这一目标的最佳方式之一。
解决方法:
可能的解决方法是将仪表板动画更改为淡入淡出(因为在我看来,淡入淡出比滑动更快)。您可能还想禁用所有窗口的动画。为此,
下载并安装
compizconfig-settings-manager
sudo apt-get install compizconfig-settings-manager
通过搜索或输入来打开中央商务区以破折号显示。前往Unity 插件→实验选项卡并更改设置隐藏动画到仅淡入淡出。
如果你想禁用所有窗口中的动画,你可以禁用动画ccsm 中的插件。如果要禁用褪色,请禁用褪色的窗户插件。
希望这会有所帮助。
编辑:正如 izx 在他的编辑答案您清楚地看到,冲刺动画的选项在 Unity 中是硬编码的,并且无法使用任何配置选项进行更改,因为这些时间持续时间不是可以更改的变量。因此,这意味着,您必须重新编译 Unity,将这些时间持续时间更改为 0 毫秒,才能完全禁用动画。
答案4
我认为在 CompizConfig 设置管理器中关闭效果下的淡入淡出窗口会对 Unity 产生影响。(速度上会有细微的差别,但还是有区别的。)