頭の体操に Fish Fillets - Next Generation はいかがですか?

Fish Fillets - Next Generation は、倉庫番のようなパズルゲームWikipedia にもページがあった→ Fish Fillets NG - Wikipedia, the free encyclopedia

Vine Linux 5, Vine Linux 6 において、fillets-ng パッケージをインストールすると、このゲームを遊べます。

$ sudo apt-get install fillets-ng

倉庫番は一人を動かすのに対し、小さなお魚と大きなお魚の二匹を操る。小さい魚は、軽いものしか動かせないが、大きい魚は、鉄(steel)製のものも動かせる。

水中の国の住民が機転をきかせたコメントをするので、パズルを解きながらニヤニヤと楽しめる。

TeXworks のテンプレートに日本語の雛形を入れてみました

ファイル -> テンプレートから新規作成 に英語の雛形しかないので、日本語の雛形もあったら嬉しいかなと考えていました。

Vine Linux 6 がリリースするのに先立ち、ひとまず Vine Linux の texworks パッケージの中に、日本語の雛形を入れてみました。

ファイル -> テンプレートから新規作成 をたどると、「テンプレートを使って新規作成する」ダイアログがでます。この中のうち、Japanese documents のつまみを開くと、下の画像のように TeX-Wikipedia.tex, beamer.tex, jsarticle.tex, jsbook.tex の 4 つの雛形が見えます。

jsarticle.tex, jsbook.tex, beamer.tex は、それぞれ jsarticle class 用, jsbook 用, Beamer class 用の雛形です。また、TeX-Wikipedia.tex は、Wikipediawikipedia:TeX のページをざっと組んでみました。

これらのテンプレートは、まだ叩き台という感じなので、どこか共有できるところに置いてよりよい雛形へしていった方がよさそうです。

