Raspberry Pi OS (32-bit) with desktop Graphics Gimp
最近はタイル型ウインドウマネージャー(dwm)にはタイル型ランチャー(python3-tk)でしょうということでお気に入りのメニューを作成しています。
少し大きめの64×64サイズで作成、簡単な書式である程度自由に構成することが可能です。
基本のアイコン画像はOSに含まれる画像を利用してGimpで少しだけ加工しています。
またメニューの数が少ないうちはいいのですが増やしていくとアイコンナンバーがバッティングしたりと作成が面倒になるため一定のルールの中で作成、運用しようと思います。
Gimp
# apt install gimp
アイコン画像
基本画像は/usr/share/icons以下にあります。この中から48×48サイズの画像を適当なディレクトリにコピーしてGimpでキャンパスサイズを64×64サイズに変換しています。
少し大きめのキャンパスサイズにして必要であれば文字入れをしたりします。
透過の画像は背景の塗りつぶしをTransparencyにしてファイル-上書きエクスポートすれば出来上がりです。
Gimpの使い方については目的用途などでググるとほとんど見つかると思います。
Category
作成したアイコン画像はカテゴリー別に登録します。
各カテゴリーは3桁の数値で分けています。
画像のsample.pyは100-defaultで作成したExitボタンをコピーしたものです。
予め各カテゴリで作成しておけば基本の書式は共通なので以降は必要なボタンをコピーするだけでメニューが出来上がります。ボタンの並び(row,column)は変更します。
プログラムファイルは~/binにありますがicon画像は共有するためNFSサーバー上に置いてあります。
# icon dirにディレクトリを指定
sample.py
#!/usr/bin/python3 from tkinter import * from tkinter import ttk from tkinter import messagebox import subprocess import time root = Tk() root.title('Python Menu') style = ttk.Style() style.theme_use('default') #('clam', 'alt', 'default', 'classic') style.configure('TButton', background='#D9D9D9') # Button color # Frame as Widget Container frame1 = ttk.Frame( root, padding=5) frame1.grid() # icon dir dir = "/home/hda/hda3/share/icons/" # Button115 exit def def115(): root.quit() icon115 = PhotoImage(file=dir+'100-default/exit.png') button115 = ttk.Button(frame1,image=icon115,command=def115) button115.grid(row=3,column=5) root.mainloop()
chromium-browserを追加(クリックしたらメニューは終了)
# Button351 chromium-browser def int351(): subprocess.run("chromium-browser &", shell=True) root.quit() icon351 = PhotoImage(file=dir+'350-internet/chromium.png') button351 = ttk.Button(frame1,image=icon351,command=int351) button351.grid(row=1,column=1)
起動はxbindkeysやdmenuスクリプトを利用するといいでしょう。
カテゴリー(メイン)メニューを作成してみました。作成した各カテゴリーメニューを呼びます(いつ完成するか分かりませんが)
作成したメニューや定形のスクリプトなども実行できます。
書き方次第でいろいろ応用が効くと思います。