Skip to content

Commit 2b056ee

Browse files
committed
ux: improve macOS window control button colors for a more native look
1 parent ef9396b commit 2b056ee

15 files changed

+124
-51
lines changed

src/Resources/Styles.axaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -445,13 +445,59 @@
445445
<Setter Property="StrokeThickness" Value=".5"/>
446446
<Setter Property="Stroke" Value="#40000000"/>
447447
</Style>
448+
<Style Selector="Button.caption_button_macos.close Ellipse">
449+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.Close}"/>
450+
</Style>
451+
<Style Selector="Button.caption_button_macos.minimize Ellipse">
452+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.Minimize}"/>
453+
</Style>
454+
<Style Selector="Button.caption_button_macos.maximize Ellipse">
455+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.Maximize}"/>
456+
</Style>
457+
<Style Selector="Button.caption_button_macos.close:pressed Ellipse">
458+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.ClosePressed}"/>
459+
</Style>
460+
<Style Selector="Button.caption_button_macos.minimize:pressed Ellipse">
461+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.MinimizePressed}"/>
462+
</Style>
463+
<Style Selector="Button.caption_button_macos.maximize:pressed Ellipse">
464+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.MaximizePressed}"/>
465+
</Style>
448466
<Style Selector="Button.caption_button_macos Path">
449467
<Setter Property="Width" Value="8"/>
450468
<Setter Property="Height" Value="8"/>
469+
<Setter Property="Stretch" Value="Fill"/>
451470
<Setter Property="Fill" Value="Black"/>
452471
<Setter Property="IsVisible" Value="False"/>
453472
<Setter Property="VerticalAlignment" Value="Center"/>
454473
</Style>
474+
<Style Selector="Button.caption_button_macos.close Path">
475+
<Setter Property="Width" Value="6"/>
476+
<Setter Property="Height" Value="6"/>
477+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.CloseFG}"/>
478+
<Setter Property="Data" Value="{StaticResource Icons.MacOS.Close}"/>
479+
</Style>
480+
<Style Selector="Button.caption_button_macos.minimize Path">
481+
<Setter Property="Width" Value="8"/>
482+
<Setter Property="Height" Value="2"/>
483+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.MinimizeFG}"/>
484+
<Setter Property="Data" Value="{StaticResource Icons.MacOS.Minimize}"/>
485+
</Style>
486+
<Style Selector="Button.caption_button_macos.maximize Path">
487+
<Setter Property="Width" Value="6"/>
488+
<Setter Property="Height" Value="6"/>
489+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.MaximizeFG}"/>
490+
<Setter Property="Data" Value="{StaticResource Icons.MacOS.Maximize}"/>
491+
</Style>
492+
<Style Selector="Button.caption_button_macos.close:pressed Path">
493+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.ClosePressedFG}"/>
494+
</Style>
495+
<Style Selector="Button.caption_button_macos.minimize:pressed Path">
496+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.MinimizePressedFG}"/>
497+
</Style>
498+
<Style Selector="Button.caption_button_macos.maximize:pressed Path">
499+
<Setter Property="Fill" Value="{DynamicResource Brush.MacOS.MaximizePressedFG}"/>
500+
</Style>
455501
<Style Selector="Grid.caption_button_box:pointerover Button.caption_button_macos Path">
456502
<Setter Property="IsVisible" Value="True"/>
457503
</Style>

src/Resources/Themes.axaml

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -2,9 +2,18 @@
22
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml">
33
<ResourceDictionary.ThemeDictionaries>
44
<ResourceDictionary x:Key="Light">
5-
<Color x:Key="Color.MacOS.Close">#FFFF6059</Color>
6-
<Color x:Key="Color.MacOS.Minimize">#FFFFBE2F</Color>
7-
<Color x:Key="Color.MacOS.Maximize">#FF29c941</Color>
5+
<Color x:Key="Color.MacOS.Close">#FFED6A5E</Color>
6+
<Color x:Key="Color.MacOS.CloseFG">#FF69110A</Color>
7+
<Color x:Key="Color.MacOS.ClosePressed">#FFB24F46</Color>
8+
<Color x:Key="Color.MacOS.ClosePressedFG">#FF2E0402</Color>
9+
<Color x:Key="Color.MacOS.Minimize">#FFF4BF4F</Color>
10+
<Color x:Key="Color.MacOS.MinimizeFG">#FF8F591D</Color>
11+
<Color x:Key="Color.MacOS.MinimizePressed">#FFB78F3A</Color>
12+
<Color x:Key="Color.MacOS.MinimizePressedFG">#FF522A0A</Color>
13+
<Color x:Key="Color.MacOS.Maximize">#FF61C554</Color>
14+
<Color x:Key="Color.MacOS.MaximizeFG">#FF296017</Color>
15+
<Color x:Key="Color.MacOS.MaximizePressed">#FF48943F</Color>
16+
<Color x:Key="Color.MacOS.MaximizePressedFG">#FF102F07</Color>
817
<Color x:Key="Color.Window">#FFF0F5F9</Color>
918
<Color x:Key="Color.WindowBorder">#00000000</Color>
1019
<Color x:Key="Color.TitleBar">#FFCFDEEA</Color>
@@ -37,9 +46,18 @@
3746
</ResourceDictionary>
3847

