1

我经常想打开一个文件浏览器打开一个文件然后关闭浏览器。

有没有办法(等离子体,海豚插件,另一个浏览器......)可以让我拥有一个“以”yakuake风格的文件浏览器?(即使用快捷方式展开,并在我选择所需文件时重新折叠)

4

2 回答 2

3

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

(灵感来自这里

你这样称呼它:

./toggle.sh dolphin

如果启动程序的命令不同,可以添加第二个参数:

./toggle.sh appName commandToLaunchApp

该脚本的作用如下:

  1. 如果应用程序没有运行:启动它,给窗口一个特定的类,并给窗口焦点
  2. 如果应用程序正在运行但没有可见窗口:使窗口可见并使其获得焦点
  3. 否则,即应用程序正在运行并且可见:隐藏它。

您剩下要做的就是将快捷方式映射到上述命令以启动脚本。在 KDE 中:系统设置>快捷方式和手势>自定义快捷方式。然后Edit > New > Global shortcut > Command

此外,此脚本适用于任何应用程序,应该适用于任何符合EWMH的窗口管理器,并允许您拥有同一应用程序的其他实例(这就是我添加类技巧的原因)。

于 2013-08-17T12:09:18.397 回答
1

最接近您想要的解决方案是 Widget Layer Compiz 插件。

该插件使您可以在工作区顶部显示一个图层。您可以将此层配置为保存您选择的窗口,在您的情况下,这将是文件管理器。它具有隐藏/显示功能,您可以将其绑定到热键。

它使用窗口匹配规则来定义要保存的窗口。

有关http://wiki.compiz.org/Plugins/Widget的更多信息

但是,这意味着您使用 Compiz 合成管理器。

于 2012-08-22T10:05:46.490 回答