May 2, 2008

ホイールのエミュレート

Section "InputDevice"
...
Driver "mouse"
...
Option "EmulateWheel" "true"
Option "EmulateWheelTimeOut" "200"
Option "EmulateWheelButton" "2"
...
EndSection

middle buttonとトラックポイントの上下でスクロールができるようになった。たいへん便利。
注意点としては、ZAxisMappingオプションに関する記述があると有効にならない。

Ctrl-Alt-Function keys not working

Xからvtへ切り替えができなくて困ってたんだけど、ずばりの解決方法が書いてあった。解決方法は分かったけど、なんでそうなるのかは謎。

Debian Wiki - Xorg69To7 - Ctrl-Alt-Function keys not working


XkbVariantのデフォルト値ってなんだっけ?

chkconfig <service> resetpriorities

まあ見ての通り。以下使用前、使用後。

# ls /etc/rc0.d
K00httpd K10wine K73ypbind K88nasd
K00sendmail K15gpm K74acpid K88pcscd
K00smartd K20nfs K74kerneloops K88rsyslog
K00snmpd K24irda K74lm_sensors K89dund
K00snmptrapd K25sshd K74nscd K89netplugd
K00xendomains K50bluetooth K75fuse K89pand
K01blktapctrl K50netconsole K75netfs K89rdisc
K01dnsmasq K60crond K75ntpdate K90network
K01NetworkManager K65kadmin K75udev-post K91capi
K01smolt K65kprop K84btseed K91isdn
K01xenconsoled K65krb524 K84bttrack K92ip6tables
K01xend K69krb5kdc K84wpa_supplicant K92iptables
K01xenstored K72rpcsvcgssd K85mdmonitor K95firstboot
K02avahi-daemon K72autofs K85rpcgssd K98qemu
K02haldaemon K72iscsi K85rpcidmapd K99cpuspeed
K03libvirtd K72iscsid K86nfslock K99microcode_ctl
K05anacron K72ldap K87irqbalance S00killall
K05atd K72ntpd K87multipathd S01halt
K05saslauthd K73setroubleshoot K87restorecond
K10cups K73messagebus K87rpcbind
K10psacct K73winbind K88auditd


# ls /etc/rc0.d
K00xendomains K24irda K73ypbind K88auditd
K01blktapctrl K25sshd K74acpid K88nasd
K01dnsmasq K30sendmail K74kerneloops K88pcscd
K01smartd K50bluetooth K74lm_sensors K88rsyslog
K01smolt K50netconsole K74nscd K89dund
K01xenconsoled K50snmpd K75fuse K89netplugd
K01xend K50snmptrapd K75netfs K89pand
K01xenstored K60crond K75ntpdate K89rdisc
K02avahi-daemon K65kadmin K75udev-post K90network
K02haldaemon K65kprop K84btseed K91capi
K03libvirtd K65krb524 K84bttrack K91isdn
K05anacron K65krb5kdc K84wpa_supplicant K92ip6tables
K05atd K69rpcsvcgssd K85mdmonitor K92iptables
K05saslauthd K72autofs K85messagebus K95firstboot
K10cups K72iscsi K85rpcgssd K98qemu
K10psacct K72iscsid K85rpcidmapd K99cpuspeed
K10wine K72ldap K86nfslock K99microcode_ctl
K13hsqldb K72ntpd K87irqbalance S00killall
K15gpm K72setroubleshoot K87multipathd S01halt
K15httpd K73NetworkManager K87restorecond
K20nfs K73winbind K87rpcbind


scriptletではやってくれないらしくて定期的に実行した方がよさそう。

April 30, 2008

How to create fontset on Emacs

野首さんのこれに触発されて書いてみた。

Emacs上でfontsetを指定する場合二通りの方法がある。ひとつは.Xresourcesを使う方法。もうひとつはEmacs Lispで指定する方法。今回は後者を取り上げかつaliasも作ってみることにする。

Emacsにはfaceという概念があって、その中でボールドやイタリックなどの属性が管理されている。またそれぞれの場所で異なるfaceを使っているため、ツールバーのフォントを小さくしたいとか、modelineをboldにといった細かい指定などもこのfaceをいじることで可能である。これらのfaceの変更をするにはset-face-fontset-face-background, set-face-foreground, set-face-underlineなどの特定の属性に特化した関数を呼ぶか、set-face-attributeで任意の属性を指定する。

set-default-fontでdefaultフォントを変更するのとset-face-fontでdefault faceのフォントを変更することの違いは、前者は現在選択されたframeにのみ反映されるということ。もちろんset-face-fontで特定のframeにのみ作用させることも可能だけど、通常はすべてのframeに適用される。frameを多用しない環境であれば、どちらでも問題ないけど、常に一定のフォントを使いたい場合はset-face-fontで変更した方が何かと不都合がなくていいと思う。

で、肝心なfontsetの作り方。これも何通りかの方法があってEmacs Lispっぽいやり方をするならnew-fontset、もうちょっと細かくXLFDを指定したいとかなら、create-fontset-from-fontset-specを使う。他にもcreate-fontset-from-ascii-fontとかcreate-fontset-from-x-resourceとかあるけど、こちらは使ったことないので分からん。

まあ詳細はHelpを見ていただくとして、各charsetごとに異なるフォント、異なるサイズを指定できるので、環境にあった見やすいフォントを選択することも可能。どんなcharsetが指定できるかについては、mule-diagを実行してSection 5およびSection 6を見れば分かるはず。

ということで以下サンプル。

(create-fontset-from-fontset-spec
"-default-gothic-medium-r-*--10-*-*-*-*-*-fontset-10,
ascii:-*-liberation mono-medium-r-*--10-*-*-*-*-*-iso8859-1,
katakana-jisx0201:-*-vl gothic-medium-r-*--10-*-*-*-*-*-jisx0201.1976-*,
japanese-jisx0208:-*-vl gothic-medium-r-*--10-*-*-*-*-*-jisx0208.1990-*,
...")

みたいな感じにして、ボールドとイタリックのfontsetも作っておく。あとは

(set-face-font 'default "-default-gothic-medium-r-*--10-*-*-*-*-*-fontset-10")
(set-face-font 'italic "-default-gothic-medium-i-*--10-*-*-*-*-*-fontset-10")
(set-face-font 'bold "-default-gothic-bold-r-*--10-*-*-*-*-*-fontset-10")
(set-face-font 'bold-italic "-default-gothic-bold-i-*--10-*-*-*-*-*-fontset-10")

としとけばいい。

April 21, 2008

日本語フォルダ

日本語名のフォルダってterminalから使うとうざったいよね、という話から出てきた一行

alias gcd='eval "cd $(zenity --file-selection --directory)"'