(画像はpictbearにBULK2を適用したものです) ツールの動作はこんな感じです(youtube)

アクセスカウンター

linux(ubuntuベース)のウィンドウ透過ツール

他にも置く!かも・・・。問い合わせは最寄りのiinews_waruinewsのyahoo.co.jpまでお越しください。

[PC環境]

DELL inspiron580、Core i7-870-2.93GHz、 8GB

SSD-256GB、HDD-500GB、HDD-640GB、Geforce-GTX750Ti

WattOS R10 LXDE 64bit(ubuntu16.04ベース)

------------------------------------------------------------------

ウィンドウ透過ツール for Linux(gcc版)

32bit環境では試してないので、もし動作しないようならコンパイルし直してください。

$ gcc window-trans.c -o window-trans

★★★動作に必要なパッケージ(dpkg、zenity、wmctrl、xcompmgr、x11-utils、x11-apps)★★★

呼び出してるコマンド(dpkg、zenity、transset、xcompmgr、xprop、xwininfo、wmctrl)

zenityが未インストールだと何も表示なしで終了します。

dpkgがないubuntuベースはないでしょうからチェックはしてません。

ubuntu系以外(fedoraとか?)はわかりません。が・・・ソース付きなので詳しい方はチャチャっと直してください。

透過率を個別指定することはできません。

ツール起動中に透過率を変更もできません。

ただアクティブウィンドウに対して透過率を変更したい場合は・・・

・透過率アップ:$ transset -a --dec 0.05(任意の値)

・透過率ダウン:$ transset -a --inc 0.05

キーボードショートカットに登録もよし、メニューに登録してパネルにアイテム登録もよし

当然ですが、これらはwindow-transとは独立して動きますので

bulk指定しててもアクティブウィンドウにのみ影響します。


<ファイル一覧>

チョー簡単な説明

・README

ソースファイル

・window-trans.c、window-trans.h

実行ファイル

・window-trans

デスクトップ設定ファイル

(各OSに沿った手順の方がいいかもしれません)

・window-trans.desktop

window-trans起動オプション設定ファイル

・window-trans.conf

1:オプション指定なし

___アクティブ時非透過、非アクティブ時透過

_(2)アクティブ時また重なりなし非透過、非アクティブ時透過

2:on=

___優先順位に関わらず強制透過

3:off=

___優先順位に関わらず強制非透過

4:bulk1=

___関連ウィンドウは全て同じ透過率

_(2)アクティブ時、関連ウィンドウは全て非透過

4:bulk2=

___関連ウィンドウは全て同じ透過率、選択時は全て優先表示

_(2)アクティブ時、関連ウィンドウは全て非透過、全て優先表示

5:include=

_(2)共有ウィンドウがアクティブ時、隠れるウィンドウを透過

6:rate=

___非透過率を指定

7:sleep=

___処理間隔を指定

8:xcomp=

___xcompmgr起動オプションを指定


<動作確認リスト>

Watt OS R10 LXDE 64bit - OK(当たり前ですね・・・)

ubuntu16.04LTS - OK(compizが動作してないデスクトップのみ?)

Elementary OS - OK(自動起動はシステム設定から登録した方がいいです)

Chalet OS - OK

lubuntu16.10 - OK(パッケージ追加でOK)

linux mint 18 MATE - OK


細かい点でそれぞれのOSで違うでしょうから

要望があれば仮想環境で調べてみたいと思います。

ubuntuベースのコンポジットマネージャ無しならほとんど動くと思います。


<ちょっとした問題1>

xcompmgrで-fを有効にすると強制透過アプリに透過が起動時適用されにくいです。

その場合は-I 0.2とか指定してください。フェードインがゆっくり過ぎるとダメなので早く表示させます。(初期値:0.028)


<ちょっとした問題2>

端末から実行させるとちょこちょこエラーが出てますが動作してれば気にしなくていいです。

処理AでウィンドウXを取得し処理BでウィンドウXの別な情報を取得しようとした時には既にXがないとか・・・

マウスクリック時に合わせて更新してないので現状、私ではどうにもできません。

c++とかだったら簡単にできるんですかね〜・・・


<更新履歴>

2017/1/16

___共有ウィンドウを重なり判定非対象としました。

___includeオプションを追加し指定した共有ウィンドウのみ重なり判定対象指定できるようにしました。

___これはドックを判定対象にすると見た目で重なってなくても近くのウィンドウが透過してしまうのを防ぐためです。

2017/1/15

___重なり判定を加えた処理を追加し、別バージョンとしました。

2017/1/3

___ログアウト、ログインを繰り返すとプロセスが増えていくのを修正しました。

___ただそうなるプロセスは他にもあるようで、効果のほどは???です。

2017/1/1

___xcompmgrオプションを指定できるようにしました。

2016/12/31

___パッケージのインストールチェック機能を修正しました。

2016/12/29

___パッケージのインストールチェック機能をつけました。。

2016/12/27

___いろいろありましてちゃんと動作するようになりました。(初回にしたいくらい)

2016/12/22

___初回アップロードです。