Git Repository Manager - New Features Update
1. Vertical Separator with Resizable Panes
Feature : Added a vertical separator between repositories and branches view
Implementation : Replaced static layout with ttk.PanedWindow(orient=tk.HORIZONTAL)
Benefits : Users can now drag the separator to adjust the width of the repositories pane vs branches pane
Default Weight : Left pane (repositories) has weight=1, right pane (branches) has weight=2
2. Initial Branch Sorting by Date
Feature : Branches are now initially sorted by date (most recent first)
Implementation :
Changed default sort_column = "date" and sort_reverse = True
Added _sort_filtered_branches() helper method
Updated apply_branch_filters() to automatically apply current sorting
Benefits : Users see the most recent branch activity first, which is typically most relevant
3. SHA Column Moved to Beginning
Feature : The SHA column is now the first column in the branches view
Implementation :
Reordered columns from ("name", "sha", "message", "author", "date") to ("sha", "name", "message", "author", "date")
Updated column configuration and display logic accordingly
Benefits : SHA information is now more prominent and easier to read
4. Dynamic Column Visibility via Header Context Menu
Feature : Right-click on branch table headers shows a context menu to toggle column visibility
Implementation :
Added branch_header_menu with checkbutton items for each column
Implemented on_branch_header_right_click() event handler
Added _update_column_visibility() method to dynamically hide/show columns
Name column is always visible (disabled in menu)
Benefits : Users can customize their view by hiding unnecessary columns
Columns Available : SHA ✓, Name (always visible), Message ✓, Author ✓, Date ✓
5. Windows System Context Menu for Folders
Feature : Right-clicking on folders in the tree view shows the Windows file explorer context menu
Implementation :
Enhanced on_tree_right_click() to detect folder items
Added show_windows_context_menu() method
Added _construct_folder_path() to build full paths for folder items
Cross-platform compatibility with fallback to simple menu
Benefits : Users get full Windows shell integration with options like:
Open
Open in new window
Copy path
Properties
And all other Windows context menu options
Technical Implementation Details
Column Visibility Management
Uses BooleanVar settings for each column: show_commit_sha, show_commit_message, show_author, show_date
Dynamic width adjustment: visible columns have normal width, hidden columns have width=0
Real-time updates when toggling visibility through header context menu
Improved Sorting Architecture
Centralized sorting logic in _sort_filtered_branches()
Lazy loading of commit information only when needed for sorting
Maintains sort state across filter operations
Default sorting by date (most recent first) for better user experience
Enhanced Context Menu System
Two separate context menus:
context_menu: For repositories (Open in File Explorer)
branch_header_menu: For column visibility toggles
Smart path resolution for folders without direct paths
Cross-platform file explorer integration
Replaced fixed layout with resizable PanedWindow
Better space utilization with adjustable pane sizes
Removed old static checkbox controls in favor of dynamic header menu
User Experience Improvements
More Intuitive Layout : Resizable panes let users optimize their workspace
Better Data Priority : SHA-first column order and date-first sorting show most relevant info upfront
Customizable Views : Hide unnecessary columns to focus on what matters
Native OS Integration : Full Windows context menu for folders provides familiar interface
Performance : Lazy loading ensures fast UI updates while providing detailed information when needed
Drag the vertical separator between repositories and branches to adjust widths
Left pane contains the repository tree
Right pane contains the branch list
Right-click on any column header in the branches table
Check/uncheck columns to show/hide them
Name column is always visible
Changes apply immediately
Folder Context Menu
Right-click on any folder in the repository tree
Windows will open the folder in File Explorer
For repositories, uses the custom "Open in File Explorer" option
Click any column header to sort by that column
Click again to reverse sort order
Branches default to newest-first by date
SHA, Message, Author, and Date columns support sorting