3948
<ResourceDictionary x:Key="Dark">
40-
<Color x:Key="Color.MacOS.Close">#FFFF5E56</Color>
41-
<Color x:Key="Color.MacOS.Minimize">#FFFCBB2D</Color>
42-
<Color x:Key="Color.MacOS.Maximize">#FF25C53C</Color>
49+
<Color x:Key="Color.MacOS.Close">#FFED6A5E</Color>
50+
<Color x:Key="Color.MacOS.CloseFG">#FF8C1A10</Color>
51+
<Color x:Key="Color.MacOS.ClosePressed">#FFF09389</Color>
52+
<Color x:Key="Color.MacOS.ClosePressedFG">#FF69120A</Color>
53+
<Color x:Key="Color.MacOS.Minimize">#FFF4BF4F</Color>
54+
<Color x:Key="Color.MacOS.MinimizeFG">#FF8F591D</Color>
55+
<Color x:Key="Color.MacOS.MinimizePressed">#FFFBEB74</Color>
56+
<Color x:Key="Color.MacOS.MinimizePressedFG">#FF705F1B</Color>
57+
<Color x:Key="Color.MacOS.Maximize">#FF61C554</Color>
58+
<Color x:Key="Color.MacOS.MaximizeFG">#FF296017</Color>
59+
<Color x:Key="Color.MacOS.MaximizePressed">#FF86F37F</Color>
60+
<Color x:Key="Color.MacOS.MaximizePressedFG">#FF2C681A</Color>
4361
<Color x:Key="Color.Window">#FF252525</Color>
4462
<Color x:Key="Color.WindowBorder">#FF444444</Color>
4563
<Color x:Key="Color.TitleBar">#FF1F1F1F</Color>
@@ -73,8 +91,17 @@
7391
</ResourceDictionary.ThemeDictionaries>
7492

7593
<SolidColorBrush x:Key="Brush.MacOS.Close" Color="{DynamicResource Color.MacOS.Close}"/>
94+
<SolidColorBrush x:Key="Brush.MacOS.CloseFG" Color="{DynamicResource Color.MacOS.CloseFG}"/>
95+
<SolidColorBrush x:Key="Brush.MacOS.ClosePressed" Color="{DynamicResource Color.MacOS.ClosePressed}"/>
96+
<SolidColorBrush x:Key="Brush.MacOS.ClosePressedFG" Color="{DynamicResource Color.MacOS.ClosePressedFG}"/>
7697
<SolidColorBrush x:Key="Brush.MacOS.Minimize" Color="{DynamicResource Color.MacOS.Minimize}"/>
98+
<SolidColorBrush x:Key="Brush.MacOS.MinimizeFG" Color="{DynamicResource Color.MacOS.MinimizeFG}"/>
99+
<SolidColorBrush x:Key="Brush.MacOS.MinimizePressed" Color="{DynamicResource Color.MacOS.MinimizePressed}"/>
100+
<SolidColorBrush x:Key="Brush.MacOS.MinimizePressedFG" Color="{DynamicResource Color.MacOS.MinimizePressedFG}"/>
77101
<SolidColorBrush x:Key="Brush.MacOS.Maximize" Color="{DynamicResource Color.MacOS.Maximize}"/>
102+
<SolidColorBrush x:Key="Brush.MacOS.MaximizeFG" Color="{DynamicResource Color.MacOS.MaximizeFG}"/>
103+
<SolidColorBrush x:Key="Brush.MacOS.MaximizePressed" Color="{DynamicResource Color.MacOS.MaximizePressed}"/>
104+
<SolidColorBrush x:Key="Brush.MacOS.MaximizePressedFG" Color="{DynamicResource Color.MacOS.MaximizePressedFG}"/>
78105
<SolidColorBrush x:Key="Brush.Window" Color="{DynamicResource Color.Window}"/>
79106
<SolidColorBrush x:Key="Brush.WindowBorder" Color="{DynamicResource Color.WindowBorder}"/>
80107
<SolidColorBrush x:Key="Brush.TitleBar" Color="{DynamicResource Color.TitleBar}"/>

src/Views/About.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
IsVisible="{OnPlatform True, macOS=False}"/>
2727

