2011年7月14日木曜日

修正メモ

  1. #!/bin/bash
  2. def_str=`grep 'Background.File' /root/.ideskrc`
  3. def_length=${#def_str}
  4. temp_str=`echo $def_str | cut -c 41-$def_length`
  5.  
  6. export MAIN_DIALOG='
  7. <window title="idesk_bg_changer">
  8. <vbox>
  9. <text><label>idesk用壁紙変更ツール(AO_o10yan)</label></text>
  10. <frame ファイル名入力 OKで壁紙変更>
  11. <hbox>
  12. <text>
  13. <label>ファイル名:</label>
  14. </text>
  15. <entry><variable>FILENAME</variable>
  16. <default>'$temp_str'</default>
  17. </entry>
  18. </hbox>
  19. <hbox>
  20. <button ok>
  21. <action>"./desktop_bg_function2.sh 'onclick' $FILENAME '$temp_str' &"</action>
  22. </button>
  23. </hbox>
  24. </frame>
  25.  
  26. <frame ファイル選択で壁紙変更>
  27. <hbox>
  28. <entry accept="filename">
  29. <label>Select an Existing File</label>
  30. <variable>FILE_FILENAME</variable>
  31. <default>/usr/share/backgrounds/'$temp_str'</default>
  32. <action>"./desktop_bg_function2.sh 'onchange' $FILE_FILENAME '$temp_str' &"</action>
  33. </entry>
  34. <button>
  35. <input file stock="gtk-open"></input>
  36. <variable>FILE_BROWSE_FILENAME</variable>
  37. <action type="fileselect">FILE_FILENAME</action>
  38. </button>
  39. </hbox>
  40. </frame>
  41.  
  42. <hbox>
  43. <button cancel></button>
  44. </hbox>
  45. </vbox>
  46. </window>
  47. '
  48. gtkdialog3 --center --program=MAIN_DIALOG
#!/bin/bash
new_str=$2

if [ $1 = 'onchange' ];then
  new_str=`basename ${new_str}`
fi  

sed --in-place=.bak --expression=s/$3/$new_str/ /root/.ideskrc

idesk
選択されたファイル名を basename で取り出す。
使用中のファイル名を第3引数で渡し、$3で参照。

0 件のコメント :

コメントを投稿