
Ubuntu日本語フォーラム

ログインしていません。
9.04を使ってます。
nautilusの右クリックメニューを編集したいと思っています。検索するとスクリプトを追加する方法がよく出てくるのですが、そうではなく
・メニュー項目の上下への移動
・一部メニューの非表示
がしたいです。
どなたかやり方を教えてください。ご教授お願いします。
オフライン
標準の設定で行なえなければスクリプトかpythonで機能拡張するパターンだと思います。
・メニュー項目の上下への移動
・一部メニューの非表示
求める拡張機能の具体的な表示や動作を書くと実現されやすいかも。
オフライン
ファイルorフォルダを選択して、右クリックすると出てくる「コピー」「切り取り」の間に何か別の項目を入れたいです。
GUIで操作することが多いので両者を間違えることがあります。あと、それらのメニューでの位置自体を移動させたいです。
どうかよろしくお願いします。
オフライン
ツールとしてはnautilus-actions を使用すると右クリックメニューの追加ができますが希望されているような細かいカスタマイズは出来ないようです。
このまま希望の拡張ツールがみつからなければ直接ファイルを書き換えることで希望にほぼ近い状態には出来ます。
設定を反映するのにログアウトしなければイケないので手間が掛かるので全てを試したわけでは無いですが、項目の追加、削除、区切り線の挿入はOKでした。現在分からないのは連続の区切り線と項目と項目の間に空白行を入れる方法です。
この手書きによるカスタマイズとnautilus-actions の組み合わせ等もカスタマイズの幅が広がるかも。
(他に情報が出なければですが)
オフライン
返信どうもありがとうございます。
>希望されているような細かいカスタマイズは出来ないようです。
そうですか。残念です。
>設定を反映するのにログアウトしなければイケないので手間が掛かるので全てを試したわけでは無いですが、
わざわざありがとうございます。一回一回ログアウトするのは面倒ですよね。私も経験ありますが、非常にストレスが溜まりました。
googleなどで検索してスクリプトの追加などのやり方を見たのですが、私には敷居が高いので今回は諦めようと思います。
GUIで簡単に移動させたり、消したりすることができると思っていたのですが甘かったです。
(firefoxのアドオンのmenu editorのようなものを想像してました)
わざわざ回答してくださったみなさん、どうもありがとうございます。
オフライン
googleなどで検索してスクリプトの追加などのやり方を見たのですが、私には敷居が高いので今回は諦めようと思います。
GUIで簡単に移動させたり、消したりすることができると思っていたのですが甘かったです。
(firefoxのアドオンのmenu editorのようなものを想像してました)
手軽なツールはソースからコンパイルするものを作れば良いのですが、取りあえず標準?のGUIツールで補えるようにスクリプトを書いて投稿します(明日の夜か明後日の夜にでも)
スクリプトの実行自体は端折って言えばダブルクリックか端末から $ sh ./スクリプトファイル名 で行なえるので敷居の高さは極力低く出きると思います。
もし目に止まりましたらライブCD等で試して見てください。
(う~ん内容はGUIで既存の項目の表示、非表示、順序を指定。バックグランドで設定ファイルを作成)
オフライン
内容はGUIで既存の項目の表示、非表示、順序を指定。バックグランドで設定ファイルを作成
おぉ。どうもありがとうございます。リリースされた暁には是非ともライブCDで試してみます!
オフライン
取りあえず出来ましたが、細部の修正と上手くいかない箇所の変更(誤魔化し:P )や確認作業をしていたら頭が混乱してきたので細部、及び全体の見直しは中断です。
環境の変更が要らないようにダイアログ形式のみで行なおうとしましたが、予期せぬ操作に対するエラーの対策にはかなりの範囲で行き届かないです(私の能力的な問題なのですが:( )
使い方としては最初にバックアップを取るダイアログがでます。
次に一行テキストが現れますので、右クリックに登録する項目を書き込みます。
項目は2つのアルファベットで表してコロン(:)で区切ります。
スクリプト実行後のホームフォルダのRclickpopupフォルダに有るGuide.txtに詳細?が書かれています。
例)コピーは Cp , プロパティは Pr , 区切り(境界)線は Se ,となっています。
それを左から任意の順に書き込みコロンで区切ります。
Cp:Se:Pr:Se:Na:Op:Se:Ic
と入力すると
----------------
コピー
----------------
プロパティ
----------------
名前の変更
~で開く
別~で開く
----------------
アイコンの拡大
----------------
この様な感じに仕上がります。
(空白の挿入はまだ手を付けていません)
OKを押すと新しい一行テキストが現れます。
先ほど記入した右クリックの設定に名前をつけて保存されるので好きなファイル名を書き込んでOKを押してください。
(通常OSで使用できるファイル名のみです)
設定ファイルは幾つかのパターンを保存することが出来ます。
新規に作った設定や、複数作成した設定ファイルを選び適用させるためには別のスクリプト(ファイル名Tool)をホームフォルダのRclickpopupフォルダに配置して実行します。
ファイル選択ダイアログが開きますので任意の設定ファイルを選んでOK、もしくはダブルクリックで自動的にシステム内のファイルと置き換わります。
(本体のスクリプトはpopupと名づけました。)
本体スクリプトをテキストファイルにコピペして名前を付けて自由です)保存。
右クリックからプロパティを選択します。
アクセス権のタブを開き、プログラムとして実行出きるにチェックを入れます。
popup(仮名)をダブルクリックして端末内で実行するを選ぶと前出の設定用の一行テキストが現れます。
スクリプトファイル(Tool)も同様にテキストファイルにコピペして処理をしますが、ホームフォルダのRclickpopupフォルダにファイル名Toolで配置して下さい(しなくても良かったかも、少し色んなテストとゴチャゴチャになって忘れてしまった:) )
後はデスクトップ等にショートカットの用なものを作るかその都度スクリプトファイルをダブルクリックでOKです。
内部のコマンド等は恥ずかしくて見せられたものではないですが結構好きでやっているので気に召さなければ優しくボツにして下さい。
オフライン
popup
#!/bin/bash
sw=1
check=0
cd /usr/share/nautilus/ui
if test -e "nautilus-directory-view-ui.xml.back"
then
check=1
else
zenity --info --text="Making of backup : /usr/share/nautilus/ui/nautilus-directory-view-ui.xml.back"
mkdir -p $HOME/Rclickpopup $HOME/Rclickpopup/tmp
cat > $HOME/Rclickpopup/tmp1 << EOF
<ui>
<accelerator action="OpenAccel"/>
<accelerator action="OpenCloseParent"/>
<accelerator action="PropertiesAccel"/>
<accelerator action="RenameSelectAll"/>
<menubar name="MenuBar">
<menu action="File">
<placeholder name="New Items Placeholder">
<menuitem name="New Folder" action="New Folder"/>
<menu action="New Documents">
<menuitem name="No Templates" action="No Templates"/>
<placeholder name="New Documents Placeholder"/>
<separator name="After New Documents"/>
<menuitem name="New Empty File" action="New Empty File"/>
</menu>
<menuitem name="New Launcher" action="New Launcher"/>
</placeholder>
<placeholder name="Open Placeholder">
<menuitem name="Open" action="Open"/>
<menuitem name="OpenInNewTab" action="OpenInNewTab"/>
<menuitem name="OpenAlternate" action="OpenAlternate"/>
<placeholder name="Applications Placeholder">
</placeholder>
<menu action="Open With">
<placeholder name="Applications Placeholder"/>
<separator name="Open With Separator"/>
<menuitem name="OtherApplication" action="OtherApplication1"/>
</menu>
<placeholder name="OtherApplicationPlaceholder">
<menuitem name="OtherApplication" action="OtherApplication2"/>
</placeholder>
<menu action="Scripts">
<placeholder name="Scripts Placeholder"/>
<separator name="After Scripts"/>
<menuitem name="Open Scripts Folder" action="Open Scripts Folder"/>
</menu>
</placeholder>
<placeholder name="File Items Placeholder">
<menuitem name="Self Mount Volume" action="Self Mount Volume"/>
<menuitem name="Self Unmount Volume" action="Self Unmount Volume"/>
<menuitem name="Self Eject Volume" action="Self Eject Volume"/>
<menuitem name="Self Format Volume" action="Self Format Volume"/>
<menuitem name="Self Start Volume" action="Self Start Volume"/>
<menuitem name="Self Stop Volume" action="Self Stop Volume"/>
<menuitem name="Self Poll" action="Self Poll"/>
<separator name="Properties Separator"/>
<menuitem name="Properties" action="Properties"/>
</placeholder>
<placeholder name="Global File Items Placeholder">
<menuitem name="Empty Trash" action="Empty Trash"/>
<menuitem name="Save Search" action="Save Search"/>
<menuitem name="Save Search As" action="Save Search As"/>
</placeholder>
</menu>
<menu action="Edit">
<placeholder name="Clipboard Actions">
<menuitem name="Cut" action="Cut"/>
<menuitem name=" " action=""/>
<menuitem name="Copy" action="Copy"/>
<menuitem name="Paste" action="Paste"/>
</placeholder>
<placeholder name="Select Items">
<menuitem name="Select All" action="Select All"/>
<menuitem name="Select Pattern" action="Select Pattern"/>
<menuitem name="Invert Selection" action="Invert Selection"/>
</placeholder>
<placeholder name="File Items Placeholder">
<menuitem name="Duplicate" action="Duplicate"/>
<menuitem name="Create Link" action="Create Link"/>
<menuitem name="Rename" action="Rename"/>
</placeholder>
<placeholder name="Dangerous File Items Placeholder">
<menuitem name="Trash" action="Trash"/>
<menuitem name="Delete" action="Delete"/>
<menuitem name="Restore From Trash" action="Restore From Trash"/>
</placeholder>
<placeholder name="Extension Actions"/>
</menu>
<menu action="View">
<placeholder name="View Preferences Placeholder">
<menuitem name="Reset to Defaults" action="Reset to Defaults"/>
<menuitem name="Show Hidden Files" action="Show Hidden Files"/>
</placeholder>
</menu>
</menubar>
<popup name="background">
<placeholder name="Before Zoom Items">
<placeholder name="New Object Items">
<menuitem name="New Folder" action="New Folder"/>
<menuitem name="New Launcher" action="New Launcher"/>
<menu action="New Documents">
<menuitem name="No Templates" action="No Templates"/>
<placeholder name="New Documents Placeholder"/>
<separator name="After New Documents"/>
<menuitem name="New Empty File" action="New Empty File"/>
</menu>
<menu action="Scripts">
<placeholder name="Scripts Placeholder"/>
<separator name="After Scripts"/>
<menuitem name="Open Scripts Folder" action="Open Scripts Folder"/>
</menu>
</placeholder>
<separator name="View items separator"/>
<placeholder name="View Items"/>
<separator name="Clipboard separator"/>
<placeholder name="File Clipboard Actions">
<menuitem name="Paste" action="Paste"/>
</placeholder>
</placeholder>
<separator name="Folder Items separator"/>
<placeholder name="Folder Items Placeholder">
<menuitem name="Self Mount Volume" action="Self Mount Volume"/>
<menuitem name="Self Unmount Volume" action="Self Unmount Volume"/>
<menuitem name="Self Eject Volume" action="Self Eject Volume"/>
<menuitem name="Self Format Volume" action="Self Format Volume"/>
<menuitem name="Self Start Volume" action="Self Start Volume"/>
<menuitem name="Self Stop Volume" action="Self Stop Volume"/>
<menuitem name="Self Poll" action="Self Poll"/>
<separator name="Properties separator"/>
<menuitem name="SelfProperties" action="SelfProperties"/>
</placeholder>
</popup>
<popup name="location">
<placeholder name="Open Placeholder">
<menuitem name="LocationOpenInNewTab" action="LocationOpenInNewTab"/>
<menuitem name="LocationOpenAlternate" action="LocationOpenAlternate"/>
<menuitem name="LocationOpenFolderWindow" action="LocationOpenFolderWindow"/>
</placeholder>
<separator name="Location After Open Separator"/>
<placeholder name="Clipboard Actions">
<menuitem name="Cut" action="LocationCut"/>
<menuitem name="Copy" action="LocationCopy"/>
<menuitem name="LocationPasteFilesInto" action="LocationPasteFilesInto"/>
</placeholder>
<separator name="Location After Clipboard Separator"/>
<placeholder name="Dangerous File Actions">
<menuitem name="Trash" action="LocationTrash"/>
<menuitem name="Delete" action="LocationDelete"/>
<menuitem name="Restore From Trash" action="LocationRestoreFromTrash"/>
</placeholder>
<separator name="Location After Dangerous Separator"/>
<menuitem name="Location Mount Volume" action="Location Mount Volume"/>
<menuitem name="Location Unmount Volume" action="Location Unmount Volume"/>
<menuitem name="Location Eject Volume" action="Location Eject Volume"/>
<menuitem name="Location Format Volume" action="Location Format Volume"/>
<menuitem name="Location Start Volume" action="Location Start Volume"/>
<menuitem name="Location Stop Volume" action="Location Stop Volume"/>
<menuitem name="Location Poll" action="Location Poll"/>
<separator name="Properties Separator"/>
<menuitem name="LocationProperties" action="LocationProperties"/>
</popup>
EOF
sudo cp nautilus-directory-view-ui.xml nautilus-directory-view-ui.xml.back
cat > $HOME/Rclickpopup/OpenTool << EOF
<placeholder name="Open Placeholder">
<menuitem name="Open" action="Open"/>
<menuitem name="OpenInNewTab" action="OpenInNewTab"/>
<menuitem name="OpenAlternate" action="OpenAlternate"/>
<menuitem name="OpenFolderWindow" action="OpenFolderWindow"/>
<separator name="applications separator"/>
<placeholder name="Applications Placeholder"/>
<menu action="Open With">
<placeholder name="Applications Placeholder"/>
<separator name="open with separator"/>
<menuitem name="OtherApplication" action="OtherApplication1"/>
</menu>
<placeholder name="OtherApplicationPlaceholder">
<menuitem name="OtherApplication2" action="OtherApplication2"/>
</placeholder>
<menu action="Scripts">
<placeholder name="Scripts Placeholder"/>
<separator name="After Scripts"/>
<menuitem name="Open Scripts Folder" action="Open Scripts Folder"/>
</menu>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Cut <<EOF
<placeholder name="File Clipboard Actions">
<menuitem name="Cut" action="Cut"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Copy << EOF
<placeholder name="File Clipboard Actions">
<menuitem name="Copy" action="Copy"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Paste << EOF
<placeholder name="File Clipboard Actions">
<menuitem name="Paste Files Into" action="Paste Files Into"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Link << EOF
<placeholder name="File Actions">
<menuitem name="Create Link" action="Create Link"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Rename << EOF
<placeholder name="File Actions">
<menuitem name="Rename" action="Rename"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Trash << EOF
<placeholder name="Dangerous File Actions">
<menuitem name="Trash" action="Trash"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Icon << EOF
<placeholder name="Icon Appearance Items">
</placeholder>
EOF
cat > $HOME/Rclickpopup/Extension << EOF
<placeholder name="Extension Actions"/>
EOF
cat > $HOME/Rclickpopup/Removable << EOF
<placeholder name="Removable Media Placeholder">
<menuitem name="Mount Volume" action="Mount Volume"/>
<menuitem name="Unmount Volume" action="Unmount Volume"/>
<menuitem name="Eject Volume" action="Eject Volume"/>
<menuitem name="Format Volume" action="Format Volume"/>
<menuitem name="Start Volume" action="Start Volume"/>
<menuitem name="Stop Volume" action="Stop Volume"/>
<menuitem name="Poll" action="Poll"/>
</placeholder>
EOF
cat > $HOME/Rclickpopup/Properties << EOF
<menuitem name="Properties" action="Properties"/>
EOF
cat > $HOME/Rclickpopup/Separator << EOF
<separator name="Separator"/>
EOF
cat > $HOME/Rclickpopup/end << EOF
</popup>
</ui>
EOF
mkdir $HOME/Rclickpopup/Custom
check=1
cat > $HOME/Rclickpopup/Guide.txt << EOF
Op = OpenTool = ”開く”
Cu = Cut = 切り取り
Cp = Copy = コピー
Pa = Paste = 貼り付け
Li = Link = リンクの作成
Na = Name = 名前の変更
Tr = Trash = ゴミ箱
Ic = Icon = アイコンのリサイズ
Ex = Extension = 拡張スペース
Re = Removable = マウント
Pr = Properties= プロパティ
Se = separator = 区切り線
一行テキスト入力が表示されます。
左端の大文字小文字で構成されている2文字を任意の順番に入力して下さい。
構成文字と文字の間をコロンで区切ります。
例)
デフォルトの設定
------------------------------------------------------
Op:Se:Cu:Cp:Pa:Se:Li:Na:Se:Tr:Se:Ic:Se:Ex:Se:Re:Se:Pr
------------------------------------------------------
*注)例ではデフォルトとありますが幾つか用意されていない設定が有ります。
完全なデフォルトはバックアップの復元か手書きでの設定の変更を必要とします。
EOF
fi
if test $check -eq 1
then
echo '<popup name="selection">' > $HOME/Rclickpopup/begin
Edit=$(zenity --entry --text="")
if test $Edit -n
then
zenity --error --text="中止します"
exit
fi
Entry=$(echo $Edit|sed -e 's/:/ /g')
echo $Entry > $HOME/Rclickpopup/tmp/Entry
cat $HOME/Rclickpopup/tmp/Entry |sed -e 's/Op/OpenTool/g' |cat > $HOME/Rclickpopup/tmp/Entry1
cat $HOME/Rclickpopup/tmp/Entry1 |sed -e 's/Cu/Cut/g' |cat > $HOME/Rclickpopup/tmp/Entry
cat $HOME/Rclickpopup/tmp/Entry |sed -e 's/Cp/Copy/g' |cat > $HOME/Rclickpopup/tmp/Entry1
cat $HOME/Rclickpopup/tmp/Entry1 |sed -e 's/Pa/Paste/g' |cat > $HOME/Rclickpopup/tmp/Entry
cat $HOME/Rclickpopup/tmp/Entry |sed -e 's/Li/Link/g' |cat > $HOME/Rclickpopup/tmp/Entry1
cat $HOME/Rclickpopup/tmp/Entry1 |sed -e 's/Na/Name/g' |cat > $HOME/Rclickpopup/tmp/Entry
cat $HOME/Rclickpopup/tmp/Entry |sed -e 's/Tr/Trash/g' |cat > $HOME/Rclickpopup/tmp/Entry1
cat $HOME/Rclickpopup/tmp/Entry1 |sed -e 's/Ic/Icon/g'|cat > $HOME/Rclickpopup/tmp/Entry
cat $HOME/Rclickpopup/tmp/Entry |sed -e 's/Ex/Extension/g' |cat > $HOME/Rclickpopup/tmp/Entry1
cat $HOME/Rclickpopup/tmp/Entry1 |sed -e 's/Re/Removable/g' |cat > $HOME/Rclickpopup/tmp/Entry
cat $HOME/Rclickpopup/tmp/Entry |sed -e 's/Pr/Properties/g' |cat > $HOME/Rclickpopup/tmp/Entry1
cat $HOME/Rclickpopup/tmp/Entry1 |sed -e 's/Se/Separator/g' |cat > $HOME/Rclickpopup/tmp/Entry
cd $HOME/Rclickpopup
create='cat '$(cat $HOME/Rclickpopup/tmp/Entry)
$create > $HOME/Rclickpopup/tmp/new.conf
cat tmp1 begin $HOME/Rclickpopup/tmp/new.conf end > $HOME/Rclickpopup/tmp/new.xml
fl=0
while [ $fl -eq 0 ]
do
file=$(zenity --entry --text='作成した設定ファイルを保存します
名前を付けてください')
if test $? -eq 1
then
zenity --error --text='キャンセル出来ません'
fi
if test $file -n
then
zenity --error --text='ファイルネームが未入力です'
else
break
fi
done
cp ./tmp/new.xml ./Custom/$file
zenity --info --text="$HOME/Rclickpopup/Custom/$file"[保存しました]
rm $HOME/Rclickpopup/tmp/*
sw=0
fi
#chmod a+x $HOME/Rclickpopup/exchange
#chmod a+x $HOME/Rclickpopup/Tool
#if test $sw -eq 0
#then
# $HOME/Rclickpopup/Tool
#fiオフライン
張り付けて築きましたがオリジナルの復元も有りますが動作未確認です。
あっ、コメントアウトしている、、、
すみません、色々あって何をどこまでしていたのかよく分からなくなってしっまたので寝ます。
おやすみなさい。
あっ、書き忘れです。設定の反映はnautilusの再起動ではなく一度ログアウトする必要が有るみたいです。
それと項目のEx としている部分はnautilus-actionsが自動で登録する場所や、デフォルトでも設定には無いですが「送る」「圧縮」「暗号化」など、どこかに有る別の設定を表示する為の領域の様です。
Tool
#!/bin/bash
ch=$(zenity --list --radiolist --column " " --column "Item" TRUE Exchange FALSE Restoration)
if [ $ch = 'Exchange' ]
then
sudo chmod g+w /usr/share/nautilus/ui/nautilus-directory-view-ui.xml
custom=$(zenity --file-selection --filename=$HOME/Rclickpopup/Custom/)
sudo cp -f $custom /usr/share/nautilus/ui/nautilus-directory-view-ui.xml
sudo chmod g-w /usr/share/nautilus/ui/nautilus-directory-view-ui.xml
exit
break
else
zenity --question --text='オリジナルバックアップの復元!'
if test $? -eq 0
then
cd /usr/share/nautilus/ui
#sudo cp -f ./nautilus-directory-view-ui.xml.back ./nautilus-directory-view-ui.xml
fi
fiオフライン