X Xmonadを使用して、2つのモニターを1つの大きな画面に接続します。これを防ぐ方法は?

X Xmonadを使用して、2つのモニターを1つの大きな画面に接続します。これを防ぐ方法は?

i3またはGnomeを使用すると、モニターごとにワークスペース/デスクトップがありますxdpyinfo

1つではなく2つの画面を使用するようにXをどのように設定しますか?

答え1

XMonadがXineramaサポートでコンパイルされていないようです。以下の指示に従って確認できます。https://wiki.haskell.org/Xmonad/Frequently_asked_questions#Multi_head_or_xinerama_troubles

問題を診断するには、コマンドラインから次のコマンドを実行します。

ghc -e Graphics.X11.Xinerama.compiledWithXinerama

出力がTrueの場合は、以下のgetScreenInfoテストにスキップしてください。出力がFalseの場合、Haskell X11ライブラリはXinerama用に構築されていません。

答え2

XMonadについて教えてくれてありがとう。試してみる価値がある興味深いウィンドウマネージャのようです。昨日の記事を投稿してわかるように、私はデュアルモニター設定がないので、普段はこの質問に答えませんが、一日が過ぎたので少なくとも答えが得られると思いました。

その文書を確認してください。https://wiki.haskell.org/Xmonad/Frequently_asked_questions、リンクが見つかりました。https://hackage.haskell.org/package/xmonad-contrib-0.15/docs/XMonad-Layout-IndependentScreens.htmlこれは明らかにあなたが望むことを実際に行う方法を教えてくれます。

ファイルに次の内容を追加する必要があります~/.xmonad/xmonad.hs

import XMonad.Layout.IndependentScreens
myConfig = def { workspaces = withScreens 2 ["name1", "name2"] }

その後、ページでは、個々のワークスペースを参照するためにキーバインディングを設定する方法について詳しく説明します。明らかに、キーバインディング用のデフォルト設定ファイルには次の行があります。

    [((m .|. modm, k), windows $ f i)

これは次のように変更する必要があります。

    [((m .|. modm, k), windows $ onCurrentScreen f i)

実際にページを使わなくてもわかるのはこれがすべてです。

関連情報