SSブログ

【Ubuntu 11.10】Dash メニューを開いた時に、最大化/元に戻すボタンが実際のウインドウの大きさと一致していない問題 [ubuntu]

---2011/9/28追記---

この問題はUnity 4.18.0で修正されました。

---2011/9/28追記終わり---

Ubuntu 11.10(Oneiric)を使っていて、9/10に下記の記事を書きました。

【Ubuntu 11.10】Unity 4.14.2になってDashメニューを開くと、ボタン(閉じる/最小化/最大化)にテーマが適応されなくなった。(仮対処)

上記の記事でもちょっとだけ触れているのですが、Dashメニューをログイン後に空けると実際のDashメニューウインドウのサイズと、ボタンイメージが一致していません。

開いた時は、Dashメニューは普通のサイズ(つまり最大化していない)です。なのに、一番左のアイコンは元に戻すボタンのイメージです。

dash-bug-001.JPG

元に戻すボタンを一度クリックすると、Dashメニューは最大化します。ボタンイメージは上図の状態のイメージのままです。

それで、さらに元に戻すボタンをクリックして、Dashメニューを元のサイズに戻すと下図のようになります。

dash-bug-003.JPG

なので、始めにDashメニューを開いた時のアイコンイメージ(元に戻すボタン)が間違っているのです。

始めに示した9/10の記事を書いた時には気づいていましたが、「まぁ、そのうち誰か直してくれるだろう・・」と思って放置していました。ところが、1週間たっても直りません。

仕方ないのでソースを調べたら、ボタンを表示する為のオブジェクト(ウィジェット)を作成(コンストラクターの処理)する際にDashメニューの状態を調べていません。

というわけで、英語が苦手なのですが、思い切って修正パッチを付けてバグ報告をしてみました。(たった一行の変更なんですけど・・・)

https://bugs.launchpad.net/ubuntu/+source/unity/+bug/852984

そしたら、なんか私が書いた時の英語はほとんど修正されていて、ちゃんと分りやすい(要点をついた)英語になっていまいました。そして、この記事を書いた時は4.18.0がマイルストーンでIn Progressのステータスになっていました。近日中に直るでしょう。

それと、9/10に書いたDashのボタンにテーマが適応されなくなった問題は、やはり同じ事を思った方がいるようで、下記にバグ報告(リクエスト)されてます。(テーマが適応できるようにする事まではリクエストはされていませんが・・・)

https://bugs.launchpad.net/ubuntu/+source/unity/+bug/851313

こちらも早く直らないかな~

 ←年賀状作成ソフト(2012年用)

    9月になって、来年の年賀状を
    作成する為のソフトが各社から出てます。
    私は筆王を使ってますが、いつの間にか
    Sourcenext社が販売元になってしまった。


nice!(0)  コメント(5) 
共通テーマ:パソコン・インターネット

nice! 0

コメント 5

tista

ナイスなbug報告ありがとう御座います♪

こういうのって以外にdevsも気付かないこともあるんですよねーw テーマ適用の件も合わせてBeta2までに直ると良いのですが・・・。

tista
by tista (2011-09-18 22:22) 

tista

連投すまんです・・。

window buttonのthemeを反映するのは思っているほど簡単ではありません。
何故なら、単体のpixmapだけでmetacityのwindow buttonを形成しているthemeだけではないからです。例えば、tistaが愛用しているelementaryはmetacityにminimize/maximizeを描画させています(pixmapは持っていません)。Gnome-shellで使っているMutterはMetacityのwrapperを持っているので、同じようにmetacityを利用します。

そういったthemeではUnityのpanel側で同じようなレンダリングを行わなくてはならないので、改修が必要です。また、theme作者がわざわざUnityのためだけにpixmapを追加で作成するのは希望薄です(tistaもあまりしたくありません)。UnityはたしかにUbuntuの標準ですが、Gnomeの標準ではありません・・。
by tista (2011-09-18 22:36) 

あんきょ

☆tistaさん☆
そういえばmetacityのテーマフォルダの中にxmlのファイルしかないものがありましたが、pixmap無しでxmlの記述だけでボタンを描画してると言う事なんですね?
となると、そういうテーマはUnityの為だけにpixmapを作るのは、テーマ作成者には負担だと思います。
考えてみれば、UnityってUbuntu 11.04とUbuntu 11.10しかないし、それもUbuntu 11.10のUnity専用に作ることになります。これでは、Unity好きの人くらいしかテーマを作らないと思います。

関連した事で、私は現在のUnityのテーマに関して、腑に落ちない事があります。
そもそもwindow-decoretorはmetacityを使っているので、最大化していない時のwindowのボタンはmetacityのテーマが使用されます。
ところが、最大化した時のUnityパネル上のボタンはGTK-3.0のテーマに連動しています。
なので、windowの(metacityの)テーマとGTKのテーマを違うものにすると、最大化時とそうでない時が違うボタンになってしまいます。

本来は最大化時にパネルに表示するボタンは、metacityのテーマを解釈してボタンの部分だけを抜き出して描画するようにすべきだと思っています。
そうでないと、テーマの独立性が保てないし、テーマを作る方も負担です。
でも、実際にやるとなると大改装になってしまいますが・・・

そういう意味でも、Dashにボタンテーマを適応するのは難しいかな~
by あんきょ (2011-09-19 16:15) 

tista

まったくもって仰る通りだと思います。
現時点ではただ特定のpathのpixmapを「貼っつけている」だけですw 無ければ例のデフォルトを貼っていますね。

また、buttonがGtk3のthemeに引っ張られる件ですが、こちらでも確認してみます。

tistaは逆にIndicatorやglobal menuをwindow titleに描画できるwindow managerがあれば万事解決な気がしてならんです ^^;


by tista (2011-09-19 18:28) 

あんきょ

☆tistaさん☆
gnome-tweak-toolでGTKテーマをambianceのままにしておいてwindowテーマを適当な他のテーマにして、Unity上でウインドウを最大化したり戻したりしたら分ると思います。

それと、「Indicatorやglobal menuをwindow titleに描画できるwindow managerがあれば万事解決」は、いいアイディアですね。w(゚o゚)w オオ-
確かにそのようなwindow managerがあれば、デスクトップを1つの大きなウインドウにするか、ウインドウタイトルバーだけをデスクトップの一番上にすることで、Unityのパネル代わりになりますもんね。
by あんきょ (2011-09-19 23:47) 

コメントを書く

お名前:
URL:
コメント:
画像認証:
下の画像に表示されている文字を入力してください。

Facebook コメント

この広告は前回の更新から一定期間経過したブログに表示されています。更新すると自動で解除されます。