@@ -30,6 +30,7 @@ def __init__(self):
3030 self .toFadeOut = m .Group ()
3131 self .prevRef = None
3232 self .topref = None
33+ self .topelement = None
3334 self .n_default = settings .n_default
3435 self .n = settings .n
3536 self .n_orig = self .n
@@ -599,22 +600,24 @@ def recenter_frame(self):
599600
600601 def scale_frame (self ):
601602 if settings .animate :
602- self .play (
603- self .camera .frame .animate .scale_to_fit_width (
604- self .toFadeOut .get_width () * 1.1
605- ),
606- run_time = 1 / settings .speed ,
607- )
608- if self .toFadeOut .get_height () >= self .camera .frame .get_height ():
603+ if self .toFadeOut .get_width () > self .camera .frame .get_width ():
604+ self .play (
605+ self .camera .frame .animate .scale_to_fit_width (
606+ self .toFadeOut .get_width () * 1.1
607+ ),
608+ run_time = 1 / settings .speed ,
609+ )
610+ if self .toFadeOut .get_height () > self .camera .frame .get_height ():
609611 self .play (
610612 self .camera .frame .animate .scale_to_fit_height (
611613 self .toFadeOut .get_height () * 1.25
612614 ),
613615 run_time = 1 / settings .speed ,
614616 )
615617 else :
616- self .camera .frame .scale_to_fit_width (self .toFadeOut .get_width () * 1.1 )
617- if self .toFadeOut .get_height () >= self .camera .frame .get_height ():
618+ if self .toFadeOut .get_width () > self .camera .frame .get_width ():
619+ self .camera .frame .scale_to_fit_width (self .toFadeOut .get_width () * 1.1 )
620+ if self .toFadeOut .get_height () > self .camera .frame .get_height ():
618621 self .camera .frame .scale_to_fit_height (
619622 self .toFadeOut .get_height () * 1.25
620623 )
@@ -633,11 +636,11 @@ def vsplit_frame(self):
633636 if settings .animate :
634637 self .play (
635638 self .toFadeOut .animate .align_to (self .camera .frame , m .UP ).shift (
636- m .DOWN * 0.75
639+ m .DOWN * 2.25
637640 )
638641 )
639642 else :
640- self .toFadeOut .align_to (self .camera .frame , m .UP ).shift (m .DOWN * 0.75 )
643+ self .toFadeOut .align_to (self .camera .frame , m .UP ).shift (m .DOWN * 2.25 )
641644 except ValueError :
642645 pass
643646
@@ -650,8 +653,6 @@ def setup_and_draw_zones(
650653 ):
651654 if self .check_all_dark ():
652655 self .zone_title_offset = 2.0 if platform .system () == "Windows" else 2.0
653- elif len (self .drawnCommits ) == 1 :
654- self .zone_title_offset = 2.0 if platform .system () == "Windows" else 2.0
655656
656657 horizontal = m .Line (
657658 (
@@ -665,7 +666,7 @@ def setup_and_draw_zones(
665666 0 ,
666667 ),
667668 color = self .fontColor ,
668- ).shift (m .UP * 2.5 )
669+ ).shift (m .UP * 1.75 )
669670 horizontal2 = m .Line (
670671 (
671672 self .camera .frame .get_left ()[0 ],
@@ -678,7 +679,7 @@ def setup_and_draw_zones(
678679 0 ,
679680 ),
680681 color = self .fontColor ,
681- ).shift (m .UP * 1.5 )
682+ ).shift (m .UP * 0.75 )
682683 vert1 = m .DashedLine (
683684 (
684685 self .camera .frame .get_left ()[0 ],
@@ -704,6 +705,7 @@ def setup_and_draw_zones(
704705 first_column_name = "Staging area"
705706 third_column_name = "Deleted changes"
706707
708+ title_v_shift = abs (horizontal2 .get_start ()[1 ] - horizontal .get_start ()[1 ]) / 2
707709 firstColumnTitle = (
708710 m .Text (
709711 first_column_name ,
@@ -712,8 +714,8 @@ def setup_and_draw_zones(
712714 color = self .fontColor ,
713715 weight = m .BOLD ,
714716 )
715- .move_to ((vert1 .get_center ()[0 ] - 4 , 0 , 0 ))
716- .shift (m .UP * self . zone_title_offset )
717+ .move_to ((vert1 .get_center ()[0 ] - 4 , horizontal . get_start ()[ 1 ] , 0 ))
718+ .shift (m .DOWN * title_v_shift )
717719 )
718720 secondColumnTitle = (
719721 m .Text (
@@ -1189,7 +1191,10 @@ def draw_dark_ref(self):
11891191 self .prevRef = refRec
11901192
11911193 def trim_path (self , path ):
1192- return (path [:15 ] + "..." + path [- 15 :]) if len (path ) > 30 else path
1194+ return f"{ path [:15 ]} ...{ path [- 15 :]} " if len (path ) > 33 else path
1195+
1196+ def trim_cmd (self , path ):
1197+ return f"{ path [:30 ]} ..." if len (path ) > 33 else path
11931198
11941199 def get_remote_tracking_branches (self ):
11951200 remote_refs = [remote .refs for remote in self .repo .remotes ]
@@ -1317,26 +1322,34 @@ def add_group_to_author_groups(self, author, group):
13171322 self .author_groups [author ].append (group )
13181323
13191324 def show_command_as_title (self ):
1320- if True : # settings.show_command_as_title:
1325+ if settings .show_command_as_title :
13211326 titleText = m .Text (
1322- self .cmd ,
1327+ self .trim_cmd ( self . cmd ) ,
13231328 font = self .font ,
13241329 font_size = 36 ,
13251330 color = self .fontColor ,
13261331 )
1332+ top = 0
1333+ for element in self .toFadeOut :
1334+ if element .get_top ()[1 ] > top :
1335+ top = element .get_top ()[1 ]
13271336 titleText .move_to (
13281337 (
13291338 self .camera .frame .get_x (),
1330- self . camera . frame . get_top ()[ 1 ] - titleText .height * 1.5 ,
1339+ top + titleText .height * 2 ,
13311340 0 ,
13321341 )
13331342 )
1334- ul = m .Underline (titleText )
1343+ ul = m .Underline (
1344+ titleText ,
1345+ color = self .fontColor ,
1346+ )
1347+ self .toFadeOut .add (titleText , ul )
1348+ self .scale_frame ()
13351349 if settings .animate :
13361350 self .play (m .AddTextLetterByLetter (titleText ), m .Create (ul ))
13371351 else :
13381352 self .add (titleText , ul )
1339- self .toFadeOut .add (titleText , ul )
13401353
13411354 def del_rw (self , action , name , exc ):
13421355 os .chmod (name , stat .S_IWRITE )
0 commit comments