From 8bc5e92d87f42425f798110c49ed61addefe90a5 Mon Sep 17 00:00:00 2001 From: Didictateur Date: Mon, 9 Feb 2026 13:07:14 +0100 Subject: [PATCH] add scrolling --- ronrunner_1.0~beta1-1/usr/bin/ronrunner | 42 +++++++++++++++++++++++-- 1 file changed, 39 insertions(+), 3 deletions(-) diff --git a/ronrunner_1.0~beta1-1/usr/bin/ronrunner b/ronrunner_1.0~beta1-1/usr/bin/ronrunner index 4ebe9db..cdd8d0e 100755 --- a/ronrunner_1.0~beta1-1/usr/bin/ronrunner +++ b/ronrunner_1.0~beta1-1/usr/bin/ronrunner @@ -12,12 +12,48 @@ root = Tk() root.title("🀄 RonRunner - Mahjong Tournament Scoring 🀄") root.geometry("800x500") -# Configure style +# configure style style = ttk.Style() style.theme_use('clam') -frm = ttk.Frame(root, padding=10) -frm.grid() +# configure scrollbar +canvas = Canvas(root, highlightthickness=0) +scrollbar = ttk.Scrollbar(root, orient='vertical', command=canvas.yview) +scrollbarFrame = ttk.Frame(canvas) +scrollbarFrame.bind( + "", + lambda e: canvas.configure(scrollregion=canvas.bbox("all")) +) + +canvas.create_window((0, 0), window=scrollbarFrame, anchor="nw") +canvas.configure(yscrollcommand=scrollbar.set) + +canvas.grid(column=0, row=0, sticky="nsew") +scrollbar.grid(column=1, row=0, sticky="ns") + +root.grid_rowconfigure(0, weight=1) +root.grid_columnconfigure(0, weight=1) + +frm = scrollbarFrame + +# activate scrollbar with pad/mouse +def _on_mousewheel(event): + canvas.yview_scroll(int(-1*(event.delta/120)), "units") + +def _on_scroll_up(event): + canvas.yview_scroll(-1, "units") + +def _on_scroll_down(event): + canvas.yview_scroll(1, "units") + +def _bind_mousewheel(widget): + widget.bind("", _on_mousewheel) + widget.bind("", _on_scroll_up) + widget.bind("", _on_scroll_down) + for child in widget.winfo_children(): + _bind_mousewheel(child) + +_bind_mousewheel(frm) # init ui