2012-02-06 12 views
6

私は、キーボードを使ってウィンドウを浮かべたりシンクしたりするのが好きです。残念ながら浮動小数点型の場合、ウィンドウは移動もサイズも変更されないので、まだタイル化されていないという視覚的な兆候はほとんどありません。理想的には、フロートレイヤーに移動すると、私はそれらを画面の中心に移動させたり、サイズを変更したりします。Xmonad:ウィンドウをフローティングするときに移動またはサイズを変更するとき

以下の関数(または同様のもの)と一緒に使うのが最適なソリューションです。これはキーバインドと呼ばれ、マウスのクリックでフローティングしても正常に動作します。

編集:以下の修正コードでkeysMoveWindowToのものは、実際には交換してください「WINDOWIDフロート」することができ、それが余計になり:

toggleFloat = withFocused (\windowId -> do 
           { floats <- gets (W.floating . windowset); 
           if windowId `M.member` floats 
           then withFocused $ windows . W.sink 
           else float windowId }) 

は(Cコードは、私はまだハスケルのない把握を持っていない、盗まれました)。

答えて

6

xmonad-contribパッケージがインストールされているとします。そして、あなたは修正機能がなるXMonad.Actions.FloatKeys

私は推測を見てみる必要があります:xydxdygx1gy1gx2gy2があなたの設定です

... 
import XMonad.Actions.FloatKeys 
... 

toggleFloat = withFocused (\windowId -> do 
           { floats <- gets (W.floating . windowset); 
           if windowId `M.member` floats 
           then withFocused $ windows . W.sink 
           else do 
            keysMoveWindowTo (x, y) (gx1, gy1) windowId 
            keysResizeWindow (dx, dy) (gx2, gy2) windowId 
           } 
         ) 


docsに記載されたオペレータ%は、Data.Ratioです。 a % bは、分子がaであり、分母がbの有理数を意味します。

import Data.Ratio ((%)) 
+1

母は30分前、私は、でも私のxmonad.hsではまだ多くのcontribのものを追加することを検討するために私の不可解な、自虐拒否を克服し、すぐFloatKeysを見つけ、の周りいじっ:あなたはそれを使用する場合は、インポートする必要があります分、N/MN/M男と言うためにここに急いで。しかし、尊厳が救済されることはありません... StackOverflow.com – user1191815

+0

また感謝! – user1191815

+1

私はこれをやろうとしていて、keysMoveWindowまたはkeysResizeウィンドウを実行するとウィンドウが自動浮動することを発見しました。だから、私はちょうどそれらのためのキーバインドと、 'sinkFocused = withFocused $ windows。彼らを再び沈めるための「W.sink」。 – Jeff

関連する問題