Puppy Linuxでダブルクリックの調整方法が分かったので、それをGUIでやってみたいと思った。
前回Ideskの壁紙変更スクリプト(今見たら、ひどいミスがあったので、いずれ直したい)を
書いてから数年が経過しているので、また「初めてのおつかい」状態。
シェルスクリプト、gtkdialogを使ってみる。
※ 注意 ※
0)Precise Puppy 5.7.1JP でしか動作確認していません。
1)動作の保証はしません。
2)隠しファイル(.gtkrc.mine)の操作をしています。
3)ダブルクリックの設定は隠しファイル(.gtkrc-2.0)と競合しています。
4)設定を反映させるには、再起動が必要です。
5)最悪の場合、Puppy Linux自体の不具合が起こります。
よって、スクリプトは読むだけにしてください
以上宜しくお願いします。
#! /bin/bash
if test ! -e /root/.gtkrc.mine;then
touch /root/.gtkrc.mine
echo "gtk-double-click-time=250" > /root/.gtkrc.mine
echo "gtk-double-click-distance=5" >> /root/.gtkrc.mine
fi
def_time_str=`grep 'gtk-double-click-time' /root/.gtkrc.mine`
if [ "$def_time_str" = "" ]; then
echo "gtk-double-click-time=250" >> /root/.gtkrc.mine
def_time_str=`grep 'gtk-double-click-time' /root/.gtkrc.mine`
fi
def_time_value=`echo $def_time_str | cut -c 23-${#def_time_str}`
def_time_tag="<default>"$def_time_value"</default>"
def_distance_str=`grep 'gtk-double-click-distance' /root/.gtkrc.mine`
if [ "$def_distance_str" = "" ]; then
echo "gtk-double-click-distance=5" >> /root/.gtkrc.mine
def_distance_str=`grep 'gtk-double-click-distance' /root/.gtkrc.mine`
fi
def_distance_value=`echo $def_distance_str | cut -c 27-${#def_distance_str}`
def_distance_tag="<default>"$def_distance_value"</default>"
export ok_action='
new_time_str="gtk-double-click-time="$TIME
new_distance_str="gtk-double-click-distance="$DISTANCE
if [ '$def_time_str' = "$new_time_str" -a '$def_distance_str' = "$new_distance_str" ];then
mes0="設定が変更されていません"
mes1="何もせずに終了します"
else
sed --in-place --expression=s/'$def_time_str'/$new_time_str/ /root/.gtkrc.mine
sed --in-place --expression=s/'$def_distance_str'/$new_distance_str/ /root/.gtkrc.mine
mes0="設定ファイル.gtkrc.mineを書き換えました"
mes1="Xサーバをリスタートして効果を確認してください"
fi
export SUB_DIALOG="
<window title=\"Double Click Adjust\" width_request=\"400\" height_request=\"200\">
<vbox>
<text height-request=\"50\">
<label>"$mes0"</label>
</text>
<text height-request=\"50\">
<label>"$mes1"</label>
</text>
<button height-request=\"80\"><label>閉じる</label>
<action type=\"exit\">exit</action>
</button>
</vbox>
</window>"
gtkdialog -c --program SUB_DIALOG
'
export MAIN_DIALOG='
<window title="Double Click Adjust" width_request="400" height_request="200">
<vbox>
<text>
<label>ダブルクリック調整用スライダー</label>
</text>
<frame 間隔(ミリ秒)>
<hscale range-min="250" range-max="2000" range-step="1">
'$def_time_tag'
<variable>TIME</variable>
</hscale>
</frame>
<frame 距離(ピクセル)>
<hscale range-min="5" range-max="100" range-step="1">
'$def_distance_tag'
<variable>DISTANCE</variable>
</hscale>
</frame>
<hbox>
<button ok>
<action>bash -c "$ok_action"</action>
<action type="exit">exit</action>
</button>
<button cancel></button>
</hbox>
</vbox>
</window>'
gtkdialog -c --program MAIN_DIALOG




0 件のコメント :
コメントを投稿