【发布时间】:2012-08-16 22:03:08
【问题描述】:
我经常想打开一个文件浏览器打开一个文件然后关闭浏览器。
有没有办法(一个 plasmoid、一个 dolphin 插件、另一个浏览器......)可以让我拥有一个“yakuake 风格的文件浏览器”? (即使用快捷方式展开,并在我选择所需文件时重新折叠)
【问题讨论】:
标签: kde kde4 dolphin-browser
我经常想打开一个文件浏览器打开一个文件然后关闭浏览器。
有没有办法(一个 plasmoid、一个 dolphin 插件、另一个浏览器......)可以让我拥有一个“yakuake 风格的文件浏览器”? (即使用快捷方式展开,并在我选择所需文件时重新折叠)
【问题讨论】:
标签: kde kde4 dolphin-browser
最接近您想要的解决方案是 Widget Layer Compiz 插件。
此插件使您可以在工作区顶部显示一个图层。您可以将此层配置为保存您选择的窗口,在您的情况下,这将是文件管理器。它具有隐藏/显示功能,您可以将其绑定到热键。
它使用窗口匹配规则来定义要保存的窗口。
更多关于http://wiki.compiz.org/Plugins/Widget的信息
但是,这意味着您使用 Compiz 合成管理器。
【讨论】:
花了我一些时间,但终于通过xdotool(在Ubuntu sudo apt-get install xdotool上)得到了你想要的(最终,我也想要:)。
使用此脚本,您可以让任何应用程序按照您的要求运行:
#!/bin/bash
SEARCHED_WINDOW=$1
COMMAND=${2:-$SEARCHED_WINDOW}
SEARCHED_WINDOW_CLASSNAME=toggleApp$SEARCHED_WINDOW
WINDOW_ID=$(xdotool search --classname $SEARCHED_WINDOW_CLASSNAME)
VISIBLE_WINDOW_ID=$(xdotool search --onlyvisible --classname $SEARCHED_WINDOW_CLASSNAME 2>/dev/null)
if [ -z "$WINDOW_ID" ]; then
$COMMAND 2>/dev/null &
pid=$!
NEW_WINDOW_ID=$(xdotool search --onlyvisible --sync --pid $pid 2>/dev/null)
xdotool set_window --classname $SEARCHED_WINDOW_CLASSNAME $NEW_WINDOW_ID
xdotool windowfocus $NEW_WINDOW_ID
elif [ -z "$VISIBLE_WINDOW_ID" ]; then
xdotool windowmap $WINDOW_ID
xdotool windowfocus $WINDOW_ID
else
xdotool windowunmap $VISIBLE_WINDOW_ID
fi
(灵感来自here)
你这样称呼它:
./toggle.sh dolphin
如果启动程序的命令不同,可以添加第二个参数:
./toggle.sh appName commandToLaunchApp
这个脚本的作用如下:
您剩下要做的就是将快捷方式映射到上述命令以启动脚本。在 KDE 中:系统设置 > 快捷方式和手势 > 自定义快捷方式。然后编辑 > 新建 > 全局快捷键 > 命令.
此外,此脚本适用于任何应用程序,应该适用于任何符合 EWMH 的窗口管理器,并允许您拥有同一应用程序的其他实例(这就是我添加类技巧的原因)。
【讨论】: