問題タブ [window-managers]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
0 に答える
1003 参照

vim - vim のパワーを WM に導入: モーダル ウィンドウ管理?

私は Vim の大ファンで、非常に効率的なモーダル編集スタイルを主に使用しています。Vim である程度の経験を積んだ後、効率的で迅速なキーボードの使用に関する哲学を共有する他のソフトウェアに取り掛かることにしました。これにより、当然ながら、ウィンドウ スペース、ワークスペース/タグ、複数の画面などをすべてキーボード ショートカットで効率的に管理できる、タイリング ウィンドウ マネージャーにたどり着きました。

TWM のユーザーの大部分は Vim を使用しているようですが、なぜ Vim のようなウィンドウ マネージャーがないのか疑問に思っていました。これにより、ウィンドウを管理するために不自然に配置された修飾子を使用するのではなく、すべてのウィンドウ管理をキーストロークで行う特定のモードに入る必要があることを意味します。

そうすれば、wmモードに入ってすべての操作を実行し、単一のキーストロークですべての操作を実行して終了することができますwm。そのようなウィンドウ管理スタイルは存在しますか?存在しない場合、なぜでしょうか?

0 投票する
1 に答える
2372 参照

android - WindowManager に追加されたカスタム ビューのアニメーション

ドラッグ機能のために windowManager に挿入されたカスタム ビューがあり、OnDraw()メソッドをオーバーライドします。アニメーションを変換してアニメーション化しようとしていますが、アニメーションは開始されません (animationListener もアニメーションをキャッチしません)。代わりに、ビューがアニメーションの開始点から終了点に「ジャンプ」します。

これはカスタム ビューです。

これは私がアニメーションを開始する方法です:

0 投票する
2 に答える
6073 参照

haskell - 全画面フローティング ウィンドウからのみ境界線を削除する (XMonad 構成)

私はしたいと思います

  1. 全画面を覆うフローティング ウィンドウ (mplayer など) から境界線 (のみ) を削除します。
  2. ワークスペースにウィンドウが 1 つしかない場合は、別の境界色 (normalBorderColor) を使用します。

現在、XMonad.Layout.NoBorders の smartBorders を使用して、mplayer から境界線を削除し、そのウィンドウがワークスペース内の唯一のウィンドウである場合にウィンドウの境界線を削除しています。ただし、(モード (トール/ミラー/フル) に関係なく) 単一の非フローティング ウィンドウを持つ 2 つのワークスペースを切り替えると、ウィンドウが表示されます (私が変更しているワークスペースで) 少し「ジャンプ」します。その境界線が描画され、その後少しの間削除されます (borderWidth を大きな数値に設定すると、効果がより顕著になります)。

~/.xmonad/xmonad.hs の関連部分を以下に示します。

私がこの効果をどのように達成するか知っていますか?(パート 2. は可能ですか?) 同様の効果を実現する拡張機能や既存の構成への提案やポインタは大歓迎です。

0 投票する
0 に答える
413 参照

macos - Mac OS X 用のウィンドウ マネージャー タイプのオーバーレイの作成

OS X 用の独自のウィンドウ マネージャーを作成するか、少なくとも新しいウィンドウ マネージャーのように見せたいと考えています。本に書いたデザインがたくさんあり、それを実装したいと思っています。これらには、メニュー バーの変更、または完全な削除、アプリケーションを切り替えるためのまったく新しい GUI の作成などが含まれます。

OS X にはウィンドウ マネージャーがなく、基本的に X11 ウィンドウ マネージャーが実行する機能は、Carbon、Cocoa、Dock アプリケーション、およびウィンドウ サーバーによって実行されることを知っています。ハードウェア レベルで独自の API などを作成するには、信じられないほどの量のリバース エンジニアリングが必要になると読んだことがあります。私はまだプログラミングが得意ではありませんが、そのような時間はありません。そのため、OS X 上で別のウィンドウ マネージャーのように機能し、通常の OS GUI/ウィンドウ マネージャーが行うすべてのことを実行するアプリケーションを実行することを考えていました。

これは可能ですか?例:特定のキーの組み合わせで表示されるカスタムボタンを作成し、クリックしてドキュメントビューアーにアクセスしたり、時間を変更したり、ウィンドウを最小化したりすることができます。このような基本的なタスク/アクションに機能にアクセスする方法はありますか? OS X のデフォルトのボタン コントロールを使用せずに、自分の GUI でそれらを実装しますか? 単純なテーマの変更以上のことを話しているのですが、ユーザー エクスペリエンスを完全に変更したいと考えています。これは、このアプリケーションがデフォルトの OS X メニュー バーをブロックするフル スクリーン モードで実行されることを意味します。

