初めて zenity を使ってみたので、例によって動作の保証はありません。
スクリプトは読むだけにして、使わないでください。
#!/bin/bash
#mouse_setting_lz01
#ユーザの確認及びパスの設定
current_user=$(whoami)
rc_path="/home/""$current_user""/.gtkrc-2.0"
ini_path="/home/""$current_user""/.config/gtk-3.0/settings.ini"
#ユーザのホームディレクトリに.gtkrc-2.0が存在するかを確認し、無ければ作成して値を書き込み
if [ ! -e "$rc_path" ];then
echo -n > $rc_path
echo "gtk-double-click-time=250" > $rc_path
fi
def_time_str=$(grep "gtk-double-click-time" $rc_path)
if [ "$def_time_str" = "" ];then
echo "gtk-double-click-time=250" >> $rc_path
def_time_str=$(grep "gtk-double-click-time" $rc_path)
fi
def_time_value=$(echo $def_time_str | cut -c 23-${#def_time_str})
#ユーザの.config/gtk-3.0ディレクトリにsettings.iniが存在するかを確認し、無ければ作成して値を書き込み
if [ ! -e "$ini_path" ];then
echo -n > $ini_path
echo "[Settings] " > $ini_path
echo "gtk-double-click-time=250" >> $ini_path
fi
def_time_str_ini=$(grep "gtk-double-click-time" $ini_path)
if [ "$def_time_str_ini" = "" ];then
echo "gtk-double-click-time=250" >> $ini_path
fi
#zenityのscaleを使って値を変更
new_time_value=$(zenity --scale --text="ダブルクリックの間隔を設定(ミリ秒)" --min-value=250 --max-value=1500 --value=$def_time_value)
#ダブルクリック間隔変更、設定
if [ "$?" = "0" ];then
new_time_str="gtk-double-click-time=""$new_time_value"
if [ "$def_time_str" != "$new_time_str" ];then
sed --in-place --expression=s/$def_time_str/$new_time_str/ $rc_path
sed --in-place --expression=s/$def_time_str/$new_time_str/ $ini_path
zenity --info --text="設定を変更しました。再起動してください"
else
zenity --info --text="設定の変更はありません"
fi
else
zenity --info --text="キャンセルしました"
fi

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