隐藏其中一个工作区上的 gnome-panel

隐藏其中一个工作区上的 gnome-panel

我目前在 Ubuntu 10.10 和 compiz 上使用 2 个工作区。

是否可以从其中一个工作区中完全移除 gnome 面板?我希望在第二个工作区中有一个干净的桌面,在第一个工作区中有一个带面板的常规桌面。这可能吗?

答案1

(更新)...我刚刚修复了一个“错误”,其中脚本(如下)会仅有的查找“panel_6”
...此外,该脚本仅适用于单显示器系统......
但是,进一步研究一下,它可能适用于双/多显示器。...
这里有一个关于第二台显示器上的面板的链接......
......移动面板(屏幕之间)
... 我不确定这是否是您想要的,但它似乎更适合多显示器。

假设没有“内置”方法来做到这一点,就像情况似乎那样,我已经编写了一个脚本来“有点”做到这一点......它只是将您选择的面板设置为自动隐藏...并且您可以通过参数选择哪个工作区。

您可以将脚本绑定到 Compiz 当前用于切换工作空间的相同键...

如果您使用任何其他方法进入下一个工作区,它将不起作用,但您也可以使用脚本来打开/关闭面板...(哎呀!我今天没有时间完成那部分... :(

我还没有对它进行微调,但它确实有效(在一定程度上)。它可能适合你,也可能不适合你。
(你需要控制端 安装 wmctrl

目前的脚本如下:


#!/bin/bash  

# Arg1: A capital letter; L or R .. to indicate the Left or Right direction for next work-space
#
# Arg[*]: Each arg, after the first, is the number (1-based) of a work-space for which you wish to hide the panel(s)
#         If no args are supplied, the current state will be toggled; show/hide ... hide/show
#
# Choose your panel identifiers by opening gconf-editor with this command:
# 
#    gconf-editor /apps/panel/toplevels/
#
# You can test each of the listed panels by clicking in the "Value" checkbox 
#  of the "auto-hide" item... 
#
# Then add the Panel-IDs which you want to be hidden,
#  as shown here  

panels="panel_6 panel_6" # I only use one panel, so I've just repeated it to make an "example" list  
######

dir=$1;
valids="LR" 
if [ "${valids/${dir}/}" != "$valids" ]
then shift 1
else exit 1
fi

eval $(wmctrl -d |sed -n "s/.*DG: \([0-9]\+\)x[0-9]\+ \+VP: \([0-9]\+\),.* \([0-9]\+\)x[0-9]\+ .*/wmax=\$(((\1\/\3))); wcur=\$(((\2\/\3)+1)); wide=\3; hide=false/p")

if [ "$wcur" -eq "$wmax" ] ; then 
  if [ "$dir" == "R" ] ; then
    wnew=1
  else 
    wnew=$((wcur-1))
  fi
elif [ "$wcur" -eq "1" ] ; then 
  if [ "$dir" == "L" ] ; then
    wnew=$wmax
  else
    wnew=$((wcur+1))
  fi
else
  if [ "$dir" == "R" ] ; then
    wnew=$((wcur+1))
  else
    wnew=$((wcur-1))
  fi
fi

wmctrl -o $(((wnew-1)*wide)),0

for w in $@ ; do
  if [ "$w" -eq "$wnew" ] ; then
    hide=true 
    break
  fi
done

for panel in $panels ; do
  gconftool-2 --set /apps/panel/toplevels/$panel/auto_hide --type bool $hide
done
exit
###############################################################################

答案2

我认为这是不可能的。所有 gnome-panel 设置对于“所有工作区”都是通用的。

编辑:我尝试用谷歌搜索一些信息,但我发现没有针对不同工作区具有不同设置的“替代面板”。 (我尝试过 xfce4-panel、fbpanel 和 pypanel。)

相关内容