UBUNTU20.04のgtk-3.0テーマを16.04でハート化してみる
リクエストがありましたので、やってみました。
1.16.04で20.04のYaru-heart2を使っても、一部のアプリ以外gtk-3.0のcssは効かずに、タイトルボタンはYaruのボタンに変わりませんでした。ほとんどが16.04のデフォルトのままです。
2.該当する一部のアプリ(sudo geditを確認しました)のハート化のため。gtk-3.0のcssのtitlebuttonの描画部分(5200-5314行)をコメントアウトしました。20.04のYaru-heartのmoe.cssの描画部分はそのままでは描画できなかったため、Moe-Pink13のwidgetのcssから、描画部分をもってきてmoe3.0.cssとしたところ、ハートの描画ができました。(ただ、このmoe3.0.cssが20.04で正しいかまではわかりませんが、目的的には一応の完成です。)
3.なぜほとんどのタイトルボタンが、Yaruのタイトルボタンにならないのかを検証。Moe-Pink13のgtk-3.0フォルダを、20.04のYaru-heart2のgtk-3.0フォルダにしたところ、すべてのウインドウはピンクになるが、タイトルボタンはデフォルトのままです(先ほどと同じくsudo geditだけハートボタンです)。
そこで、20.04に無いopenbox-3 unity xfvm4フォルダを入れたところ、タイトルボタンがすべてハートになりました。
結論としては、20.04のgtk-3.0はデスクトップが新しいGnomeになったので、16.04では、(一部解釈されないのだと思います)すべてのウインドウのタイトルボタンを変えることはできませんでした。確認できたgeditのタイトルボタンは20.04のYaruにかわりましたので、描画部分をコメントアウトし、moe.3.0.cssを使って、ハート化させることができました。
16.04でハート化するためには、20.04のgtk-3.0のcssだけでは無理でした。さらに、ハート化させられるMoe-pink13から、gtk-3.0のcssを持ってきて置き換えましたが、ハート化されませんでした(Wigetのcssに描画のcss指定はありますができません)。16.04ではさらに、Moe-Pink13のopenbox-3 unity xfvm4フォルダがハート化に必要なので、20.04とは違う方法でハート化が行われていることが判りました。
そもそも20.04に入っていない、openbox-3 unity xfvm4フォルダを20.04のYaruに付け足すのは意味がないと思います。(これらで動くことはあり得ないので、そもそもこれらのフォルダが無いものと思います。)そのため、いまのところ、gtk-3.0のハート化できるのは、上の方法のみです。(moe3.0.cssが20.04で正しいと仮定してですが)
上の一応の成功をした時点の、20.04用Yaru-heart2テーマを20.04で動かしたところ、不具合はない模様です。
16.04はUnityであること、古いことがあって、今のgtk-3.0の解釈ができないようで、本来的に無理があるようです。これ以上の直しは、残念ですが、意味がないものと思います。
とりあえずの成功のファイルを、以下に置いておきます。
Yaru-heart2modgtk3.0.zip
追記1:テーマはデスクトップ=Gnomeのバージョンが決まってから作る形になるので、その場合、cssの言語がアップデートされてしまうので、通常過去のデスクトップバーションに現バージョンcssが適応することには無理があると思います。その逆、つまり現バージョンが次のバージョンに適応可能なのは、デスクトップバージョンが上がっても、以前のcssの描き方でも新しいデスクトップのバージョンは互換性をある程度担保しているからです(通常改良になりますし、過去のデータが使えないと移行しずらいためです)。
追記2:20.04のYaruの場合、万が一のレガシーアプリ(例えば旧バージョンのgeditを、必要な何かのために使った場合など)のためにgtk-3.0が残ってるのじゃないかと思います。そのため、一応上記のようには変更しておきながら、後のところは、あまり気にしなくてもいいのかもしれません。
ディスカッション
コメント一覧
お疲れ様です。
こちらはいま最後の詰めの段階に来ていますが、
そこで一つ気がついたことがあります。
3.0の話だし気にするのもどうかというものですが…
♡♡♡(ハート)の間がちょっと空いているようです。
3.20のときにも調整していただいたと思いますが、
お手間でなければ同様の処理よろしくお願いします。
*面倒くさそうであれば無理しなくでいいです。
お疲れさまです。
3.20のときはノウハウ的には位置を変えることはできなかった(個別のアプリの位置決めをしていた部分のコメントアウトをもとに戻した)ので、ハートの描画倍率を変えたと思います。
描画部分をコメントアウトしたときに、Adwaitaと同じように、デフォルトになっていたので、ちょっとやってみますが、あまり期待できないかもしれません^^;
お疲れ様です。
仕事がかなり忙しく、何とか2,3晩試してみました。
決められた位置の枠内では、パディングを変えられるようです(はみ出ても描画するようにcssを指定してもハートが切れてしまいました。)が、残念ながら、位置そのものは変えられませんでした。
ヘッダーの設定で変えられるのだとは思いますが、なかなかわからないことでいっぱいです。
実際に19.10ごろから(でしたっけ)ボタンの位置をTweakで変えられるところを見ると、どうももっと大本のところで規定しているのかもしれません。
お力になれずすいません。
お疲れ様です。
了解しました。
お忙しい中トライしていただきありがとうございました。
一応こちらの方はとりあえず完成しましたので、
まとめて来週末辺りにでもアップしたいと思います。
*β当初からだいぶ中身がアップデートされていて、おそらくボタン周りに影響はないと思いますが、もしもの折にはよろしくお願いします。
お疲れ様です。
了解です。
グットラックです!!
お疲れ様です。
いまデータをまとめているところなんですが、
一つ確認したい点があります。
以下グリーンの部分は必要なものでしょうか?
アップデートで無くなったのか、必要なものとして追加してあるのかわからなくなりました。
*gtk-3.20の比較データです。
よろしくお願いします。
お疲れ様です。
この部分は、そのまえのコメントアウトで、確か、firefoxのトップバーが、縦に広がるのを直すのに入れたものです。入れた方が良いです。
お疲れ様です。
了解しました。ありがとうございます。
とりあえずこれで一旦アップしようと思います。
ところで、そのFirefoxで気がついたのですが、
トップバーを表示しない設定にした場合に赤いハートのボタンの右側が少し欠けてしまいます(既存のMoe-Pink14Hでも同様でした)。赤いボタンの右側にもう少しスペースがあれば回避できそうですが、位置調整可能だったりしますか?
簡単には無理そうということであれば仕様ということにしたいと思います。
お手数おかけしますがよろしくご検討お願いします。
お疲れ様です。
子供と海に出かけて、へろへろですが^^;ww
もう一度20.04Ltsをいれて、アップデートをかけ、Heart化してみました。
いまのところ、FireFoxもハートの切れなく見えているようです。
gtk-3.0の方も前にモディファイしたところを入れたので、全体を確認してみてください。
よろしくおねがいします。
!?トップバーを表示しない設定?
ちょっと待ってくださいねェ。
OKです、何とかなったと思います。