wim*_*wim 30 gnome browser nautilus window-manager tabs
目前,如果我单击启动器、快捷方式图标等,我将获得一个新的 Nautilus 窗口。如果已经有一个Nautilus窗口打开,我宁愿它在现有窗口的新标签打开(如如果我做了Ctrl+ T,并浏览到新的位置)。我怎样才能做到这一点?
zub*_*uba 19
我为此编写了一个 bash 脚本和一个启动器。
首先,创建文件:
mkdir ~/bin && gedit ~/bin/nautilus-ctrl-t.sh
Run Code Online (Sandbox Code Playgroud)然后粘贴以下内容,并保存:
if [ "$(wmctrl -xl | grep "nautilus\.Nautilus")" == "" ]; then
nautilus "$1" &
else
#Save old clipboard value
oldclip="$(xclip -o -sel clip)"
echo -n "$1" | xclip -i -sel clip
#wmctrl -xF -R nautilus.Nautilus && xdotool key "ctrl+t" "ctrl+l" && xdotool type "${1}" && xdotool key Return
wmctrl -xF -R nautilus.Nautilus && xdotool key ctrl+t ctrl+l ctrl+v Return
#Restore old clipboard value
echo -n "$oldclip" | xclip -i -sel clip
fi
Run Code Online (Sandbox Code Playgroud)然后运行命令:
sudo chmod u+x ~/bin/nautilus-ctrl-t.sh
Run Code Online (Sandbox Code Playgroud)现在,要创建启动器文件,请运行以下命令:
gedit ~/.local/share/applications/Nautilus-Ctrl-t.desktop
Run Code Online (Sandbox Code Playgroud)粘贴以下内容并保存:
[Desktop Entry]
Type=Application
Name=Nautilus-Ctrl-t
Comment=Launches Nautilus if not yet, otherwise opens a new tab in it
Categories=FileManager;GNOME;
Icon=/usr/share/icons/gnome/48x48/apps/system-file-manager.png
Exec=/bin/bash -c ~/bin/nautilus-ctrl-t.sh
Terminal=false
Run Code Online (Sandbox Code Playgroud)注销或重新启动以更新应用程序列表,您就完成了。
试试那个。希望能帮助到你。
更新
添加了一个位置作为脚本参数
更新 2
用 xclip 替换 xdotool 类型
更新 3
通过添加数字清理过程。添加了 mkdir 命令。更新了第一个“if 语句”,因为如果 nautilus 正在管理桌面,它将有一个 pid,但没有活动窗口,因此最好使用 wmctrl。如果有空格,在第一个参数周围添加引号。将 nautilus 的图标更改为 .desktop 文件中的系统默认值。