単純に数値を入力するタイプを作ってみた。
※ 注意 ※
0)Precise Puppy 5.7.1JPとPuppy Linux 4.3.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 std\" width_request=\"300\" 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>"
- gtkdialog3 -c --program SUB_DIALOG
- '
- export MAIN_DIALOG='
- <window title="Double Click Adjust std" width_request="300" height_request="200">
- <vbox>
- <text>
- <label>ダブルクリック調整用</label>
- </text>
- <frame 間隔(ミリ秒)>
- <hbox>
- <text>
- <label>数値を入力(推奨値:250〜1000)</label>
- </text>
- <entry>
- '$def_time_tag'
- <variable>TIME</variable>
- </entry>
- </hbox>
- </frame>
- <frame 距離(ピクセル)>
- <hbox>
- <text>
- <label>数値を入力(推奨値:5〜30) </label>
- </text>
- <entry>
- '$def_distance_tag'
- <variable>DISTANCE</variable>
- </entry>
- </hbox>
- </frame>
- <hbox>
- <button ok>
- <action>bash -c "$ok_action"</action>
- <action type="exit">exit</action>
- </button>
- <button cancel></button>
- </hbox>
- </vbox>
- </window>'
- gtkdialog3 -c --program MAIN_DIALOG
>Puppy Linuxでダブルクリックの調整方法が分かったので、それをGUIでやってみたいと思った。
返信削除ありがとう御座います 探していたものが見つかりました
ところで 上 と 下 どちらが新しいものですか?
他のlinux に移植したいのですが puppy ではrootスル−ですが他のlinuxでは権限が拒否されて
うまくできません
どのようにすれば良いのでしょうか?
コメント有難うございます。
削除>上と下どちらが新しいものですか?
済みません、「上と下」が何を指しているのか分かりません。
ここにある「数値入力型」はgtkdialogのスライダーが使えないバージョン用です。
スライダーが使えるならば、http://aoo10yan.blogspot.jp/2014/03/blog-post_21.html
こちらが使えると思います。
このスクリプトはPuppy Linux用に作ってあります。
他のディストリビューションでは、使用しているデスクトップ環境によって
マウス設定専用のアプリケーションが用意されていると思います。それらを使うのが得策でしょう。
ただ、そういったアプリケーションが用意されていなければ、スクリプトの使用を考えるのも良いかもしれません。
通常、そのデスクトップでGTKを使用しているならば、ログインユーザのhomeに".gtkrc.mine"に相当するファイルが
あるはずです。
Puppy Linuxで言うところの、rootユーザをログインユーザに置き換えることで、可能になるかもしれません。
(実際にやっていないので推測だけです。済みません)
例えば、http://aoo10yan.blogspot.jp/2014/06/zenity.html では、Lubuntuで標準で使用できるzenityにて
GUIを表現しています。
この辺は、それぞれの環境によってまちまちなので、色々考えてみるのも楽しいと思います。
>色々考えてみるのも楽しいと思います。
返信削除ありがとう ございます 試してみます
「rootユーザをログインユーザに置き換えること」 まず これから トライしま〜す