ログイン
編集不可のページディスカッション情報添付ファイル
"clear/note"の差分

MMA
1と23のリビジョン間の差分 (その間の編集: 22回)
2011-01-07 22:00:14時点のリビジョン1
サイズ: 687
編集者: clear
コメント:
2011-01-27 20:49:48時点のリビジョン23
サイズ: 7134
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 1: 行 1:
#acl clear:read,write,delete,revert,admin Known:read Room:read All:
行 2: 行 4:
行 7: 行 10:
  * japanese/rxvtはTERMがktermとなるようパッチが当たっていた
行 11: 行 15:

=== 2011/01/09 @自宅のFreeBSDマシン ===
 * ibus-setupがLANG=ja_JP.eucJPだとコアダンプを吐いて落ちた
  * LANG=CとかLANG=ja_JP.UTF-8では大丈夫だった
  * 正確にはpythonが落ちたというべきか

=== 2011/01/11 ===
FreeBSDのlsでカラー表示する方法 -> `"ls -G"`
 * 色の変更は環境変数LSCOLORSを設定する。書式はls(1)を参照
 * 今は`LSCOLORS="gxfxbxdxcxegedabagacad"`として`alias ls='ls -G'`している

@termimage64 - XDMのログイン画面が残念な問題
 * ディスプレイの幅めいっぱいに表示される
 * フォントの設定は/usr/local/lib/X11/xdm/Xresourcesでなされる
{{{
#if WIDTH > 800
xlogin*greetFont: -adobe-helvetica-bold-o-normal--24-240-75-75-p-138-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xlogin*failFont: -adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xlogin*greetFace: Serif-24:bold:italic
xlogin*face: Helvetica-18
xlogin*promptFace: Helvetica-18:bold
xlogin*failFace: Helvetica-18:bold
#else
xlogin*greetFont: -adobe-helvetica-bold-o-normal--17-120-100-100-p-92-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1
xlogin*failFont: -adobe-helvetica-bold-o-normal--14-140-75-75-p-82-iso8859-1
xlogin*greetFace: Serif-18:bold:italic
xlogin*face: Helvetica-12
xlogin*promptFace: Helvetica-12:bold
xlogin*failFace: Helvetica-14:bold
#endif
}}}
WIDTH > 800という辺りが怪しい気がしたので、試しにこれを以下のように編集してみた。
{{{
!#if WIDTH > 800
#if 0
...
#else
...
#endif
}}}
これで幅めいっぱいで表示されることはなくなった。小さくなった「だけ」というべきか。
 * 適当に過ぎる修正法なので後でちゃんとやる
  * WIDTHに関する場合分けを部室のディスプレイに合わせて調整すれば良さそう
 * einではさらに残念なことになっている。具体的には完全モノクロでXのロゴも表示されない
  * こちらは原因究明から
  * Xresourcesに"#ifdef COLOR...#else...#endif"という怪しげなくだりがある。このCOLORはどこからやって来るのか。少なくとも同一ディレクトリ内の他のファイルでは出現していない
   * 違った。#else...#endifの方でも、全体的にモノクロかつ平坦になるだけで、ロゴも表示される
  * そもそもXresourcesが読まれてない模様。根本的に別のところに原因があるようだ

=== 2011/01/12 ===
FreeBSD: /usr/X11R6は'''/usr/local'''のシンボリックリンクだった

