「Xcompmgr」の版間の差分
Kusanaginoturugi (トーク | 投稿記録) (関連記事を削除) |
|||
(3人の利用者による、間の13版が非表示) | |||
4行目: | 4行目: | ||
[[es:Xcompmgr]] |
[[es:Xcompmgr]] |
||
[[ru:Xcompmgr]] |
[[ru:Xcompmgr]] |
||
− | [[zh- |
+ | [[zh-hans:Xcompmgr]] |
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|Compiz}} |
{{Related|Compiz}} |
||
− | {{ |
+ | {{Related|Cairo Compmgr}} |
− | {{Related4|Compton}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
− | [ |
+ | [https://cgit.freedesktop.org/xorg/app/xcompmgr/ Xcompmgr] はシンプルな[[Wikipedia:ja:コンポジット型ウィンドウマネージャ|コンポジットマネージャ]]で、ドロップシャドウを表示したり、''transset'' ユーティリティを使うことで、プリミティブなウィンドウ透過ができます。単独の概念実証として作られており、Xcompmgr は Compiz などのコンポジットマネージャの軽量な代替として使うことができます。 |
− | 既存のウィンドウマネージャを置き換えないので、エレガントなデスクトップを模索している、軽量な[[ |
+ | 既存のウィンドウマネージャを置き換えないので、エレガントなデスクトップを模索している、軽量な[[ウィンドウマネージャ]]のユーザーにとっては理想的です。 |
== インストール == |
== インストール == |
||
− | Xcompmgr をインストールする前に、[[ |
+ | Xcompmgr をインストールする前に、[[Xorg]] を正しくインストール・設定してください。カスタム設定を使っている場合、X サーバーの [[Xorg#コンポジット|Composite]] エクステンションを有効にしてください。 |
− | Xcompmgr は[[公式リポジトリ]]の {{Pkg|xcompmgr}} パッケージから[[Pacman|インストール]]できます。透過を行うには[[公式リポジトリ]]から {{ |
+ | Xcompmgr は[[公式リポジトリ]]の {{Pkg|xcompmgr}} パッケージから[[Pacman|インストール]]できます。透過を行うには[[公式リポジトリ]]から {{AUR|transset-df}} もインストールしてください。 |
=== フォークと更新されたバージョン === |
=== フォークと更新されたバージョン === |
||
バグフィックスなどがされた、フォークが複数存在しています: |
バグフィックスなどがされた、フォークが複数存在しています: |
||
− | * {{App|xcompmgr-dana|Xcompmgr の最初期のフォークのひとつ。|http://oliwer.net/xcompmgr-dana/|{{AUR|xcompmgr-dana}}}} |
+ | * {{App|xcompmgr-dana|Xcompmgr の最初期のフォークのひとつ。|http://oliwer.net/xcompmgr-dana/|{{AUR|xcompmgr-dana}}{{Broken package link|{{aur-mirror|xcompmgr-dana}}}}}} |
− | * {{App |
+ | * {{App|[[Picom]]|多くの修正が含まれている Xcompmgr のフォーク。|https://github.com/chjj/compton|{{AUR|picom-git}}}} |
− | * {{App|[[Compton]]|多くの修正が含まれている Xcompmgr のフォーク。|https://github.com/chjj/compton|{{AUR|compton-git}}}} |
||
== 設定 == |
== 設定 == |
||
30行目: | 28行目: | ||
$ xcompmgr -c |
$ xcompmgr -c |
||
− | セッションの起動時にロードするには、次を [[ |
+ | セッションの起動時にロードするには、次を [[xprofile]] に追加してください: |
xcompmgr -c & |
xcompmgr -c & |
||
43行目: | 41行目: | ||
プログラムウィンドウの透過を設定するには、プログラムを予め実行して、次を実行してください: |
プログラムウィンドウの透過を設定するには、プログラムを予め実行して、次を実行してください: |
||
− | $ transset-df |
+ | $ transset-df ''opacity'' |
− | {{ic|opacity}} は |
+ | {{ic|opacity}} は ''0'' から ''1'' の間の数値に置き換えてください。0 は透明で 1 は不透明です。 |
コマンドを実行すると、マウスカーソルが十字線になります。ウィンドウをクリックすれば透明度が指定された値に変更されます。例えば、{{ic|transset-df 0.25}} はウィンドウの不透明度を 25% (透明度 75%) に設定します。 |
コマンドを実行すると、マウスカーソルが十字線になります。ウィンドウをクリックすれば透明度が指定された値に変更されます。例えば、{{ic|transset-df 0.25}} はウィンドウの不透明度を 25% (透明度 75%) に設定します。 |
||
+ | == ヒントとテクニック == |
||
− | == Tips and tricks == |
||
=== 要求に応じて Xcompmgr を起動・停止する === |
=== 要求に応じて Xcompmgr を起動・停止する === |
||
このスクリプトを使うことでコンポジットマネージャを簡単に(再)起動・停止できます。 |
このスクリプトを使うことでコンポジットマネージャを簡単に(再)起動・停止できます。 |
||
{{hc|~/.bin/comp|<nowiki> |
{{hc|~/.bin/comp|<nowiki> |
||
− | + | #!/bin/bash |
|
− | + | # |
|
− | + | # Start a composition manager. |
|
− | + | # (xcompmgr in this case) |
|
+ | |||
− | |||
− | + | comphelp() { |
|
− | echo "Composition Manager:" |
+ | echo "Composition Manager:" |
− | echo " (re)start: COMP" |
+ | echo " (re)start: COMP" |
− | echo " stop: COMP -s" |
+ | echo " stop: COMP -s" |
− | echo " query: COMP -q" |
+ | echo " query: COMP -q" |
− | echo " returns 0 if composition manager is running, else 1" |
+ | echo " returns 0 if composition manager is running, else 1" |
− | exit |
+ | exit |
− | + | } |
|
+ | |||
− | |||
− | + | checkcomp() { |
|
− | pgrep xcompmgr &>/dev/null |
+ | pgrep xcompmgr &>/dev/null |
− | + | } |
|
+ | |||
− | |||
− | + | stopcomp() { |
|
− | checkcomp && killall xcompmgr |
+ | checkcomp && killall xcompmgr |
− | + | } |
|
+ | |||
− | |||
− | + | startcomp() { |
|
− | stopcomp |
+ | stopcomp |
− | + | # Example settings only. Replace with your own. |
|
− | xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 & |
+ | xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 & |
− | exit |
+ | exit |
− | + | } |
|
+ | |||
− | |||
− | + | case "$1" in |
|
− | + | "") startcomp ;; |
|
− | "-q") checkcomp ;; |
+ | "-q") checkcomp ;; |
− | "-s") stopcomp; exit ;; |
+ | "-s") stopcomp; exit ;; |
− | + | *) comphelp ;; |
|
− | + | esac</nowiki>}} |
|
− | }} |
||
使いやすいように、このスクリプトを ([[Xbindkeys]] などを使って) ホットキーに設定することができます。これで他の作業を邪魔せずに、コンポジットを素早く再起動したり一時的に無効にできます。 |
使いやすいように、このスクリプトを ([[Xbindkeys]] などを使って) ホットキーに設定することができます。これで他の作業を邪魔せずに、コンポジットを素早く再起動したり一時的に無効にできます。 |
||
93行目: | 90行目: | ||
=== Xcompmgr の切り替え === |
=== Xcompmgr の切り替え === |
||
以下のスクリプトをホットキーに割り当てて下さい: |
以下のスクリプトをホットキーに割り当てて下さい: |
||
+ | {{bc| |
||
− | #!/bin/bash |
||
+ | #!/bin/bash |
||
− | |||
+ | |||
− | if pgrep xcompmgr &>/dev/null; then |
||
+ | if pgrep xcompmgr &>/dev/null; then |
||
− | echo "Turning xcompmgr ON" |
||
− | + | echo "Turning xcompmgr ON" |
|
+ | xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & |
||
− | else |
||
+ | else |
||
− | echo "Turning xcompmgr OFF" |
||
− | + | echo "Turning xcompmgr OFF" |
|
+ | pkill xcompmgr & |
||
− | fi |
||
+ | fi |
||
− | |||
+ | |||
− | exit 0 |
||
+ | exit 0 |
||
+ | }} |
||
== トラブルシューティング == |
== トラブルシューティング == |
||
116行目: | 115行目: | ||
=== (Openbox などで) ログイン後に背景が一時的にライトグレーになる === |
=== (Openbox などで) ログイン後に背景が一時的にライトグレーになる === |
||
− | {{ |
+ | {{Pkg|hsetroot}} をインストールして {{ic|xcompmgr}} の前に {{ic|hsetroot -solid "#000000"}} (''#000000'' にはあなたが使いたい色のコードを入力してください) を実行して背景色を設定することで修正できます。 |
=== awesome の BadPicture request === |
=== awesome の BadPicture request === |
||
− | [[ |
+ | [[awesome]] で以下のエラーが表示される場合: |
− | + | error 163: BadPicture request 149 minor 8 serial 34943 |
|
− | + | error 163: BadPicture request 149 minor 8 serial 34988 |
|
− | + | error 163: BadPicture request 149 minor 8 serial 35033 |
|
− | [[ |
+ | [[feh]] をインストールしてから [[awesome]] を再起動してください。 |
=== 解像度を変更した後に awesome で画面が更新されない === |
=== 解像度を変更した後に awesome で画面が更新されない === |
||
− | 外部モニターを使っている場合、ディスプレイの解像度が自動的に変更された時に問題が発生することがあります: 画面の一部分が"動かなくなり"更新されなくなる現象です。この問題は [[ |
+ | 外部モニターを使っている場合、ディスプレイの解像度が自動的に変更された時に問題が発生することがあります: 画面の一部分が"動かなくなり"更新されなくなる現象です。この問題は [[awesome]] が [[feh]] を使って背景を設定しているだけでなく初期の (Xcompmgr の起動前に実行される) 解像度変更を行っていることが原因です。 |
− | これを修正するには、{{ |
+ | これを修正するには、{{Pkg|hsetroot}} をインストールして {{ic|.xinitrc}} で {{ic|xcompmgr}} の直前に次の行を追加してください: |
hsetroot -solid "#000066" |
hsetroot -solid "#000066" |
||
(''#000066'' はあなたが選んだ色に置き換えられます). |
(''#000066'' はあなたが選んだ色に置き換えられます). |
2021年10月7日 (木) 12:40時点における最新版
関連記事
Xcompmgr はシンプルなコンポジットマネージャで、ドロップシャドウを表示したり、transset ユーティリティを使うことで、プリミティブなウィンドウ透過ができます。単独の概念実証として作られており、Xcompmgr は Compiz などのコンポジットマネージャの軽量な代替として使うことができます。
既存のウィンドウマネージャを置き換えないので、エレガントなデスクトップを模索している、軽量なウィンドウマネージャのユーザーにとっては理想的です。
目次
インストール
Xcompmgr をインストールする前に、Xorg を正しくインストール・設定してください。カスタム設定を使っている場合、X サーバーの Composite エクステンションを有効にしてください。
Xcompmgr は公式リポジトリの xcompmgr パッケージからインストールできます。透過を行うには公式リポジトリから transset-dfAUR もインストールしてください。
フォークと更新されたバージョン
バグフィックスなどがされた、フォークが複数存在しています:
- xcompmgr-dana — Xcompmgr の最初期のフォークのひとつ。
- http://oliwer.net/xcompmgr-dana/ || xcompmgr-danaAUR[リンク切れ: アーカイブ: aur-mirror]
- Picom — 多くの修正が含まれている Xcompmgr のフォーク。
設定
xcompmgr
をロードするには、次を実行してください:
$ xcompmgr -c
セッションの起動時にロードするには、次を xprofile に追加してください:
xcompmgr -c &
-c
の代わりにドロップシャドウを修正したりフェードを有効にするスイッチを使うことができます。例えば:
xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 &
オプションの完全な一覧を見るには、次を実行してください:
$ xcompmgr --help
ウィンドウ透過
パフォーマンスの低下のために、実用性は限られていますが、transset-df
ユーティリティを使うことで個々のウィンドウの透明度を設定することができます。
プログラムウィンドウの透過を設定するには、プログラムを予め実行して、次を実行してください:
$ transset-df opacity
opacity
は 0 から 1 の間の数値に置き換えてください。0 は透明で 1 は不透明です。
コマンドを実行すると、マウスカーソルが十字線になります。ウィンドウをクリックすれば透明度が指定された値に変更されます。例えば、transset-df 0.25
はウィンドウの不透明度を 25% (透明度 75%) に設定します。
ヒントとテクニック
要求に応じて Xcompmgr を起動・停止する
このスクリプトを使うことでコンポジットマネージャを簡単に(再)起動・停止できます。
~/.bin/comp
#!/bin/bash # # Start a composition manager. # (xcompmgr in this case) comphelp() { echo "Composition Manager:" echo " (re)start: COMP" echo " stop: COMP -s" echo " query: COMP -q" echo " returns 0 if composition manager is running, else 1" exit } checkcomp() { pgrep xcompmgr &>/dev/null } stopcomp() { checkcomp && killall xcompmgr } startcomp() { stopcomp # Example settings only. Replace with your own. xcompmgr -CcfF -I-.015 -O-.03 -D6 -t-1 -l-3 -r4.2 -o.5 & exit } case "$1" in "") startcomp ;; "-q") checkcomp ;; "-s") stopcomp; exit ;; *) comphelp ;; esac
使いやすいように、このスクリプトを (Xbindkeys などを使って) ホットキーに設定することができます。これで他の作業を邪魔せずに、コンポジットを素早く再起動したり一時的に無効にできます。
Xcompmgr の切り替え
以下のスクリプトをホットキーに割り当てて下さい:
#!/bin/bash if pgrep xcompmgr &>/dev/null; then echo "Turning xcompmgr ON" xcompmgr -c -C -t-5 -l-5 -r4.2 -o.55 & else echo "Turning xcompmgr OFF" pkill xcompmgr & fi exit 0
トラブルシューティング
Flash が使われているサイトを開いた時に Mozilla Firefox がクラッシュする
次の行を含む /etc/profile.d/flash.sh
という名前の実行可能ファイルを作成することで修正できます:
export XLIB_SKIP_ARGB_VISUALS=1
(Openbox などで) ログイン後に背景が一時的にライトグレーになる
hsetroot をインストールして xcompmgr
の前に hsetroot -solid "#000000"
(#000000 にはあなたが使いたい色のコードを入力してください) を実行して背景色を設定することで修正できます。
awesome の BadPicture request
awesome で以下のエラーが表示される場合:
error 163: BadPicture request 149 minor 8 serial 34943 error 163: BadPicture request 149 minor 8 serial 34988 error 163: BadPicture request 149 minor 8 serial 35033
feh をインストールしてから awesome を再起動してください。
解像度を変更した後に awesome で画面が更新されない
外部モニターを使っている場合、ディスプレイの解像度が自動的に変更された時に問題が発生することがあります: 画面の一部分が"動かなくなり"更新されなくなる現象です。この問題は awesome が feh を使って背景を設定しているだけでなく初期の (Xcompmgr の起動前に実行される) 解像度変更を行っていることが原因です。
これを修正するには、hsetroot をインストールして .xinitrc
で xcompmgr
の直前に次の行を追加してください:
hsetroot -solid "#000066"
(#000066 はあなたが選んだ色に置き換えられます).