Archive for 05月, 2006

老旧的coreldraw图片保留一下 星期一, 05月 29th, 2006

姓名图片。


–>


–>

修改rox-filer缺省打开文本文件的程序,text/c/h 星期一, 05月 22nd, 2006

探索很久。为了修改rox-filer的缺省文本文件打开程序。原本rox是使用nano打开,但是nano不认识gb18030这样的编码。所以想用vi代替。曾经修改/etc/alternatives/editor为vi(原来是nano),结果无效。现在终于知道设置了。如图。


–>

wine加了字体,终于快了起来。 星期一, 05月 22nd, 2006

$ alias
alias ag=’sudo apt-get upgrade’
alias ai=’sudo apt-get install’
alias ar=’sudo apt-get remove’
alias as=’apt-cache search’
alias au=’sudo apt-get update’
alias l=’ls -CF’
alias la=’ls -A’
alias ll=’ls -l’
alias ls=’ls –color=auto’
alias sg=’sudo gedit’
alias sv=’sudo vi’
alias pg=’pgrep -l’

$ ai wine
$ wineconsole
$ cd ~/.wine/drive_c/windows/fonts
$ ll
总计 0
lrwxrwxrwx 1 exp exp 35 2006-05-22 11:38 simfang.ttf -> /home/exp/install/fonts/simfang.ttf
lrwxrwxrwx 1 exp exp 34 2006-05-22 11:38 simhei.ttf -> /home/exp/install/fonts/simhei.ttf
lrwxrwxrwx 1 exp exp 34 2006-05-22 11:38 simkai.ttf -> /home/exp/install/fonts/simkai.ttf
lrwxrwxrwx 1 exp exp 33 2006-05-22 11:45 SIMLI.TTF -> /home/exp/install/fonts/SIMLI.TTF
lrwxrwxrwx 1 exp exp 34 2006-05-22 11:45 SIMSUN.TTC -> /home/exp/install/fonts/SIMSUN.TTC
lrwxrwxrwx 1 exp exp 34 2006-05-22 11:45 SIMSUN.TTF -> /home/exp/install/fonts/SIMSUN.TTF
lrwxrwxrwx 1 exp exp 34 2006-05-22 11:45 SIMYOU.TTF -> /home/exp/install/fonts/SIMYOU.TTF

tar.gz-选定文件按照目录名打包v4 星期四, 05月 18th, 2006

直接在nautilus或者rox的右键菜单里面执行。调试是在rox-filer里面做的。

代码:
#!/bin/bashdir=${1%\/*}
cd $dir
NOW=`date ‘+%Y-%m-%d-%H-%M-%S’`

