ああ、私のxmonad!


よく、私は私の個人的なラップトップ+デスクトップのほとんどすべてのLinux(Debianバスターに現在)を使用し、Linuxを使用すると、ほとんどすべてのオプションのプラグアンドプレイとそれを使用するためのオプションを取得します.
Linuxでは、様々なGUIをご利用いただけますし、私の個人的な好みは、GNOME 3のクリーンなユーザーインターフェイスのため、それはルックアンドフィールを可能に微調整されます.

Guisの問題点
  • 様々なWindowsを管理する方法.私は結局余分なモニターを買いました.
  • スペースの問題は、タイトルバーや字幕バーなどのように最後にあなたは実際の作業のための非常に小さなスペース(実際には小さい)で終わる.
  • いつか、それは低迷し、Guisのものに費やすより多くのリソースを必要と感じる.
  • あなたが使用するつもりはないguisと一緒に得る不要なもの.

  • それで、修正は何ですか?
    ウィンドウマネージャを入力します.多くのオプションが利用可能ですが、私のお気に入りはxmonadです.
    Xmonad HaskellとDIY Tilling Managerで書かれた最小限のタイル張りのウィンドウマネージャは、それが設定ファイルを介してあなたのxmonadを管理するために必要なバッテリーが付属していないことを意味します
    ~/.xmonad/xmonad.hs
    
    xmonadは非常に軽くて使いやすいです(実際には簡単ではない)しかし、一度あなたはそれを愛することになる用語を理解し、再びあなたは少しビットHaskellを学ぶことはクールではないですか?
    タイル張りのウィンドウマネージャについてのもう一つのクールなことは、キーボード駆動アプローチに向かって移動し、それは私のために、少なくとも生産性と超生産性を意味します.

    構成
    xmonadの設定ファイルスニペットを歩きましょう
    import XMonad
    import System.Exit
    
    import qualified XMonad.StackSet as W
    import qualified Data.Map        as M
    
    myTerminal      = "terminator"
    
    myBorderWidth   = 1
    
    myModMask       = mod1Mask
    
    上記の設定で
  • デフォルトを定義しましたterminal と私はTerminator .
  • 定義myModmask これはmodkey バインドするmod1Mask 左を意味するAlt QWERTYキーボードのキー.

  • キーバインド
    myKeys conf@(XConfig {XMonad.modMask = modm}) = M.fromList $
    
        [ ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
    
    
        , ((modm , xK_Print), spawn "scrot screen_%Y-%m-%d-%H-%M-%S.png -d 1")
    
    
        , ((modm .|. controlMask, xK_Print), spawn "scrot window_%Y-%m-%d-%H-%M-%S.png -d 1-u")
    
    
        , ((modm,  xK_p), spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"")
    
    
        , ((modm .|. shiftMask, xK_p), spawn "gmrun")
    
    
        , ((modm .|. shiftMask, xK_c), kill)
    
    
        , ((modm, xK_h), sendMessage Shrink)
    
    
        , ((modm,xK_l), sendMessage Expand)
    
    
        , ((modm,xK_t), withFocused $ windows . W.sink)
    ]
    
    
    上記はちょうど私のxmonad configファイルからの断片です.上記のスニペットで見ているキーワードを見てみましょう.
    XMonad.modMask = modm
    
    私のメタキーまたはmodキーのために、私はmodmを使用しています.後で、キーバインドを定義できます.
  • 端末を起動する
  • ((modm .|. shiftMask, xK_Return), spawn $ XMonad.terminal conf)
    
    上記のコードスニペットは、meta key or mod key 私の場合Alt キーとshiftMask = Shift Key プラスEnter = xK_Return to spawn マイターミナルTerminator .
  • スクリーンショット
  • ((modm , xK_Print), spawn "scrot screen_%Y-%m-%d-%H-%M-%S.png -d 1")
    
    , ((modm .|. controlMask, xK_Print), spawn "scrot window_%Y-%m-%d-%H-%M-%S.png -d 1-u")
    
    フルスクリーンのスクリーンショットを取るか、集中したウィンドウのキーをバインドするmodm and ControlKey + PrintScreen Key そしてデーモン名を生成するscrot . 他の注意scrot スタンドSCReenshoT .
  • メニューまたはdmenuを開く
  • ((modm,  xK_p), spawn "exe=`dmenu_path | dmenu` && eval \"exec $exe\"")
    
    上記のコマンドはdmenuをオープンします、そして、我々はちょうど我々がアクセスしたいプログラム名をタイプすることができますnautilus , brave , emacs など
  • フォーカスウィンドウを閉じる
  • ((modm .|. shiftMask, xK_c), kill)
    
    上記のコマンドはalt and shift + c フォーカスされたウィンドウをkillします.
  • 窓を縮める
  • ((modm, xK_h), sendMessage Shrink)
    
    上記のコマンドはalt + h フォーカスウィンドウを縮小します.
  • 窓を広げる
  • ((modm,xK_l), sendMessage Expand)
    
    上記のコマンドはalt + l フォーカスされたウィンドウを展開します.
  • 次のウィンドウにフォーカスを移動するには
  • ((modm,xK_j), sendMessage Expand)
    
  • 前のウィンドウにフォーカスを移動するには
  • ((modm,xK_j), sendMessage Expand)
    
  • タイリングモードを切り替える
  • ((modm, xK_space ), sendMessage NextLayout)
    
    
    すべての上記のキー割り当ては、海から数滴です.より多くの設定設定の公式ドキュメントを参照してください.

    結論
  • あなたが最小限のGUIを必要とするとき、Tiling Window Managerは本当に良いです、そして、主に、あなたの仕事はキーボード駆動です.
  • タイリングウィンドウマネージャは実際にそれが本当に動作するようにあなたの心を再配線する必要があるいくつかの学習が必要です.
  • タイル張りのウィンドウマネージャは軽量であり、ローエンドマシン、古いマシンで動作することができます.
  • ハッピーティリング!