From 5e4798a9dc4d3dd2ac403eb44cc048bcf73d821e Mon Sep 17 00:00:00 2001 From: jimmy Date: Sun, 30 Nov 2025 16:49:54 +1300 Subject: [PATCH] Remove scrolling and fix empty space, restore patterns to settings.json --- src/main.py | 48 +++++++----------------------------------------- 1 file changed, 7 insertions(+), 41 deletions(-) diff --git a/src/main.py b/src/main.py index 2f2e9d2..1816c9a 100644 --- a/src/main.py +++ b/src/main.py @@ -109,13 +109,13 @@ class App: style.map("TNotebook.Tab", background=[("selected", active_bg_color)], foreground=[("selected", fg_color)]) style.configure("TFrame", background=bg_color) - # Create Notebook for tabs (packed first so it takes remaining space) - self.notebook = ttk.Notebook(self.root) - self.notebook.pack(expand=1, fill="both") - # Tab management buttons frame (packed at bottom so it stays visible) tab_management_frame = tk.Frame(self.root, bg=bg_color) tab_management_frame.pack(side=tk.BOTTOM, fill=tk.X, padx=self.scale_size(10), pady=self.scale_size(5)) + + # Create Notebook for tabs (packed after buttons so it takes remaining space) + self.notebook = ttk.Notebook(self.root) + self.notebook.pack(expand=1, fill="both", before=tab_management_frame) add_tab_btn = tk.Button( tab_management_frame, @@ -687,47 +687,13 @@ class App: initial_r, initial_g, initial_b = color_utils.hex_to_rgb(initial_hex_color) - # Create a scrollable frame for the tab content - canvas = tk.Canvas(tab, bg=bg_color, highlightthickness=0) - scrollbar = tk.Scrollbar(tab, orient="vertical", command=canvas.yview) - scrollable_frame = tk.Frame(canvas, bg=bg_color) - - scrollable_frame.bind( - "", - lambda e: canvas.configure(scrollregion=canvas.bbox("all")) - ) - - canvas_window = canvas.create_window((0, 0), window=scrollable_frame, anchor="nw") - canvas.configure(yscrollcommand=scrollbar.set) - - # Make canvas window resize with canvas - def configure_scroll_region(event): - canvas.configure(scrollregion=canvas.bbox("all")) - # Update canvas window width to match canvas - canvas_width = event.width - canvas.itemconfig(canvas_window, width=canvas_width) - - canvas.bind('', configure_scroll_region) - - canvas.pack(side="left", fill="both", expand=True) - scrollbar.pack(side="right", fill="y") - - # Bind mousewheel to canvas (cross-platform) - def _on_mousewheel(event): - if event.num == 4 or event.delta > 0: - canvas.yview_scroll(-1, "units") - elif event.num == 5 or event.delta < 0: - canvas.yview_scroll(1, "units") - canvas.bind_all("", _on_mousewheel) - canvas.bind_all("", _on_mousewheel) - canvas.bind_all("", _on_mousewheel) - # Main frame to hold everything within the tab - main_tab_frame = scrollable_frame + main_tab_frame = tk.Frame(tab, bg=bg_color) + main_tab_frame.pack(expand=True, fill="both", padx=self.scale_size(10), pady=self.scale_size(10)) # Left panel container for sliders and n inputs left_panel_container = tk.Frame(main_tab_frame, bg=bg_color) - left_panel_container.pack(side=tk.LEFT, padx=10, pady=10) + left_panel_container.pack(side=tk.LEFT, padx=self.scale_size(10), pady=self.scale_size(10)) # Slider panel slider_panel_frame = tk.Frame(left_panel_container, bg=bg_color)