#取得压缩包的文件名。只有一个文件时,直接使用文件名。多个文件,取目录名
[ $# -eq 1 ] && dir=$1;

#取最后一段作文件名前缀
dir=${dir##\/*\/}
tar_gz_name=”‘[${dir}](${NOW}).tar.gz’”

#处理空格和特殊符号。
cmd=”tar -zcvf $tar_gz_name”

for i in $*
do
cmd=${cmd}” ‘${i}’”
done

#执行
#rm ~/tmp; echo $cmd>>~/tmp
eval $cmd

调试很久。就是为了解决文件名的特殊符号的问题。结果,所有文件名都用”包起来就没事了。教训。

我针对的文件比较特殊。都是fvwm里面auto-button.bash调用的。做备份。

引用:
K70|rhythmbox||amixer set PCM 10%+|amixer set PCM 10%-.png
K71|Exec alsamixergui.png
K95|Exec ${fvwm}root-关机.png
S1|gnome-terminal.png
S2|opera.png
S30|gaim.png
S32|amule.png
S39|Exec gnome-search-tool.png
S40|gedit|sudo gedit.png
S5|rox|nautilus.png
S72|${fvwm}import-截图|gnome-screenshot –delay=5.png
S76|gthumb.png
S78|totem||amixer set PCM 10%+|amixer set PCM 10%-.png
S79|gimp.png
S80|meld.png
S81|nvu.png
S83|quake3.png
S91|Restart.png
S92|Pick Destroy.png
S93|quit.png
S94|WindowList|Menu MenuFvwmRoot.png
S95|Exec ${fvwm}root-关机.png

fvwm下,方便的挂载设备。pmount 星期二, 05月 16th, 2006

用pmount挂载usb盘,最简单。这是对于没在fstab里面列出的设备的。虽然pmount的规则一堆,其实都是很容易符合的。

代码:
exp@eexpress:/media$ pmount /dev/sda1
exp@eexpress:/media$ cat /etc/mtab |grep sda
/dev/sda1 /media/sda1 vfat rw,noexec,nosuid,nodev,quiet,shortname=mixed,uid=1000,gid=1000,umask=077,iocharset=utf8 0 0

rox还真不错。fstab里面设置了的设备,都是用不同图标显示的。点/media/cdrom0,就会自动挂载。退出目录就问你要不要卸载。右键还有“弹出/卸载”这些菜单。就是提示一个已挂载的错误。不爽。

引用:
挂载 /media/cdrom0
mount: block device /dev/hdc is write-protected, mounting read-only
挂载失败
(经已挂载)完成
发现错误.

但是CD音乐光盘,就不能挂了。还是要用mount带一堆东西了。

终于找到一个uC编译器。 星期一, 05月 15th, 2006

http://sdcc.sourceforge.net/
http://sdcc.sourceforge.net/doc/sdccman.pdf

支持还真多。以前一直找68的,没找到。搞半天,这里有08的支持。

引用:
3.2.1 Processor Selection Options
-mmcs51 Generate code for the Intel MCS51 family of processors. This is the default processor target.
-mds390 Generate code for the Dallas DS80C390 processor.
-mds400 Generate code for the Dallas DS80C400 processor.
-mhc08 Generate code for the Freescale/Motorola HC08 family of processors.
-mz80 Generate code for the Zilog Z80 family of processors.
-mgbz80 Generate code for the GameBoy Z80 processor (Not actively maintained).
-mavr Generate code for the Atmel AVR processor (In development, not complete). AVR users should probably have a look at winavr http://sourceforge.net/projects/winavr or http://www. avrfreaks.net/index.php?name=PNphpBB2&file=index.
-mpic14 Generate code for the Microchip PIC 14-bit processors (p16f84 and variants. In development, not complete).
-mpic16 Generate code for the Microchip PIC 16-bit processors (p18f452 and variants. In development, not complete).
-mtlcs900h Generate code for the Toshiba TLCS-900H processor (Not maintained, not complete).
-mxa51 Generate code for the Phillips XA51 processor (Not maintained, not complete).

产生的文件比较齐全的。

代码:
sdcc -mhc08 main.c

main.asm main.ihx main.lst main.mem main.rst main.sym
main.c main.lnk main.map main.rel main.S19

非常规矩啊。
下次仔细比较代码生成水平。和商业软件的比较lst文件。

使用display还是最快的。功能也多。 星期一, 05月 15th, 2006

上次看别人说用display。自己一直没用这个。试了一下。快的死。功能一堆,只是界面需要熟悉一下而已。

命令调用也非常齐全。帮助在 file:///usr/share/doc/imagemagick/www/display.html

使用awk的RS变量,一次显示出ini的一个段。 星期三, 05月 10th, 2006

记得有个取多行的参数。原来是RS。岂不是方便得很。

$ awk -F[ 'BEGIN{RS = ""} /Fonts]/’ ~/.opera/opera6.ini
[Fonts]
H1=32,7,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
H2=24,7,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
H3=19,7,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
H4=16,7,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
H5=13,7,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
H6=11,7,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Form.Button=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Form.Input=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Form.Text=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Normal=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
PRE=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Toolbar=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Dialog=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Panel=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Email=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
EmailCompose=10,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]
Menu=12,4,0,0,0,0,WenQuanYi Bitmap Song [WenQuanYi]

更加绝的写法。

代码:
$ awk -F’Section’ ‘BEGIN{RS = “”} /\ \”Device/’ /etc/X11/xorg.conf
Section “Device”
Identifier      “NVIDIA Corporation NV34 [GeForce FX 5200]”
Driver          “nvidia”
BusID           ”PCI:1:0:0″
#insert part
Option          “NvAGP” “1″
Option          “NoLogo” “true”
Option          “RenderAccel” “true”
Option          “AllowGLXWitheComposite” “true”
Option          “CursorShadow” “1″
#insert end
代码:
$●  awk -F’Section’ ‘BEGIN{RS = “”} /.*Mouse/’ /etc/X11/xorg.conf
Section “InputDevice”
Identifier      “Configured Mouse”
Driver          “mouse”
Option          “CorePointer”
Option          “Device”                “/dev/input/mice”
Option          “Protocol”              “ExplorerPS/2″
Option          “ZAxisMapping”          “4 5″
Option          “Emulate3Buttons”       ”true”
EndSection
Section “ServerLayout”
Identifier      “Default Layout”
Screen          “Default Screen”
InputDevice     ”Generic Keyboard”
InputDevice     ”Configured Mouse”
#         InputDevice     ”stylus” “SendCoreEvents”
#         InputDevice     ”cursor” “SendCoreEvents”
#         InputDevice     ”eraser” “SendCoreEvents”
InputDevice     ”Synaptics Touchpad”
EndSection

利用图片名称,自动产生fvwm的button设置。 星期三, 05月 10th, 2006

建立一个auto-button.bash。

代码:
#!/bin/bashcd $fvwm/auto-png/
for j in S*.png
do
#图片名就是执行命令。去掉头部的S和尾部的.png后缀,以取得命令。
#echo ——————————-
i=${j#S}; i=${i%.png}
#———————————
#如果有指定程序,就检查图片尺寸。
if [ -e "/usr/bin/identify" ]; then
s=`identify “$j”`; s=${s#*PNG\ }; s=${s:0:2};
else
s=”47″
#没有检测软件,就假定尺寸为47。
fi
#———————————
if [ $s -gt 24 ]; then
#48×48的占用2×2的空间,而且需要附加的图片,以指定动态图标。
s=”2×2″
else
#24×24的占用1×1的空间
s=”1×1″;
fi
echo -n “*DockButtons: ($s,Icon \”$j\”"
#———————————
#如果存在D开头的,后更相同序号的图片,设置为动态图片。
d=`echo $i|cut -d ‘|’ -f1`
[ -e "D${d}.png" ] && echo -n “, ActiveIcon D${d}.png”
[ -e "D${d}.PNG" ] && echo -n “, ActiveIcon D${d}.PNG”
#分解命令。次序为左,右,上,下,4个鼠标操作。需要让awk不输入换行!!
echo $i|awk -F’|’ ‘$2!=”" {print “, Action(Mouse 1) Exec “$2″ \\”}’
echo $i|awk -F’|’ ‘$3!=”" {print “, Action(Mouse 3) Exec “$3″ \\”}’
echo $i|awk -F’|’ ‘$4!=”" {print “, Action(Mouse 4) Exec “$4″ \\”}’
echo $i|awk -F’|’ ‘$5!=”" {print “, Action(Mouse 5) Exec “$5″ \\”}’
echo “)”
#———————————
done

在指定目录里面使用这样的图片名字。S\d\d表示有效的图片,后面由|分割鼠标的4个动作,D\d\d的图片表示对应的序号的动态图片。

引用:
D1.png
S1|gnome-terminal.png
S2|opera.png
S3|gaim.png
S4|gedit|sudo gedit.png
S5|nautilus|rox.png
S70|rhythmbox||amixer set PCM 10%+|amixer set PCM 10%-.png
S71|alsamixergui.png
S72|gnome-screenshot –delay=5|gnome-screen –window.png
S76|gqview.png
S78|totem.png
S79|gimp.png

在button的配置文件中,相应位置,使用此行调用bash。

代码:
PipeRead `bash $[fvwm]/auto-png/auto-button.bash`

bash将图片文件名分解成命令,自动产生如下结果,插入配置文件的当前位置。相当于你自己在这里写一堆配置。

代码:
$ ./auto-button.bash
*DockButtons: (2×2,Icon “S1|gnome-terminal.png”, ActiveIcon D1.png, Action(Mouse 1) Exec gnome-terminal \
)
*DockButtons: (2×2,Icon “S2|opera.png”, Action(Mouse 1) Exec opera \
)
*DockButtons: (2×2,Icon “S3|gaim.png”, Action(Mouse 1) Exec gaim \
)
*DockButtons: (2×2,Icon “S4|gedit|sudo gedit.png”, Action(Mouse 1) Exec gedit \
, Action(Mouse 3) Exec sudo gedit \
)
*DockButtons: (2×2,Icon “S5|nautilus|rox.png”, Action(Mouse 1) Exec nautilus \
, Action(Mouse 3) Exec rox \
)
*DockButtons: (2×2,Icon “S70|rhythmbox||amixer set PCM 10%+|amixer set PCM 10%-.png”, Action(Mouse 1) Exec rhythmbox \
, Action(Mouse 4) Exec amixer set PCM 10%+ \
, Action(Mouse 5) Exec amixer set PCM 10%- \
)
*DockButtons: (2×2,Icon “S71|alsamixergui.png”, Action(Mouse 1) Exec alsamixergui \
)
*DockButtons: (2×2,Icon “S72|gnome-screenshot –delay=5|gnome-screen –window.png”, Action(Mouse 1) Exec gnome-screenshot –delay=5 \
, Action(Mouse 3) Exec gnome-screen –window \
)
*DockButtons: (2×2,Icon “S76|gqview.png”, Action(Mouse 1) Exec gqview \
)
*DockButtons: (2×2,Icon “S78|totem.png”, Action(Mouse 1) Exec totem \
)
*DockButtons: (2×2,Icon “S79|gimp.png”, Action(Mouse 1) Exec gimp \
)


–>