Skip to content

Commit e83a935

Browse files
authored
Adopting Fluent design and other minor improvements (#2)
* Using DropShadowEffect instead of BlurEffect + XAML Styling * More design changes * Update UpdateDialog.xaml * Updating image + readme * Update README.md
1 parent 5efd896 commit e83a935

File tree

7 files changed

+180
-240
lines changed

7 files changed

+180
-240
lines changed

HeroImage.png

1.18 MB
Loading

README.md

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,6 +7,7 @@ A lightweight WPF application that adds a customizable glowing edge light effect
77
- **Automatic Updates**: Built-in update system checks GitHub Releases for new versions
88
- **Primary Monitor Display**: Automatically detects and displays on your primary monitor, even in multi-monitor setups
99
- **DPI Aware**: Properly handles high-DPI displays (4K monitors with scaling)
10+
- **Fluent Design**: Modern UX that fits in with the Windows look and feel
1011
- **Click-Through Transparency**: Overlay doesn't interfere with your work - all clicks pass through to applications beneath
1112
- **Customizable Brightness**: Adjust opacity with easy-to-use controls
1213
- **Toggle On/Off**: Quickly enable or disable the edge light effect
@@ -25,7 +26,7 @@ The application creates a smooth, glowing border around the edges of your primar
2526
- Soft blur effect for a natural glow
2627
- Minimal UI controls that fade in on hover
2728

28-
![macos-edge-light](https://github.com/user-attachments/assets/f2f932d3-776d-4373-824f-da2551794e71)
29+
![Windows Edge Light](HeroImage.png)
2930

3031
## Installation
3132

WindowsEdgeLight/App.xaml

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,9 @@
1-
<Application x:Class="WindowsEdgeLight.App"
2-
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4-
xmlns:local="clr-namespace:WindowsEdgeLight"
5-
StartupUri="MainWindow.xaml">
6-
<Application.Resources>
7-
8-
</Application.Resources>
9-
</Application>
1+
<Application
2+
x:Class="WindowsEdgeLight.App"
3+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5+
xmlns:local="clr-namespace:WindowsEdgeLight"
6+
StartupUri="MainWindow.xaml"
7+
ThemeMode="System">
8+
<Application.Resources />
9+
</Application>
Lines changed: 62 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -1,57 +1,74 @@
1-
<Window x:Class="WindowsEdgeLight.ControlWindow"
2-
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4-
Title="Controls"
5-
Height="60" Width="200"
6-
WindowStyle="None"
7-
AllowsTransparency="True"
8-
Background="Transparent"
9-
Topmost="True"
10-
ShowInTaskbar="False"
11-
ResizeMode="NoResize">
12-
13-
<Border Background="#80000000"
14-
CornerRadius="10"
15-
HorizontalAlignment="Center">
1+
<Window
2+
x:Class="WindowsEdgeLight.ControlWindow"
3+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5+
Title="Controls"
6+
Width="186"
7+
Height="48"
8+
AllowsTransparency="True"
9+
Background="Transparent"
10+
ResizeMode="NoResize"
11+
ShowInTaskbar="False"
12+
Topmost="True"
13+
WindowStyle="None">
14+
15+
<Border
16+
HorizontalAlignment="Center"
17+
Background="{DynamicResource SolidBackgroundFillColorBaseBrush}"
18+
BorderBrush="{DynamicResource SurfaceStrokeColorDefaultBrush}"
19+
BorderThickness="1"
20+
CornerRadius="8">
1621
<Border.Style>
1722
<Style TargetType="Border">
18-
<Setter Property="Opacity" Value="0.6"/>
23+
<Setter Property="Opacity" Value="0.6" />
1924
<Style.Triggers>
2025
<Trigger Property="IsMouseOver" Value="True">
21-
<Setter Property="Opacity" Value="1"/>
26+
<Setter Property="Opacity" Value="1" />
2227
</Trigger>
2328
</Style.Triggers>
2429
</Style>
2530
</Border.Style>
26-
31+
2732
<StackPanel Orientation="Horizontal">
28-
<Button Content="🔅"
29-
Click="BrightnessDown_Click"
30-
Width="40" Height="40"
31-
Margin="5"
32-
FontSize="20"
33-
ToolTip="Decrease Brightness (Ctrl+Shift+Down)"/>
34-
35-
<Button Content="🔆"
36-
Click="BrightnessUp_Click"
37-
Width="40" Height="40"
38-
Margin="5"
39-
FontSize="20"
40-
ToolTip="Increase Brightness (Ctrl+Shift+Up)"/>
41-
42-
<Button Content="💡"
43-
Click="Toggle_Click"
44-
Width="40" Height="40"
45-
Margin="5"
46-
FontSize="20"
47-
ToolTip="Toggle Light (Ctrl+Shift+L)"/>
48-
49-
<Button Content=""
50-
Click="Close_Click"
51-
Width="40" Height="40"
52-
Margin="5"
53-
FontSize="16"
54-
ToolTip="Exit"/>
33+
<Button
34+
Width="40"
35+
Height="40"
36+
Margin="4,4,0,4"
37+
AutomationProperties.Name="Decrease brightness"
38+
Click="BrightnessDown_Click"
39+
Content="&#xEC8A;"
40+
FontFamily="Segoe Fluent Icons"
41+
ToolTip="Decrease brightness (Ctrl+Shift+Down)" />
42+
43+
<Button
44+
Width="40"
45+
Height="40"
46+
Margin="4,4,0,4"
47+
AutomationProperties.Name="Increase brightness"
48+
Click="BrightnessUp_Click"
49+
Content="&#xE706;"
50+
FontFamily="Segoe Fluent Icons"
51+
ToolTip="Increase brightness (Ctrl+Shift+Up)" />
52+
53+
<Button
54+
Width="40"
55+
Height="40"
56+
Margin="4,4,0,4"
57+
AutomationProperties.Name="Toggle light"
58+
Click="Toggle_Click"
59+
Content="&#xEA80;"
60+
FontFamily="Segoe Fluent Icons"
61+
ToolTip="Toggle light (Ctrl+Shift+L)" />
62+
63+
<Button
64+
Width="40"
65+
Height="40"
66+
Margin="4,4,4,4"
67+
AutomationProperties.Name="Exit"
68+
Click="Close_Click"
69+
Content="&#xE711;"
70+
FontFamily="Segoe Fluent Icons"
71+
ToolTip="Exit" />
5572
</StackPanel>
5673
</Border>
5774
</Window>

WindowsEdgeLight/MainWindow.xaml

Lines changed: 38 additions & 33 deletions
Original file line numberDiff line numberDiff line change
@@ -1,44 +1,49 @@
1-
<Window x:Class="WindowsEdgeLight.MainWindow"
2-
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
3-
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
4-
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
5-
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
6-
xmlns:local="clr-namespace:WindowsEdgeLight"
7-
mc:Ignorable="d"
8-
Title="Windows Edge Light"
9-
Height="450" Width="800"
10-
WindowStyle="None"
11-
AllowsTransparency="True"
12-
Background="Transparent"
13-
Topmost="True"
14-
ShowInTaskbar="True"
15-
ResizeMode="NoResize"
16-
Loaded="Window_Loaded"
17-
KeyDown="Window_KeyDown">
18-
1+
<Window
2+
x:Class="WindowsEdgeLight.MainWindow"
3+
xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
4+
xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
5+
xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
6+
xmlns:local="clr-namespace:WindowsEdgeLight"
7+
xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
8+
Title="Windows Edge Light"
9+
Width="800"
10+
Height="450"
11+
AllowsTransparency="True"
12+
Background="Transparent"
13+
KeyDown="Window_KeyDown"
14+
Loaded="Window_Loaded"
15+
ResizeMode="NoResize"
16+
ShowInTaskbar="True"
17+
Topmost="True"
18+
WindowStyle="None"
19+
mc:Ignorable="d">
20+
1921
<Window.TaskbarItemInfo>
20-
<TaskbarItemInfo Description="Windows Edge Light - Right-click for options"/>
22+
<TaskbarItemInfo Description="Windows Edge Light - Right-click for options" />
2123
</Window.TaskbarItemInfo>
22-
24+
2325
<Grid x:Name="MainGrid" IsHitTestVisible="False">
24-
<!-- Edge Light Frame with Rounded Inner and Outer Edges using Path -->
25-
<Path x:Name="EdgeLightBorder"
26-
Margin="20"
27-
Opacity="1.0"
28-
Stretch="None"
29-
HorizontalAlignment="Stretch"
30-
VerticalAlignment="Stretch">
26+
<!-- Edge Light Frame with Rounded Inner and Outer Edges using Path -->
27+
<Path
28+
x:Name="EdgeLightBorder"
29+
HorizontalAlignment="Center"
30+
VerticalAlignment="Center"
31+
Stretch="None">
3132
<Path.Fill>
3233
<LinearGradientBrush StartPoint="0,0" EndPoint="1,1">
33-
<GradientStop Color="#FFFFFF" Offset="0.0"/>
34-
<GradientStop Color="#F0F0F0" Offset="0.3"/>
35-
<GradientStop Color="#FFFFFF" Offset="0.5"/>
36-
<GradientStop Color="#F0F0F0" Offset="0.7"/>
37-
<GradientStop Color="#FFFFFF" Offset="1.0"/>
34+
<GradientStop Offset="0.0" Color="#FFFFFF" />
35+
<GradientStop Offset="0.3" Color="#F0F0F0" />
36+
<GradientStop Offset="0.5" Color="#FFFFFF" />
37+
<GradientStop Offset="0.7" Color="#F0F0F0" />
38+
<GradientStop Offset="1.0" Color="#FFFFFF" />
3839
</LinearGradientBrush>
3940
</Path.Fill>
4041
<Path.Effect>
41-
<BlurEffect Radius="8"/>
42+
<DropShadowEffect
43+
BlurRadius="76"
44+
Opacity="1"
45+
ShadowDepth="0"
46+
Color="#FFFFFF" />
4247
</Path.Effect>
4348
</Path>
4449
</Grid>

WindowsEdgeLight/MainWindow.xaml.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -164,7 +164,7 @@ private void CreateControlWindow()
164164

165165
// Position at bottom center of main window
166166
controlWindow.Left = this.Left + (this.Width - controlWindow.Width) / 2;
167-
controlWindow.Top = this.Top + this.Height - controlWindow.Height - 100;
167+
controlWindow.Top = this.Top + this.Height - controlWindow.Height - 124;
168168

169169
controlWindow.Show();
170170
}

0 commit comments

Comments
 (0)