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

MMA
1と17のリビジョン間の差分 (その間の編集: 16回)
2012-05-01 01:00:36時点のリビジョン1
サイズ: 520
編集者: clear
コメント:
2012-05-10 17:31:33時点のリビジョン17
サイズ: 3572
編集者: clear
コメント:
削除された箇所はこのように表示されます。 追加された箇所はこのように表示されます。
行 4: 行 4:
=== XPeekEvent === === PeekMessageとXPeekEventは似てるけど違う ===
行 6: 行 6:
{{{#!highlight c {{{#!highlight c numbers=no
行 16: 行 16:

== 05/03 ==
=== 画面の消灯を防ぐ ===
{{{
xset s off # だけでは足りない
xset dpms 0 0 0
}}}

== 05/07 ==
=== タイル配置について最近思うこと ===
画面解像度がある程度大きく、なおかつ一画面に表示しているウィンドウ数が少ない場合、素直にタイル配置すると見づらくなる場合があるような気がする。特に端末エミュレータやテキストエディタなど文字が上から下に伸びていくタイプのものは、ウィンドウが縦に長いと視線の上下移動が必要になって疲れる、気がする。

ということで、スペースの有効活用という原則には明らかに反するが、こんな感じのタイル配置があってもいいのではないだろうか。(ウィンドウ間に隙間が空いてるのは手動で並べたため)

{{attachment:desktop.png|こんな感じ|width=512 height=300}}

追記:
 * ウィンドウが1枚しかない場合どうするか
 * どういうウィンドウを小さく配置するか、の判定。絶対数(!=使用頻度)で言えばそれほど多くない気もするので、ブラックリスト方式が楽?
 * そもそも気のせいという説

さらに追記:
 * {上下,左右}方向に見て、ウィンドウが一枚しかない状態のときに余白をいれるようにすると多少見やすい、かもしれない
  * 縦横比が極端にならないようにすると同時に、視点を画面中央に近づける
だいたいこんな感じ。
|| {{attachment:tile3.png|nmaster=1|width=400 height=200}} || {{attachment:tile4.png|nmaster>=2|width=400 height=200}} ||

05/10 さらにさらに追記: 上記のようなことを実現するパッチを書いた
 * [[attachment:clear/misc/dwm-6.0-moderatetile.diff]]
 * config.hで縦横のマージン(`vmargin`, `hmargin`)を設定する。値の範囲チェックやってない
 * 実装面ではオリジナルの`tile()`をパクりつつ適当に書き換えただけなので重複が多くあんまり良くない。後で何とかするかも
 * 穏健な(moderate)タイル。解像度高めの環境でないと効果は薄いというかただ画面が狭くなるだけで無意味

== 05/09 ==
=== メモリを大量に食っているプロセスを確認 ===
USER,PID,SIZE,RSS,COMMAND。SIZEでソート
{{{
ps aux | awk '{ print $1,$2,$5,$6,$11 }' | sort -k3,3n | tail
}}}

== 05/10 ==
=== tmuxのstatus line ===
`status-{left,right}`に指定した文字列は`strftime()`に渡される。よって`date`コマンドの書式がそのまま使える(`#(date)`と自分で呼び出す必要がない)。manに書いてあった。

=== FullSearchCached ===
 * [[http://www.mail-archive.com/moin-user@lists.sourceforge.net/msg02035.html|参考]]
文字通り結果はキャッシュされる。キャッシュを更新したい場合`?action=refresh`をつければいいらしい

2012年5月

05/01

PeekMessageとXPeekEventは似てるけど違う

Windows APIのPeekMessage()はメッセージがない場合ただちに返ってくるが、XlibのXPeekEvent()はイベントが来るまでブロックするらしい。XlibでPeekMessage()相当のことをやりたい時はXPending()+XNextEvent()でできそう。

for (;;) {
    if (XPending(dpy)) {
        XNextEvent(dpy, &ev);
        /* ... */
    } else {
        /* イベントがないときの処理 */
    }
}

05/03

画面の消灯を防ぐ

xset s off # だけでは足りない
xset dpms 0 0 0

05/07

タイル配置について最近思うこと

画面解像度がある程度大きく、なおかつ一画面に表示しているウィンドウ数が少ない場合、素直にタイル配置すると見づらくなる場合があるような気がする。特に端末エミュレータやテキストエディタなど文字が上から下に伸びていくタイプのものは、ウィンドウが縦に長いと視線の上下移動が必要になって疲れる、気がする。

ということで、スペースの有効活用という原則には明らかに反するが、こんな感じのタイル配置があってもいいのではないだろうか。(ウィンドウ間に隙間が空いてるのは手動で並べたため)

こんな感じ

追記:

  • ウィンドウが1枚しかない場合どうするか
  • どういうウィンドウを小さく配置するか、の判定。絶対数(!=使用頻度)で言えばそれほど多くない気もするので、ブラックリスト方式が楽?
  • そもそも気のせいという説

さらに追記:

  • {上下,左右}方向に見て、ウィンドウが一枚しかない状態のときに余白をいれるようにすると多少見やすい、かもしれない
    • 縦横比が極端にならないようにすると同時に、視点を画面中央に近づける

だいたいこんな感じ。

nmaster=1

nmaster>=2

05/10 さらにさらに追記: 上記のようなことを実現するパッチを書いた

  • clear/misc/dwm-6.0-moderatetile.diff

  • config.hで縦横のマージン(vmargin, hmargin)を設定する。値の範囲チェックやってない

  • 実装面ではオリジナルのtile()をパクりつつ適当に書き換えただけなので重複が多くあんまり良くない。後で何とかするかも

  • 穏健な(moderate)タイル。解像度高めの環境でないと効果は薄いというかただ画面が狭くなるだけで無意味

05/09

メモリを大量に食っているプロセスを確認

USER,PID,SIZE,RSS,COMMAND。SIZEでソート

ps aux | awk '{ print $1,$2,$5,$6,$11 }' | sort -k3,3n | tail

05/10

tmuxのstatus line

status-{left,right}に指定した文字列はstrftime()に渡される。よってdateコマンドの書式がそのまま使える(#(date)と自分で呼び出す必要がない)。manに書いてあった。

FullSearchCached

文字通り結果はキャッシュされる。キャッシュを更新したい場合?action=refreshをつければいいらしい

clear/note/2012-05 (最終更新日時 2012-05-31 03:01:20 更新者 clear)