Login
Immutable PageDiscussionInfoAttachments

Revision 12 as of 2011-09-11 18:07:05

Clear message
clear/note/2011-09

MMA

2011年9月

09/02

vim fileencodings

どういう順番で書けば良いのかいまいちよく分からず文字化けに悩まされていたが、ここを見てようやく理解した。

09/03

vim matchparen

vimを使っていると、かっこにカーソルが当たったときに対応するかっこがハイライトされるが、チカチカして目が痛くなったので切った。.vimrc

set noshowmatch

と書くのは誤りで(これは対応するかっこに「一瞬移動」する。しかもデフォルトではoff)、こう書けば良い。

let loaded_matchparen=1

これでかっこをハイライトするプラグインが読み込まれなくなる。つり合いを確認したい場合は%を使えばいい。

FreeBSDでCDを再生したい with mplayer

CD-DAを扱うためにaudio/cdparanoiaが必要。mplayerのconfigオプションに項目があるので忘れずにチェックを入れること。

09/04

dwm patch

作りたい。

09/07

Window"s"なんだからウィンドウを重ねたくない

Windowsでもタイルっぽく配置してくれる何かが欲しくなってきた。以下考えたこととかを箇条書き。

実現するかどうかは分からない。

focus-follows-mouse on Windows

上のを書いてて、グローバルフックでマウスを捕まえればWindowsでfocus-follows-mouseを実現できるのではないか、と考えた。滅茶苦茶重くなる可能性もあるが。

そんなことするまでも無く設定項目があった。コントロールパネル -> コンピューターの簡単操作 -> マウスの動作の変更 -> マウスポインターをウィンドウ上に合わせたときにウィンドウを選択します、にチェック。(Windows7、コントロールパネルは表示方法: カテゴリ)

ただし、フォーカスが当たったウィンドウは強制的に最前面に出てくる。twmとかdwmみたいにZオーダーが変わらないと便利な局面があるのだが……あと、小さいウィンドウはフォーカスを外してしまいがちで、捕まえるのが難しかったりする。

09/11

dwmでウィンドウの順序を回転する

   1 --- dwm.original.c	2011-09-04 14:38:30.232071429 +0900
   2 +++ dwm.c	2011-09-16 00:14:43.811560391 +0900
   3 @@ -206,6 +206,7 @@
   4  static void resizeclient(Client *c, int x, int y, int w, int h);
   5  static void resizemouse(const Arg *arg);
   6  static void restack(Monitor *m);
   7 +static void rotate(const Arg *arg);
   8  static void run(void);
   9  static void scan(void);
  10  static Bool sendevent(Client *c, Atom proto);
  11 @@ -1403,6 +1404,18 @@
  12  }
  13  
  14  void
  15 +rotate(const Arg *arg) {
  16 +	Client *c, *bottom;
  17 +
  18 +	if(!selmon->lt[selmon->sellt]->arrange)
  19 +		return;
  20 +	for(bottom = c = nexttiled(selmon->clients); c; c = nexttiled(c->next))
  21 +		bottom = c;
  22 +	if(bottom)
  23 +		pop(bottom);
  24 +}
  25 +
  26 +void
  27  run(void) {
  28  	XEvent ev;
  29  	/* main event loop */
  30 @@ -2067,3 +2080,4 @@
  31  	XCloseDisplay(dpy);
  32  	return EXIT_SUCCESS;
  33  }
  34 +
  35 

こういうことがしたかったので作った。dwm-5.9-rotate.diff

dwm_tile.png

例によってconfig.hkeys[]に追加する必要がある。実装は、オリジナルのzoom()(フォーカスの当たっているウィンドウをmasterに持ってくる関数)とほとんど変わらない。