さっそく github に置きました。まだ README も何も書いていませんが(^^;;

GitHub - munepi/texworks-templates-japanese: Japanese templates of TeXworks

関連記事

Eee PC 901-16G に Vine Linux 6β1 をインストールしてみた

相変わらず Eee PC 901-16G をねばって、使い続けております*1。さっそく、こいつに Vine Linux 6β1 を入れて試してみました。

体感は、Vine Linux 5 よりも快適ですね。VineSeed もで突っ込んでいたので知っていましたが、体感速度が上がります。無線 LAN の WiFi/AP への接続も、dkms-rt2860 パッケージをインストールすれば、問題ありません*2

以下、Eee PC 901 において Vine Linux を利用するにあたり、個人的に手を入れている設定を 3 つほど紹介します。

~/.Xmodmap で 右 Alt -> 右 Ctrl、カタカナひらがな -> 右 Alt へ変更

Eee PC 901 のキーボードには右 Ctrl がないので、私は ~/.Xmodmap を使って、右 Alt -> 右 Ctrl、カタカナひらがな -> 右 Alt へ変更しています。以下に ~/.Xmodmap を掲載します。

!!! $ xmodmap -pke | grep 108
!!! keycode 108 = Alt_R Meta_R Alt_R Meta_R
!!! $ xmodmap -pke | grep 101
!!! keycode 101 = Hiragana_Katakana Romaji Hiragana_Katakana Romaji

remove mod1 = Alt_L
remove mod1 = Control_L
keycode 101 = Alt_L
keycode 108 = Control_L
add control = Control_L
add mod1 = Alt_L

!!! end of file

ちなみに、上記変更を適応した、右 Ctrl(右 Alt)や 右 Alt(カタカナひらがな)キーは、親指で押しています。だって、Emacs を使っていたら、右 Ctrl と 右 Alt ってほしくなりませんか?

Atom N270 に合わせて /etc/cpufreqd.conf のカスタマイズ

Eee PC 901 に搭載している CPU Atom N270 は、800MHz, 1.07GHz, 1.33GHz, 1.60GHz の 4 段階に変動します。これに合わせて /etc/cpufreqd.conf を以下のようにしています。Atom NXXX を搭載している Eee PC にはオススメしたいです。

[Profile]
name=ondemand low
minfreq=0%
maxfreq=33%
up_threshold=70
policy=ondemand
[/Profile]

[Profile]
name=ondemand mid
minfreq=33%
maxfreq=66%
up_threshold=70
policy=ondemand
[/Profile]

[Profile]
name=ondemand high
minfreq=66%
maxfreq=100%
up_threshold=70
policy=ondemand
[/Profile]

[Profile]
name=powersave low
minfreq=0%
maxfreq=33%
policy=powersave
[/Profile]

[Profile]
name=powersave mid
minfreq=33%
maxfreq=66%
policy=powersave
[/Profile]

[Profile]
name=powersave high
minfreq=66%
maxfreq=100%
policy=powersave
[/Profile]

[Profile]
name=performance
minfreq=66%
maxfreq=100%
policy=performance
[/Profile]

Profile を powersave, ondemand, performance という 3 つを追加して、バッテリ使用時、AC アダプタ使用時にそれぞれ Rule で振り分けます。

以下に、個人的に追加している Rule を紹介します(^^

[Rule]
name=dvd_watching
ac=off                   # (on/off)
battery_interval=0-100
programs=xine,mplayer,avidemux,vlc,ffmpeg,kino
cpu_interval=0-100
profile=powersave high
[/Rule]

[Rule]
name=playing_games
ac=off                   # (on/off)
battery_interval=0-100
programs=wesnoth,fillets-ng,fceux,zsnes,gens
cpu_interval=66-100
profile=powersave high
[/Rule]

[Rule]
name=typesetting_tex_documents
ac=off                   # (on/off)
battery_interval=0-100
programs=latex,platex,eplatex,lualatex,xelatex,pdflatex,gs,dvipdfmx
cpu_interval=66-100
profile=powersave high
[/Rule]

ハイ、趣味満載な Rule たちばかりですね。

beamer クラスファイルをつかった tex ファイルをコンパイルするときは、Atom N270 をフル稼働させないと typeset に時間がかかりますよ。

eee-control の導入

Eee PC を Linux で使う上で欠かせない eee-control。
eee-control は Eee PC 901 の CPU performance 変更に未対応なものの、それ以外のハードウェア機能に対応しているので、おすすめです。

*1:Sandy Bridge 対応の次期 MacBook ProMacBook Air がリリースされるまで頑張るぉ。

*2:dkms-rt2860 パッケージは、Eee PC 901-16G のために作ったようなものなんですよねーw

The Legend of Edgar を遊べるようにしてみました

http://www.parallelrealities.co.uk/projects/edgar.php は、「エドガーの伝説」とでも訳せばよいのしょうか?(^^ 正統派横スクロールアクション謎解き RPG です。軽快なアクションとほどよい謎解きで、大きいお兄さんにとっても、なかなか面白いゲームです。

edgar は Vine Linux 5、次期 Vine Linux 6 で利用可能になります。

$ sudo apt-get install edgar

残念なことに、gettext に対応しているのに ja.po が無い!!!誰かやりませんか?(w

Vine Linux 6 向けに AUCTeX のパッケージを調整しました

tkonishi さんのブログ Vine 6.0b1 動作確認(続き)[Vine 6.0beta1]:log(c):So-netブログ で、Vine Linux 6 向けに auctex パッケージが調整されていないっぽいことが分かったので、早速対応してみました。

さらに、今回はツールバーからも日本語 TeX でタイプセット、プレビューできるようにしました。下記のスクリーンショットは、上が Vine Linux 5.2、下が Vine Linux 6 β1 です。


auctex の設定

Nothing!!!

Vine Linux 5 に引き続いて、Vine Linux 6 でも、特に何も設定しなくても Vine LinuxTeX 環境に合った日本語 TeX の対応を施してあります。

auctex パッケージのメンテナ、随時募集中!

正直に申し上げますと、私は YaTeX ユーザなので、AUCTeX に関して無知で、全く使いこなせません (^^;; なので、AUCTeX ユーザの方で Vine Linux 上で常用している方がおられましたら、ぜひとも auctex パッケージのメンテナになって頂きたいと思います。

@iwaim さんが Twitter でつぶやいておられますように、できる範囲でメンテナを担当して頂きたいです、ハイ。

Vine Linux 5.2 (i386, x86_64) で Google Chrome を頑張って動かしてみた

[2011-05-22 追記]x86_64 の場合の「Adobe Flash Player 10 をインストール」を nspluginwrapper 経由する方法を加筆。install-assist-google-chrome 化してもよいかも (^^

Vine Linux Magazine 2010,09,29 オープンソースカンファレンス 2010 Tokyo/Fall 参加レポート で、

$ google-chrome 
(snip)
/usr/bin/google-chrome: /usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found (required by /usr/bin/google-chrome)

となるので、「Vine Linux 5 では Google Chrome が動きません(泣」と書いておりました。

また、VinePlus/5 にある chromium パッケージは、chrome ウェブストアにある最近の拡張機能に対応しなくなりつつあります。

ところがちょっと頑張てみると、Vine Linux 5.2 (i386, x86_64) で Google Chrome を "強引に" 動かすことができたので、メモっておきます。

"強引に" 責めたい方、または "強引に" 責められるのがお好きな方は、以下の手順をお試しください。

Google Chrome 本体のインストール

まず、Google Chrome 本体をインストールします。

Chrome ブラウザ から Google Chromerpm をダウンロードします。新しいものがお好きな方、危険な香りが魅力的と感じる方は、Chrome Release Channels - The Chromium Projects から開発版をダウンロードしても楽しいかもしれません。

例えば、私はちょっと危険な香りを魅力的に感じてしまうので、現時点の VineSeedChromium と同じメジャーバージョンである 12.X の Beta 版をインストールしました。

$ rpm -qp google-chrome-beta_current_x86_64.rpm 
警告: google-chrome-beta_current_x86_64.rpm: ヘッダ V4 DSA 署名: NOKEY, key ID 7fac5991
google-chrome-beta-12.0.742.53-85089
$ sudo apt-get install google-chrome-beta_current_x86_64.rpm

これで、Google Chrome が /opt/google/chome 以下にインストールされました。

一部のライブラリを /opt/google/chome/lib へインストール

つぎに、VineSeed から一部のライブラリを拝借して、/opt/google/chome/lib にインストールします。

i386 の場合

http://updates.vinelinux.org/VineSeed/i386/RPMS.main/ から libstdc++-4.4.5-6vl6.i686.rpm, libgcc-4.4.5-6vl6.i686.rpm をダウンロードして、それらを展開します。

$ cd /opt/google/chome
$ sudo su
# mkdir VineSeed_i386
# cd VineSeed_i386
# rpm2cpio /some/where/libstdc++-4.4.5-6vl6.i686.rpm | cpio -id
# rpm2cpio /some/where/libgcc-4.4.5-6vl6.i686.rpm | cpio -id

ちょっと細工をします。

# ls lib/
libgcc_s-4.4.5.so.1*  libgcc_s.so.1@
# ls usr/lib/
libgcc_s-4.4.5.so.1*  libgcc_s.so.1@  libstdc++.so.6@  libstdc++.so.6.0.13*
# cp -a lib/* usr/lib/
# cd ..
# cp -ra VineSeed_i386/usr/lib lib
# chmod 755 lib
# exit

これで、完成です。

x86_64 の場合

http://updates.vinelinux.org/VineSeed/x86_64/RPMS.main/ から libstdc++-4.4.5-6vl6.x86_64.rpm, libgcc-4.4.5-6vl6.x86_64.rpm をダウンロードして、それらを展開します。

$ cd /opt/google/chome
$ sudo su
# mkdir VineSeed_x86_64
# cd VineSeed_x86_64
# rpm2cpio /some/where/libstdc++-4.4.5-6vl6.x86_64.rpm | cpio -id
# rpm2cpio /some/where/libgcc-4.4.5-6vl6.x86_64.rpm | cpio -id

ちょっと細工をします。

# ls lib64/
libgcc_s-4.4.5.so.1*  libgcc_s.so.1@
# ls usr/lib64/
libgcc_s-4.4.5.so.1*  libgcc_s.so.1@  libstdc++.so.6@  libstdc++.so.6.0.13*
# cp -a lib64/* usr/lib64/
# cd ..
# cp -ra VineSeed_x86_64/usr/lib64 lib
# chmod 755 lib
# exit

これで、完成です。

Adobe Flash Player 10 をインストール

x86_64 の場合には、nspluginwrapper を使って i386flash-player を使う方法と、リリースされていない x86_64 プレビュー版を使う方法の 2 通りがあります。私は、前者をおすすめいたします。

i386 の場合

手っ取り早く、install-assist-flash-plugin パッケージからインストールしちゃいます。

$ sudo apt-get install install-assist-flash-plugin
$ rpm -q flash-plugin

/opt/google/chome/google-chrome の起動スクリプトに記述されている LD_LIBRARY_PATH にいくつかのパスを追加します。

--- google-chrome.orig	2011-05-12 10:43:00.000000000 +0900
+++ google-chrome	2011-05-18 00:01:28.000000000 +0900
@@ -22,9 +22,9 @@ fi
 # Always use our versions of ffmpeg libs.
 # This also makes RPMs find the compatibly-named NSS3/NSPR symlinks.
 if [[ -n "$LD_LIBRARY_PATH" ]]; then
-  LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
+  LD_LIBRARY_PATH="$HERE:$HERE/lib:/lib:/usr/lib:/usr/lib/xulrunner-1.9.1:$LD_LIBRARY_PATH"
 else
-  LD_LIBRARY_PATH="$HERE:$HERE/lib"
+  LD_LIBRARY_PATH="$HERE:$HERE/lib:/lib:/usr/lib:/usr/lib/xulrunner-1.9.1"
 fi
 export LD_LIBRARY_PATH
x86_64 の場合(その 1):nspluginwrapper を使って i386flash-player を使う

手っ取り早く、install-assist-flash-plugin パッケージからインストールしちゃいます。

$ sudo apt-get install install-assist-flash-plugin
$ rpm -q flash-plugin

nspluginwrapper の wrap された plugins ディレクトリを Google Chrome の plugins とします。

$ cd /opt/google/chrome
$ sudo ln -sf /usr/lib64/mozilla/plugins-wrapped plugins

/opt/google/chome/google-chrome の起動スクリプトに記述されている LD_LIBRARY_PATH にいくつかのパスを追加します。

--- google-chrome.orig	2011-05-12 10:43:00.000000000 +0900
+++ google-chrome	2011-05-18 00:01:28.000000000 +0900
@@ -22,9 +22,9 @@ fi
 # Always use our versions of ffmpeg libs.
 # This also makes RPMs find the compatibly-named NSS3/NSPR symlinks.
 if [[ -n "$LD_LIBRARY_PATH" ]]; then
-  LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
+  LD_LIBRARY_PATH="$HERE:$HERE/lib:/lib64:/usr/lib64:/usr/lib64/xulrunner-1.9.1:$LD_LIBRARY_PATH"
 else
-  LD_LIBRARY_PATH="$HERE:$HERE/lib"
+  LD_LIBRARY_PATH="$HERE:$HERE/lib:/lib64:/usr/lib64:/usr/lib64/xulrunner-1.9.1"
 fi
 export LD_LIBRARY_PATH
x86_64 の場合(その 2):リリースされていない x86_64 プレビュー版を使う

いまだに Adobe から 64bit 版の Flash Player がリリースされていないので、仕方なくプレビュー版をダウンロードして、インストールします。

$ wget http://download.macromedia.com/pub/labs/flashplayer10/flashplayer10_2_p3_64bit_linux_111710.tar.gz
$ tar xf flashplayer10_2_p3_64bit_linux_111710.tar.gz
$ sudo mkdir /opt/google/chome/plugins
$ sudo mv libflashplayer.so /opt/google/chome/plugins/
$ sudo chmod 755 /opt/google/chome/plugins/libflashplayer.so
$ sudo chown root:root /opt/google/chome/plugins/libflashplayer.so

/opt/google/chome/google-chrome の起動スクリプトに記述されている LD_LIBRARY_PATH にいくつかのパスを追加します。

--- google-chrome.orig	2011-05-12 10:43:00.000000000 +0900
+++ google-chrome	2011-05-18 00:01:28.000000000 +0900
@@ -22,9 +22,9 @@ fi
 # Always use our versions of ffmpeg libs.
 # This also makes RPMs find the compatibly-named NSS3/NSPR symlinks.
 if [[ -n "$LD_LIBRARY_PATH" ]]; then
-  LD_LIBRARY_PATH="$HERE:$HERE/lib:$LD_LIBRARY_PATH"
+  LD_LIBRARY_PATH="$HERE:$HERE/lib:/lib64:/usr/lib64:/usr/lib64/xulrunner-1.9.1:$LD_LIBRARY_PATH"
 else
-  LD_LIBRARY_PATH="$HERE:$HERE/lib"
+  LD_LIBRARY_PATH="$HERE:$HERE/lib:/lib64:/usr/lib64:/usr/lib64/xulrunner-1.9.1"
 fi
 export LD_LIBRARY_PATH

Google Chrome を起動

以上で Google Chrome を起動するための作業が完了しました。

Google Chrome をさっそく立ち上げてみます。

Vine Linux 5 上で動かしているこの Google Chrome では、Flash のあるページも閲覧でき、ibus + mozc の組み合わせで日本語入力も問題なくできており、一気に快適なウェブブラウジング環境になりました。

それでは、Vine Linux 5.2 でも最新版の Google Chrome Life をお過ごしくださいm(_ _)m

ちなみに、「install-assist 化、希望!」と言われてもやりませんので、あしからず(笑

FDclone 3.00j の _fdrc と fd2rc.vine との差分

こないだ、.xz, .tar.xz の追加のついでに、.epub とか Microsoft Office Open XML formats (.docx, .xslt, .pptx) なども追加しました。

せっかくなので、_fdrc と fd2rc.vine の差分を以下に出しておきます。

$ diff -up /usr/share/doc/FD-3.00j/_fdrc /usr/share/doc/FD-3.00j/fd2rc.vine
--- /usr/share/doc/FD-3.00j/_fdrc	2010-09-25 00:00:00.000000000 +0900
+++ /usr/share/doc/FD-3.00j/fd2rc.vine	2011-03-31 07:42:17.000000000 +0900
@@ -1,5 +1,23 @@
-# Initialize file for FD
+# fd2rc.vine: Initialize file for FD
 #
+#  There are some settings in this configuration file
+#  which differ from the upstream default:
+#
+#     SORTTYPE=1 (alphabetical)
+#     DISPLAYMODE=3 (sym-link status & file type symbol)
+#     ADJTTY=1 (adjust TTY when exiting)
+#     LANGUAGE=$LANG
+#     INPUTKCODE=$LANG
+#     FNAMEKCODE=$LANG
+#
+#     Launcher settings
+#        for files with suffix as .tar.xz, .zip, .Z, .gz, .bz2, xz
+#        for Debian package (.deb), rpm package (.rpm), ePub format (.epub), 
+#            Microsoft Office Open XML formats (.docx, .xslx, .pptx)
+#     Archiver settings
+#        for files with suffix as .tar.xz, .zip
+#        for Debian package (.deb), rpm package (.rpm), ePub format (.epub), 
+#            Microsoft Office Open XML formats (.docx, .xslx, .pptx)
 
 # whether if limit configuration items or not in the customizer
 #	0: not limit (Default)
@@ -17,6 +35,7 @@
 #	200-213: preserve previous sort type also in the archive browser
 #		(the least 2 digits are effective just after initialize)
 #SORTTYPE=0
+SORTTYPE=1
 
 # default display mode
 #	0: normal (Default)
@@ -28,6 +47,7 @@
 #	6: 			file type symbol &	invisible dot file
 #	7: sym-link status &	file type symbol &	invisible dot file
 #DISPLAYMODE=0
+DISPLAYMODE=3
 
 # whether if sort or not in tree mode
 #	0: not sort (Default)
@@ -64,6 +84,7 @@
 #	0: not adjust (Default)
 #	>= 1: adjust
 #ADJTTY=0
+ADJTTY=1
 
 # whether if prioritize VT100 escape sequence or not for getting terminal size
 #	0: not prioritize (Default)
@@ -365,6 +386,7 @@
 #	utf8-iconv, UTF8-ICONV: UTF-8 for iconv
 #	en, EN, C: English
 #LANGUAGE=""
+LANGUAGE=$LANG
 
 # system default Kanji code
 #	Default: No convert
@@ -391,6 +413,7 @@
 #	utf8-mac, UTF8-MAC: UTF-8 for Mac OS X
 #	utf8-iconv, UTF8-ICONV: UTF-8 for iconv
 #INPUTKCODE=""
+INPUTKCODE=$LANG
 
 # Kanji code to be inputted to the pseudo terminal
 #	Default: No convert
@@ -426,6 +449,7 @@
 #	utf8-mac, UTF8-MAC: UTF-8 for Mac OS X
 #	utf8-iconv, UTF8-ICONV: UTF-8 for iconv
 #FNAMEKCODE=""
+FNAMEKCODE=$LANG
 
 # Kanji code in filename on URL drive
 #	Default: No convert
@@ -578,7 +602,7 @@
 #		-f "%a %u %g %s %m %d %t %y %*f" \
 #		-f "%a %u/%g %m %d %t %y %*f"
 #(Examples)
-#launch ".zip"	"unzip -lqq"		" %s %m-%d-%y %t %*f"
+launch ".zip"	"unzip -lqq"		" %s %m-%d-%y %t %*f"
 #launch ".zoo"	"zoo lq"		" %s %x %x %d %m %y %t %*f"
 #launch ".rar"	"unrar v" \
 #		-f " %*f\n%s %x %x %d-%m-%y %t %a" \
@@ -597,9 +621,20 @@
 #		-i "created at ??:??:?? *" \
 #		-i "by * *" \
 #		-i ""
-#launch ".Z"	"zcat %C|$PAGER"
-#launch ".gz"	"gzip -cd %C|$PAGER"
-#launch ".bz2"	"bzip2 -cd %C|$PAGER"
+
+launch ".tar.xz"	"xz -cd %C|tar tvf -" \
+		-f "%a %u/%g %s %m %d %t %y %*f" \
+		-f "%a %u/%g %s %y-%m-%d %t %*f" \
+		-f "%a %l %u %g %s %m %d %{yt} %*f" \
+		-f "%10a %u/%g %s %m %d %t %y %*f" \
+		-f "%9a %u/%g %s %m %d %t %y %*f" \
+		-f "%a %u %g %s %m %d %t %y %*f" \
+		-f "%a %u/%g %m %d %t %y %*f"
+
+launch ".Z"	"zcat %C|$PAGER"
+launch ".gz"	"gzip -cd %C|$PAGER"
+launch ".bz2"	"bzip2 -cd %C|$PAGER"
+launch ".xz"	"xz -cd %C|$PAGER"
 
 # examples for MS-DOS
 #launch ".lzh"		"lha v %S" %
@@ -633,6 +668,21 @@
 #launch ".zip"	"unzip -lqq %S"		" %s %y-%m-%d %t %*f"
 #launch ".zip"	"pkunzip -vb %S"	" %s %x %x %x %y-%m-%d %t %*f" 14 2
 
+# Debian package
+#launch ".deb" "ar p %C data.tar.gz|gzip -dc|tar tvf - "\
+#                   "%a %u/%g %s %y-%m-%d %t %f"
+
+# rpm package
+launch ".rpm" "rpm2cpio %C|cpio -tv"  "%a %x %u %g %s %m %d %y %f"
+
+# ePub format
+launch ".epub"	"unzip -lqq"		" %s %m-%d-%y %t %*f"
+
+# Microsoft Office Open XML formats
+launch ".docx"	"unzip -lqq"		" %s %m-%d-%y %t %*f"
+launch ".xslx"	"unzip -lqq"		" %s %m-%d-%y %t %*f"
+launch ".pptx"	"unzip -lqq"		" %s %m-%d-%y %t %*f"
+
 # archiver definition
 #(Default)
 #arch ".lzh"	"lha aq %C %TA"			"lha xq %C %TA"
@@ -645,7 +695,7 @@
 #arch ".taz"	"tar cf - %T|gzip -c > %C"	"gzip -cd %C|tar xf - %TA"
 #arch ".tgz"	"tar cf - %T|gzip -c > %C"	"gzip -cd %C|tar xf - %TA"
 #(Examples)
-#arch ".zip"	"zip -q %C %TA"			"unzip -q %C %TA"
+arch ".zip"	"zip -q %C %TA"			"unzip -q %C %TA"
 #arch ".zoo"	"zoo aq %C %TA"			"zoo xq %C %TA"
 #arch ".rar"	"rar a -inul %C %TA"		"unrar x -inul %C %TA"
 
@@ -659,6 +709,24 @@
 #arch ".tgz"	"tar cf - %T|gzip -c > %C"	"gzip -cd %S|tar xf - %TA"
 #arch ".zip"	"pkzip %S %TA"			"pkunzip %S %TA"
 
+arch ".tar.xz" \
+		"tar cf - %T|xz -c > %C"	"xz -cd %C|tar xf - %TA"
+
+# Debian package
+#arch ".deb"    "clear; echo ERROR; false"\
+#       "ar p %C data.tar.gz|gzip -dc|tar -xf - %TA"
+
+# rpm package
+arch ".rpm"   "clear; echo ERROR; false"      "rpm2cpio %C|cpio -id %TA"
+
+# ePub format
+arch ".epub"	"zip -q %C %TA"			"unzip -q %C %TA"
+
+# Microsoft Office Open XML formats
+arch ".docx"	"zip -q %C %TA"			"unzip -q %C %TA"
+arch ".xslx"	"zip -q %C %TA"			"unzip -q %C %TA"
+arch ".pptx"	"zip -q %C %TA"			"unzip -q %C %TA"
+
 # key bind definition
 #(Examples)
 #bind 'I'	"dir -d %C"