1- # BUILD VERSION: 13.3 (Active/Passive R-T Launchers)
1+ # BUILD VERSION: 6.0
22'''
33===============================================================================
44 PROGRAM: PICA Launcher
1919 INSTITUTE: UGC-DAE Consortium for Scientific Research, Mumbai Centre
2020
2121 VERSION HISTORY:
22+ 6.0 (23/11/2025): Updated launcher version to 6.0 and fixed Change_Logs.md path.
2223 13.3 (05/10/2025): Added distinct launchers for Active and Passive R-T modes.
2324 13.2 (05/10/2025): Integrated new K2400/2182 frontend GUIs.
2425 13.1 (04/10/2025): Resolved duplicate script paths and validated Delta Mode scripts.
@@ -94,7 +95,7 @@ def resource_path(relative_path):
9495
9596class PICALauncherApp :
9697
97- PROGRAM_VERSION = "5.3 "
98+ PROGRAM_VERSION = "6.0 "
9899 CLR_BG_DARK = '#2B3D4F'
99100 CLR_FRAME_BG = '#3A506B'
100101 CLR_ACCENT_GOLD = '#FFC107'
@@ -106,7 +107,7 @@ class PICALauncherApp:
106107 FONT_SIZE_BASE = 12
107108 FONT_BASE = ('Segoe UI' , FONT_SIZE_BASE )
108109 FONT_TITLE = ('Segoe UI' , FONT_SIZE_BASE + 10 , 'bold' )
109- FONT_SUBTITLE = ('Segoe UI' , FONT_SIZE_BASE + 2 , 'bold' )
110+ FONT_SUBTITLE = ('Segoe UI' , FONT_SIZE_BASE + 1 , 'bold' ) # Reduced size from +2
110111 FONT_INSTITUTE = (
111112 'Segoe UI' ,
112113 FONT_SIZE_BASE + 6 ,
@@ -119,7 +120,8 @@ class PICALauncherApp:
119120 MANUAL_FILE = resource_path ("assets/Manuals" )
120121 README_FILE = resource_path ("README.md" )
121122 LICENSE_FILE = resource_path ("LICENSE" )
122- UPDATES_FILE = resource_path ("Change_Logs.md" )
123+ UPDATES_FILE = resource_path ("docs/Change_Logs.md" )
124+ REPO_URL = "https://github.com/prathameshnium/PICA-Python-Instrument-Control-and-Automation/tree/main"
123125 LOGO_SIZE = 140
124126
125127 SCRIPT_PATHS = {
@@ -401,6 +403,17 @@ def create_resource_panel(self, parent):
401403 license_label .pack ()
402404 license_label .bind ("<Button-1>" , lambda e : self .open_license ())
403405
406+ # --- Repo Link (Clickable) ---
407+ repo_font = font .Font (family = 'Segoe UI' , size = 9 , underline = True )
408+ repo_label = ttk .Label (
409+ bottom_frame ,
410+ text = "View Project on GitHub" ,
411+ font = repo_font ,
412+ foreground = self .CLR_LINK ,
413+ cursor = "hand2" )
414+ repo_label .pack (pady = (5 , 0 ))
415+ repo_label .bind ("<Button-1>" , self .open_repo )
416+
404417 console_container = ttk .LabelFrame (
405418 info_frame , text = "Console" , padding = (5 , 10 ))
406419 console_container .pack (side = 'bottom' , fill = 'x' , pady = (20 , 0 ))
@@ -501,7 +514,7 @@ def _configure_scrollable_frame(event):
501514 right_col = ttk .Frame (scrollable_frame )
502515 right_col .grid (
503516 row = 0 , column = 1 , sticky = 'new' , padx = (
504- 5 , 10 ), pady = (
517+ 5 , 5 ), pady = (
505518 0 , 15 ))
506519
507520 # --- Left Column Suites ---
@@ -614,7 +627,7 @@ def _create_suite_frame(
614627 left_header ,
615628 text = instruments_text ,
616629 font = self .FONT_INFO ,
617- wraplength = 250 ,
630+ wraplength = 200 ,
618631 justify = 'left' )
619632 instrument_label .pack (
620633 side = 'left' , anchor = 'w' , padx = (
@@ -751,6 +764,10 @@ def open_manual_folder(self):
751764 def open_license (self ):
752765 self ._show_file_in_window (self .LICENSE_FILE , "MIT License" )
753766
767+ def open_repo (self , event = None ):
768+ import webbrowser
769+ webbrowser .open (self .REPO_URL )
770+
754771 def launch_script (self , script_path ):
755772 self .log (f"Launching: { os .path .basename (script_path )} " )
756773 abs_path = os .path .abspath (script_path )
0 commit comments