2828
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
29-
<Button Classes="caption_button_macos" Click="CloseWindow">
29+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3030
<Grid>
31-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
32-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
31+
<Ellipse/>
32+
<Path/>
3333
</Grid>
3434
</Button>
3535
</Grid>

src/Views/Askpass.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
IsVisible="{OnPlatform True, macOS=False}"/>
2727

2828
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
29-
<Button Classes="caption_button_macos" Click="CloseWindow">
29+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3030
<Grid>
31-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
32-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
31+
<Ellipse/>
32+
<Path/>
3333
</Grid>
3434
</Button>
3535
</Grid>

src/Views/AssumeUnchangedManager.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
IsVisible="{OnPlatform True, macOS=False}"/>
3030

3131
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
32-
<Button Classes="caption_button_macos" Click="CloseWindow">
32+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3333
<Grid>
34-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
35-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
34+
<Ellipse/>
35+
<Path/>
3636
</Grid>
3737
</Button>
3838
</Grid>

src/Views/CaptionButtonsMacOS.axaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -6,22 +6,22 @@
66
x:Class="SourceGit.Views.CaptionButtonsMacOS">
77
<Grid Classes="caption_button_box">
88
<StackPanel Orientation="Horizontal">
9-
<Button Classes="caption_button_macos" Click="CloseWindow" Margin="10,0,0,0">
9+
<Button Classes="caption_button_macos close" Click="CloseWindow" Margin="10,0,0,0">
1010
<Grid>
11-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
12-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
11+
<Ellipse/>
12+
<Path/>
1313
</Grid>
1414
</Button>
15-
<Button Classes="caption_button_macos" Click="MinimizeWindow">
15+
<Button Classes="caption_button_macos minimize" Click="MinimizeWindow">
1616
<Grid>
17-
<Ellipse Fill="{DynamicResource Brush.MacOS.Minimize}"/>
18-
<Path Height="2" Width="8" Stretch="Fill" Fill="#404040" Data="{StaticResource Icons.MacOS.Minimize}"/>
17+
<Ellipse/>
18+
<Path/>
1919
</Grid>
2020
</Button>
21-
<Button Classes="caption_button_macos" Click="MaximizeOrRestoreWindow">
21+
<Button Classes="caption_button_macos maximize" Click="MaximizeOrRestoreWindow">
2222
<Grid>
23-
<Ellipse Fill="{DynamicResource Brush.MacOS.Maximize}"/>
24-
<Path Height="6" Width="6" Stretch="Fill" Fill="#404040" Data="{StaticResource Icons.MacOS.Maximize}"/>
23+
<Ellipse/>
24+
<Path/>
2525
</Grid>
2626
</Button>
2727
</StackPanel>

src/Views/ConfirmRestart.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,10 +26,10 @@
2626
IsVisible="{OnPlatform True, macOS=False}"/>
2727

2828
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
29-
<Button Classes="caption_button_macos" Click="CloseWindow">
29+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3030
<Grid>
31-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
32-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
31+
<Ellipse/>
32+
<Path/>
3333
</Grid>
3434
</Button>
3535
</Grid>

src/Views/Hotkeys.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
IsVisible="{OnPlatform True, macOS=False}"/>
2929

3030
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
31-
<Button Classes="caption_button_macos" Click="CloseWindow">
31+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3232
<Grid>
33-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
34-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
33+
<Ellipse/>
34+
<Path/>
3535
</Grid>
3636
</Button>
3737
</Grid>

src/Views/InteractiveRebase.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -29,10 +29,10 @@
2929
IsVisible="{OnPlatform True, macOS=False}"/>
3030

3131
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
32-
<Button Classes="caption_button_macos" Click="CloseWindow">
32+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3333
<Grid>
34-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
35-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
34+
<Ellipse/>
35+
<Path/>
3636
</Grid>
3737
</Button>
3838
</Grid>

src/Views/LFSLocks.axaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -28,10 +28,10 @@
2828
IsVisible="{OnPlatform True, macOS=False}"/>
2929

3030
<Grid Grid.Column="0" Classes="caption_button_box" Margin="2,4,0,0" IsVisible="{OnPlatform False, macOS=True}">
31-
<Button Classes="caption_button_macos" Click="CloseWindow">
31+
<Button Classes="caption_button_macos close" Click="CloseWindow">
3232
<Grid>
33-
<Ellipse Fill="{DynamicResource Brush.MacOS.Close}"/>
34-
<Path Height="6" Width="6" Stretch="Fill" Fill="#505050" Data="{StaticResource Icons.MacOS.Close}"/>
33+
<Ellipse/>
34+
<Path/>
3535
</Grid>
3636
</Button>
3737
</Grid>

0 commit comments

Comments
 (0)