LoginSignup
3
3

More than 5 years have passed since last update.

「画面端でクリックできる」ようにGtk2/Gtk3/xfwm4テーマを矯正する

Last updated at Posted at 2014-06-29

概要

自分は主にXubuntu (Xfce)環境で生活してますが、Gtkやxfwm(ウィンドウマネージャ)のテーマ設定で、どうしても譲れない設定というのがあります。

  • (Gtk) ウィンドウを最大化した時に、カーソルを画面右端にピッタリつけた状態で、スクロールバーをドラッグできる。
  • (xfwm) ウィンドウを最大化した時に、カーソルを画面右上端にピッタリつけた状態で、クローズボタンをクリックできる。

自分はほとんどのウィンドウを最大化して使うので、このへんの挙動がユーザビリティに大きく影響するのです。

Windowsではこんなこと当然のようにできるんですが、Xfceでは不思議とこんなこともできてないテーマをちょいちょい見かけます。 あえてそうしてるのか、見落としているのかは分かりませんが。

ということで、ここでは既存のテーマをいじって上記の挙動を実現するための方法を書きます。

なお、「こうやったらうまくいった」というだけで、自分はテーマエンジンについてそこまで深く理解できてないのでそのへんはご注意下さい。

テーマファイルの場所

Ubuntu系ディストロの場合、システムワイドのテーマファイルは/usr/share/themesディレクトリ以下にあります。 また、ユーザ個別のテーマファイルは~/.themesに格納します。

まず、いじりたいテーマファイルディレクトリを~/.themes以下にコピーしておきましょう。

$ mkdir ~/.themes
$ cp -r /usr/share/themes/Adwaita ~/.themes/Adwaita-Modified

以降はこのコピーを編集すればOKです。

Gtk2

Gtk2のテーマ設定はテーマファイルディレクトリ下のgtk-2.0/gtkrcファイルで行います。

Gtk2のスクロールバーを右端で掴めるようにするには、GtkRange::trough-borderを0に設定すればいいみたいです。

GtkRange::trough-border = 0

テーマによってはGtkRangeクラスとは別のクラスに設定しているかもしれないですが、とにかく"trough"(容れ物、溝)がキーワードになってるようです。

Gtk3

Gtk3のテーマ設定はテーマファイルディレクトリ下のgtk-3.0/gtk.cssファイルで行います。 多くの場合、gtk.cssが他のCSSファイルをインポートしています。

Gtk3の場合、上記のtrough-borderに加えて-GtkScrolledWindow-scrollbars-within-bevelの設定が必要になります。

-GtkRange-trough-border: 0;
-GtkScrolledWindow-scrollbars-within-bevel: 0;

これを両方とも0にしておかないと、うまくスクロールバーを掴めないようです。

xfwm4

xfwm4 (Xfceのウィンドウマネージャ)のテーマ設定はテーマファイルディレクトリ下のxfwm4/themercファイル及び各種画像ファイルです。

ウィンドウを最大化した時のクローズボタンと画面右端とのスキマはthemerc中のmaximized_offset項目です。

maximized_offset=0

一方、画面上端とのスキマはタイトルバー画像とボタン画像の縦幅で決まってるようです。

よって、画像ファイル群title-*.{png,xpm}close-*.{png,xpm}の縦幅が等しくなるように加工すれば、縦方向のスキマが0になります。

参考

3
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
3