web-dev-qa-db-ja.com

ワークスペースの1つでgnomeパネルを非表示にします

現在、Ubuntu 10.10およびcompizで2つのワークスペースを使用しています。

ワークスペースの1つからgnomeパネルを完全に削除することは可能ですか? 2番目のワークスペースで作業するクリーンなデスクトップと、最初のワークスペースにパネルがある通常のデスクトップが欲しいです。それはまったく可能ですか?

4
Malabarba

(更新)...スクリプト(下)がonlyが「panel_6」を探す「バグ」を修正しました。
...また、このスクリプトはシングルモニターシステムでのみ使用されます...
...しかし、もう少し詳しく調べてみると、デュアル/マルチモニターで可能かもしれません。
...ここに、2番目のモニターのパネルに関するリンクがあります...
... パネル間(画面間)の移動
[。

それを行うための「ビルトイン」方法がないと仮定して、私はそれを「ソート」するスクリプトを作成しました...それは単にあなたの選択したパネルを自動に設定します-hide ...そして、引数を介してワークスペースを選択できます。

Compizがワークスペースの切り替えに現在使用しているのと同じキーにスクリプトをバインドできます...

他の方法を使用して次のワークスペースに移動する場合は機能しませんが、スクリプトを使用してパネルのオン/オフを切り替えることもできます...(今日は時間がありません!そのビットを終了するには... :(

まだ微調整していませんが、機能します(ある程度まで)。あなたに合っているかもしれないし、そうでないかもしれません。
wmctrlInstall 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
###############################################################################
3
Peter.O

これは不可能だと思います。すべてのgnomeパネルの設定は、「すべてのワークスペース」に共通です。

編集:いくつかの情報をグーグルで検索しようとしましたが、ワークスペースごとに設定が異なる「代替パネル」はないようです。 (xfce4-panel、fbpanel、pypanelを試しました。)

2
Vojtech Trefny