グラフィックス アーキテクチャを使用して独自のウィンドウ マネージャをプラグインするという話を聞いたことがありますか? これも選択肢になるの?もしそうなら、どうすればそれを行うことができますか?

0 投票する
1 に答える
118 参照

perl - Perlからの定義されたパスでウィンドウを開く方法は?

これらの要件を持つタスクがあります。Ubuntu12.04では、ユーザーがPerlスクリプトで設定した定義済みのパスを使用してNautilus(ファイルマネージャー)のインスタンスを開く必要があります。

それを行うためのアプローチはありますか?返信ありがとうございます。

UPD そして、フォルダ(パス)にあるすべてのファイルから特定のファイルを選択することは可能ですか?

0 投票する
0 に答える
655 参照

window - pygtk ウィンドウの最小化と最大化

私はpygtkを使用しており、ウィンドウを最小化(アイコン化)すると、ウィンドウマネージャーはそのアニメーションを使用してそれを行います。最小化する前に(ユーザーはそれを行うことはできません;コードからのみ最小化ボタンはありません)、デスクトップの右側のサイズにあります。ユーザーがタックバー アイコン wm をクリックすると、ウィンドウが表示されますが、右側ではなく、画面の中央に移動します。この動作を削除する方法はありますか? ubuntu 12.04 を使用しています。

0 投票する
1 に答える
293 参照

python - linux/tcl/python で開いている、または起動しているアプリケーションを監視するにはどうすればよいですか?

私は、avant ウィンドウ ナビゲーターや ubuntu unity のようなパネル アプリケーションを構築しようとしています。

私の質問は、事前に定義されたアプリケーションでパネルを作成したら、アプリケーションが開いているか起動しているときにパネルにアイテムを追加するにはどうすればよいですか?

Tcl のソース コードは次のとおりです。

これを実現できる端末、tcl、または python コマンドはありますか?

洞察に感謝します。前もって感謝します。

0 投票する
3 に答える
1573 参照

taskbar - Awesome WM がアイテムをタスクリストに追加する方法を変更するには?

他のウィンドウ マネージャーと同じ方法でタスク リストに項目を追加する素晴らしい WM が欲しいです。基本的に、awesome でアプリケーションを開くと、前のアプリケーションの前のタスクリストに配置されます。

たとえば、xterm、gvim、firefox の順に開いた場合、タスクリストには最初に firefox、次に gvim、最後に xterm が表示されます。

Gnome や KDE などのほとんどのウィンドウ マネージャは、開いているときと同じ順序で項目を追加します。

AWESOME でこの動作を実現することは可能ですか?

ありがとうございました。

0 投票する
1 に答える
1400 参照

c++ - QWidget / QWindow タイトル バー: カスタム ルック、ネイティブ フィール (Chrome に類似)

QWidget (Qt4 または Qt5) / QWindow (Qt5 以降) をボーダレスにする方法を知っています。カスタム タイトル バーを描画し、マウスのドラッグを手動で実装して、マウスの位置をいくつか追跡しmouseMoveEvent、ウィンドウを更新するだけで画面上のウィンドウを移動します。位置。

ただし、この動作は、ウィンドウ マネージャーによって実装されているネイティブの動作とは異なります。たとえば、ウィンドウを画面の境界近くに移動すると、「フルスクリーン」または「分割画面」と解釈できます。または、システム/ウィンドウ マネージャーに応じて、ウィンドウが互いの境界線にスナップします。上記のようなウィンドウの移動を実装すると、これらのことは機能しません。

Google Chrome / Chromium は、ウィンドウ マネージャーのネイティブな動作に適応しながら、カスタム ウィンドウのタイトル バーと境界線を実装するアプリケーションの一例にすぎません。Chrome がこれらを単独で実装する (そしてウィンドウ マネージャーとその構成を検出する) のか、それともほとんどのウィンドウ マネージャーに「ネイティブ ウィンドウの移動を開始する」ことを伝える機能があるのか​​ (明らかに、これは依然としてプラットフォームに大きく依存する) かどうか疑問に思っています。 「ネイティブウィンドウの動きを止める」など。

Qtでそのようなことは可能ですか?そうでない場合は、Qxt などの他のライブラリを使用することはできますか?

参考までに: 私は主に Windows と Linux をターゲットにしていますが、ユーザーが任意のウィンドウ マネージャーをインストールすることが難しいことがわかっています。