めでたし、めでたしのはずが
「今さらEclipse」シリーズ、第3弾。前回、SWT(Standard Widget ToolKit)のパラメーターによってUI全体の拡大をスマートにやっつけたはず、だったのだが、野蛮にもPythonでリサイズしてしまった。
(参考)シリーズ第1弾、第2弾
なぜかというと、気になることがいくつかあり。
- UI全体の拡大だと、ウィンドウのマージンやファイルリストの行間など、全てが拡大されて大味な感じになること
- エディターペインにゴミ、細い横線が時々表示されること(スクロールすれば消えるが)
- アイコン画像を全部リサイズしてしまったらどうなんだろ、と思いついてしまったこと
アイコンのリサイズをJavaでやったら入門者らしかったのだが、いかんせん、初心者すぎて、そのレベルに達するまで待てない。ので、Pythonで。
とても野蛮
Eclipse/Pleiadesのインストール先、C:\pleiades\2022-09\eclipse以下にある、すべての16x16ピクセルのpng/gifを狙い撃ち、28x28ピクセルにリサイズ。
前回、補完方法をnearestからsmooth(アルゴリズム名は不明)に変えて改善されたが、今回は、一番良さげなLANCZOSにて。
早速コードを。Pythonはお気楽だ。
# enlarge eclipse icons
import os
from PIL import Image
SIZE_FROM = 16
SIZE_TO = 26
old_path = ""
for path, dirs, files in os.walk(r"C:\pleiades\2022-09\eclipse"):
for file in files:
file_path = os.path.join(path, file)
for ext in ".gif .png".split(" "):
if (ext == file_path[-4:]):
img = Image.open(file_path)
if img.size == (SIZE_FROM, SIZE_FROM):
if (path != old_path):
print("\n", path)
old_path = path
print(img.size[0], img.size[1], "\t", file)
img = img.resize(size=(SIZE_TO, SIZE_TO), resample=Image.LANCZOS)
img.save(file_path)
# print("\n{}-pixel icons enlarged to {}.".format(SIZE_FROM, SIZE_TO))
アイコンが入っている場所
ほとんどのアイコンは、
"C:\pleiades\2022-09\eclipse\configuration\org.eclipse.osgi"
にあり、さらに、"C:\pleiades\2022-09\eclipse\configuration"
までで、ほぼ全てカバーしているが、結局、若干残ったため、eclipseディレクトリ全体を対象に。
言わずもがな、バックアップを取っておくことをおすすめ。まぁ、戻したければ、再インストールでも良い。
ビフォア/アフター
16ピクセルから26ピクセルなので、162.5%。しばらく大きなアイコンで使っていたため、Eclipseの理解も深まり、アイコン識別力が上がってきたようで(笑)、これでもちょっと大きいか?となった。
やはり、LANCZOSによるリサンプリングはキレイで、やった甲斐有り。
Javaコーディング、デバッグ、Git、全部入りのよくばりセットでちょうど収まった。
追記:Gitのアイコンはここになくても良い。「Gitリポジトリー」ペインなどのファイルのコンテクストメニューやツールアイコンでの操作のほうがわかりやすい。
取り残されたアイコンたち
正方形でない画像も結構あるが、これらは拡大されない。ペインの最大化、最小化、復元、ツールアイコンの「グループ内仕切り(点線)」、「X(閉じる)」、など。このままで良い。
「パッケージ・エクスプローラー」のリスト部分のアイコンが小さいまま。こいつらは、エラーのバツ印などのステータス変化をなんと合成で実現していると思われ、取り残され組。しかし、逆にコンパクトになって良かった。
一方、「Gitリポジトリー」のリストは、アイコンが大きくなっているため、行間が増加。
下部ペインも同じく、よくばりセットで、ちょうどお腹いっぱいになり、いい感じ。
今のところ目立った不具合もないので、使い込んでみようと思う。