• R/O
  • HTTP
  • SSH
  • HTTPS

コミット

タグ
未設定

よく使われているワード(クリックで追加)

javac++androidlinuxc#windowsobjective-ccocoa誰得qtpythonphprubygameguibathyscaphec計画中(planning stage)翻訳omegatframeworktwitterdomtestvb.netdirectxゲームエンジンbtronarduinopreviewer

Japanese translation of message catalog for Sawfish Window-Manager


コミットメタ情報

リビジョン4d6e27d749d9e24b9db25629aca08dbe501f4aca (tree)
日時2013-04-16 04:28:09
作者Jose Antonio Ortega Ruiz <jao@gnu....>
コミッターJose Antonio Ortega Ruiz

ログメッセージ

New #:master predicate for wm.tile.tall/tall-tiling

One can now specify a predicate that will be used to select which
window(s) can occupay the master pane in tall tilings.

変更サマリ

差分

--- a/lisp/sawfish/wm/tile/readme.org
+++ b/lisp/sawfish/wm/tile/readme.org
@@ -28,6 +28,9 @@
2828 automatically whenever a new window is created (default: #t).
2929 - =right= A boolean indicating whether the main window should be
3030 placed to the right rather than to the left side (default: #f).
31+ - =master= A function taking a window and returning a boolean
32+ indicating whether the given window can occupy the main pane
33+ (default: =(lambda () #t)=).
3134
3235 - *column tile* Divide the screen in the given number of columns and
3336 distributed windows among them. All columns have the same width
--- a/lisp/sawfish/wm/tile/tall.jl
+++ b/lisp/sawfish/wm/tile/tall.jl
@@ -27,12 +27,13 @@
2727
2828 (define (tall-tiling n #!key
2929 (width 2) (top 0) (bottom 0) (gap 0)
30- (max 2) (auto t) (right #f))
30+ (max 2) (auto t) (right #f) (master #f))
3131 (register-workspace-tiler n
3232 tall-tiler
3333 (list width top bottom gap max right)
3434 auto
35- 'tall-tiler))
35+ 'tall-tiler
36+ master))
3637
3738 (define (tall-tiler master ignore)
3839 (let ((windows (tileable-windows ignore)))
--- a/lisp/sawfish/wm/tile/tiler.jl
+++ b/lisp/sawfish/wm/tile/tiler.jl
@@ -46,9 +46,9 @@
4646 (list (lambda ()
4747 (restore-windows current-workspace))))
4848
49- (define (register-workspace-tiler ws tiler args auto #!optional name)
49+ (define (register-workspace-tiler ws tiler args auto #!optional name picker)
5050 (let ((curr (assoc ws %tilers))
51- (new (list tiler args auto name)))
51+ (new (list tiler args auto name (or picker (lambda (w) #t)))))
5252 (if (null curr)
5353 (setq %tilers (cons (list ws new null-tiler) %tilers))
5454 (setcdr curr (cons new (cdr curr))))))
@@ -79,6 +79,8 @@
7979
8080 (define (tiling-name ti) (nth 3 ti))
8181
82+ (define (tiling-master-picker ti) (nth 4 ti))
83+
8284 (define (tileable-windows #!optional ignore)
8385 (let ((ws (tileable-workspace-windows ignore))
8486 (tp (nth 2 (tiling))))
@@ -86,11 +88,18 @@
8688
8789 (define (current-tiler-name) (tiling-name (tiling)))
8890
91+ (define (pick ti master ignore)
92+ (let ((test (tiling-master-picker ti)))
93+ (or (and master (not (eq master ignore)) (test master) master)
94+ (let ((wl (tileable-workspace-windows ignore)))
95+ (or (car (filter test wl)) master (car wl))))))
96+
8997 (define (tile-workspace #!optional new-window destroyed-window)
9098 (interactive)
9199 (let ((ti (tiling)))
92100 (when ti
93- ((tiling-tiler ti) new-window destroyed-window))))
101+ ((tiling-tiler ti) (pick ti new-window destroyed-window)
102+ destroyed-window))))
94103
95104 (define (untile-window w)
96105 (interactive "%f")