X11のフォントまわりのメモ
 * コアフォント
  * 古くからの方法。指定には[[http://ja.wikipedia.org/wiki/XLFD|XLFD]]という表記法を使う。
  * xlsfontsコマンドでフォントを列挙。また、xfontselコマンドによってGUI上でXLFDを組み立てられる
 * Xft
  * 比較的新しい方法。<フォント名>-<サイズ>:<属性>=<値>...という書式で設定する
    * [[http://keithp.com/~keithp/render/Xft.tutorial|チュートリアル]]
  * アンチエイリアスを使える
  * fc-listコマンドでフォントを列挙できる(出力がUTF-8なのに注意)
   * 正確には、これはXftが依存するfontconfigの一部らしい

ふたたび端末のXDMのフォント

xdm(1)によれば、Xftを有効にしてコンパイルされているか否かでどこを見るかが異なる。
 * Xft有効 -> face, greetFace, promptFace, failFace
 * Xft無効 -> font, greetFont, promptFont, failFont
||リソース名||対応する箇所||
||face|font||テキストボックス||
||greet*||Welcome to ...||
||prompt*||Login:||
||fail*||Login incorrect||
端末のXDMはXft有効でコンパイルされているようなので、*faceの方を設定すれば良い。

ということで以下のように設定した。
{{{
#if WIDTH >= 1280
xlogin*greetFace: Sans-24
xlogin*face: Sans-18
xlogin*promptFace: Sans-18
xlogin*failFace: Sans-14:bold
#elif WIDTH >= 1024
xlogin*greetFace: Sans-18
xlogin*face: Sans-16
xlogin*promptFace: Sans-16
xlogin*failFace: Sans-12:bold
#else
xlogin*greetFace: Sans-16
xlogin*face: Sans-14
xlogin*promptFace: Sans-14
xlogin*failFace: Sans-10:bold
#endif
}}}
 * faceとpromptFaceのフォントサイズを合わせないと表示がずれる

=== 2011/01/26 ===
rxvt-unicodeを投げ捨てようと思い立った。
 * FreeBSD、LANG=ja_JP.eucJPな状況下で、フォントを設定しても日本語フォントが豆腐と化す。(ja_JP.UTF-8だとまともに表示される)
  * 色々試したけど解決しそうにない。もう.Xresoucesと戦い続けるのは嫌だ。
 * そうだ、mltermを使おう
mltermに対する今のところ唯一の不満: 背景透過の仕様
 * どうやら、ウィンドウサイズの変更やウィンドウの移動によって背景が更新され'''ない'''模様
  * urxvtとかgnome-terminalではちゃんと反映される
{{attachment:mlterm_scrshot01.png|mlterm_screenshot|width=512}}
 * ご覧のとおりの惨状である
 * 背景透過は諦めたくない
WindowsでいうところのWM_SIZEとかWM_MOVEにあたるところで背景のpixmapを変更してやれば良いんだよね…ということで、mltermのソースを読んでいる。
 * XSetWindowBackgroundPixmap(3)という、そのものずばり過ぎるものがXlibにあって、これを使っていた
 * あとは適切なタイミングで変更するようにパッチを書けば良いはず

=== 2011/01/27 ===
 * どうやらmlterm-3.0.2からは透過した背景が更新されるようになった模様
  * パッチ当てるまでもなかった
 * ウィンドウが一度非表示になった後再出現したとき(e.g. dwmのタグ間でのウィンドウの移動)への対応はまだできていない

雑多な記録。作業ログなど

2011/01/07 @termimage64

  • sysutils/nitrogenを入れた。壁紙表示用
  • 日本語が表示できなかったrxvtを入れ直した。japanese/rxvtではなくx11/rxvtが入っていた?
    • 見た限りでは問題なく動いている
    • japanese/rxvtはTERMがktermとなるようパッチが当たっていた
  • x11/rxvt-unicode(urxvt)を入れた。
    • urxvtは起動時にLC_CTYPEを見てエンコーディングを決めているらしい
    • UTF-8ではまともに動くが、EUC-JPではロケールを合わせても日本語が正しく表示されず、使い物にならない
    • もうしばらく色々調べて、駄目そうならおとなしくmltermやgnome-terminalを使う...

2011/01/09 @自宅のFreeBSDマシン

  • ibus-setupがLANG=ja_JP.eucJPだとコアダンプを吐いて落ちた
    • LANG=CとかLANG=ja_JP.UTF-8では大丈夫だった
    • 正確にはpythonが落ちたというべきか

2011/01/11

FreeBSDのlsでカラー表示する方法 -> "ls -G"

  • 色の変更は環境変数LSCOLORSを設定する。書式はls(1)を参照
  • 今はLSCOLORS="gxfxbxdxcxegedabagacad"としてalias ls='ls -G'している

@termimage64 - XDMのログイン画面が残念な問題

  • ディスプレイの幅めいっぱいに表示される
  • フォントの設定は/usr/local/lib/X11/xdm/Xresourcesでなされる

#if WIDTH > 800
xlogin*greetFont: -adobe-helvetica-bold-o-normal--24-240-75-75-p-138-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--18-180-75-75-p-98-iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xlogin*failFont: -adobe-helvetica-bold-r-normal--18-180-75-75-p-103-iso8859-1
xlogin*greetFace:   Serif-24:bold:italic
xlogin*face:        Helvetica-18
xlogin*promptFace:  Helvetica-18:bold
xlogin*failFace:    Helvetica-18:bold
#else
xlogin*greetFont: -adobe-helvetica-bold-o-normal--17-120-100-100-p-92-iso8859-1
xlogin*font: -adobe-helvetica-medium-r-normal--12-120-75-75-p-67-iso8859-1
xlogin*promptFont: -adobe-helvetica-bold-r-normal--12-120-75-75-p-70-iso8859-1
xlogin*failFont: -adobe-helvetica-bold-o-normal--14-140-75-75-p-82-iso8859-1
xlogin*greetFace:   Serif-18:bold:italic
xlogin*face:        Helvetica-12
xlogin*promptFace:  Helvetica-12:bold
xlogin*failFace:    Helvetica-14:bold
#endif

WIDTH > 800という辺りが怪しい気がしたので、試しにこれを以下のように編集してみた。

!#if WIDTH > 800
#if 0
...
#else
...
#endif

これで幅めいっぱいで表示されることはなくなった。小さくなった「だけ」というべきか。

  • 適当に過ぎる修正法なので後でちゃんとやる
    • WIDTHに関する場合分けを部室のディスプレイに合わせて調整すれば良さそう
  • einではさらに残念なことになっている。具体的には完全モノクロでXのロゴも表示されない
    • こちらは原因究明から
    • Xresourcesに"#ifdef COLOR...#else...#endif"という怪しげなくだりがある。このCOLORはどこからやって来るのか。少なくとも同一ディレクトリ内の他のファイルでは出現していない
      • 違った。#else...#endifの方でも、全体的にモノクロかつ平坦になるだけで、ロゴも表示される
    • そもそもXresourcesが読まれてない模様。根本的に別のところに原因があるようだ

2011/01/12

FreeBSD: /usr/X11R6は/usr/localのシンボリックリンクだった

X11のフォントまわりのメモ

  • コアフォント
    • 古くからの方法。指定にはXLFDという表記法を使う。

    • xlsfontsコマンドでフォントを列挙。また、xfontselコマンドによってGUI上でXLFDを組み立てられる
  • Xft
    • 比較的新しい方法。<フォント名>-<サイズ>:<属性>=<値>...という書式で設定する

    • アンチエイリアスを使える
    • fc-listコマンドでフォントを列挙できる(出力がUTF-8なのに注意)
      • 正確には、これはXftが依存するfontconfigの一部らしい

ふたたび端末のXDMのフォント

xdm(1)によれば、Xftを有効にしてコンパイルされているか否かでどこを見るかが異なる。

  • Xft有効 -> face, greetFace, promptFace, failFace

  • Xft無効 -> font, greetFont, promptFont, failFont

リソース名

対応する箇所

face|font

テキストボックス

greet*

Welcome to ...

prompt*

Login:

fail*

Login incorrect

端末のXDMはXft有効でコンパイルされているようなので、*faceの方を設定すれば良い。

ということで以下のように設定した。

#if WIDTH >= 1280
xlogin*greetFace:       Sans-24
xlogin*face:            Sans-18
xlogin*promptFace:      Sans-18
xlogin*failFace:        Sans-14:bold
#elif WIDTH >= 1024
xlogin*greetFace:       Sans-18
xlogin*face:            Sans-16
xlogin*promptFace:      Sans-16
xlogin*failFace:        Sans-12:bold
#else
xlogin*greetFace:       Sans-16
xlogin*face:            Sans-14
xlogin*promptFace:      Sans-14
xlogin*failFace:        Sans-10:bold
#endif
  • faceとpromptFaceのフォントサイズを合わせないと表示がずれる

2011/01/26

rxvt-unicodeを投げ捨てようと思い立った。

  • FreeBSD、LANG=ja_JP.eucJPな状況下で、フォントを設定しても日本語フォントが豆腐と化す。(ja_JP.UTF-8だとまともに表示される)
    • 色々試したけど解決しそうにない。もう.Xresoucesと戦い続けるのは嫌だ。
  • そうだ、mltermを使おう

mltermに対する今のところ唯一の不満: 背景透過の仕様

  • どうやら、ウィンドウサイズの変更やウィンドウの移動によって背景が更新されない模様

    • urxvtとかgnome-terminalではちゃんと反映される

  • ご覧のとおりの惨状である
  • 背景透過は諦めたくない

WindowsでいうところのWM_SIZEとかWM_MOVEにあたるところで背景のpixmapを変更してやれば良いんだよね…ということで、mltermのソースを読んでいる。

  • XSetWindowBackgroundPixmap(3)という、そのものずばり過ぎるものがXlibにあって、これを使っていた
  • あとは適切なタイミングで変更するようにパッチを書けば良いはず

2011/01/27

  • どうやらmlterm-3.0.2からは透過した背景が更新されるようになった模様
    • パッチ当てるまでもなかった
  • ウィンドウが一度非表示になった後再出現したとき(e.g. dwmのタグ間でのウィンドウの移動)への対応はまだできていない

clear/note (最終更新日時 2022-08-10 21:16:16 更新者 clear)