diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..dfe0770 --- /dev/null +++ b/.gitattributes @@ -0,0 +1,2 @@ +# Auto detect text files and perform LF normalization +* text=auto diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..6a5b56e --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ + +Resources/Preferences +Resources/Custom Cursor/* diff --git a/CCS.ps1 b/CCS.ps1 new file mode 100644 index 0000000..975e558 --- /dev/null +++ b/CCS.ps1 @@ -0,0 +1,136 @@ +#Requires -RunAsAdministrator +#Requires -Version 5.1 + +#region Preparation +$ErrorActionPreference = 'Stop' +[Console]::Title = 'Cursor Colors Synchronizer' +Remove-Module -Name Functions -ErrorAction SilentlyContinue +Clear-Variable -Name Localization, windowsTheme, cursorSize, useClassicWheel, useAlternatePrecision, originalCursorFolder, customCursorFolder, byteDiffFolder, useListener, input -ErrorAction SilentlyContinue +Import-LocalizedData -BindingVariable Localization -BaseDirectory $PSScriptRoot\Localizations -FileName Strings +Import-Module -Name $PSScriptRoot\Functions.ps1 +#endregion + +#region Dialogs +do { + Clear-Host + Write-Host + Write-Host -Object $Localization.ChooseSizeDialogTitle + Write-Host + Write-Host -Object ('1) ' + $Localization.Small) + Write-Host -Object ('2) ' + $Localization.Regular) + Write-Host -Object ('3) ' + $Localization.Big) + Write-Host + $input = Read-Host -Prompt $Localization.ChooseDialogPromt +} until ( Validate-Input -Object $input -Values (1..3) ) +switch ($input) { + 1 {$cursorSize = 'small'} + 2 {$cursorSize = 'regular'} + 3 {$cursorSize = 'big'} +} + +do { + Clear-Host + Write-Host + Write-Host -Object $Localization.ChooseWheelDialogTitle + Write-Host + Write-Host -Object ('1) ' + $Localization.No) + Write-Host -Object ('2) ' + $Localization.Yes) + Write-Host + $input = Read-Host -Prompt $Localization.ChooseDialogPromt +} until ( Validate-Input -Object $input -Values (1..2) ) +switch ($input) { + 1 {$useClassicWheel = $false} + 2 {$useClassicWheel = $true} +} + +do { + Clear-Host + Write-Host + Write-Host -Object $Localization.ChoosePrecisionDialogTitle + Write-Host + Write-Host -Object ('1) ' + $Localization.Yes) + Write-Host -Object ('2) ' + $Localization.No) + Write-Host + $input = Read-Host -Prompt $Localization.ChooseDialogPromt +} until ( Validate-Input -Object $input -Values (1..2) ) +switch ($input) { + 1 {$useAlternatePrecision = $true} + 2 {$useAlternatePrecision = $false} +} + +do { + Clear-Host + Write-Host + Write-Host -Object $Localization.ListenerDialogTitle + Write-Host + Write-Host -Object ('1) ' + $Localization.Yes) + Write-Host -Object ('2) ' + $Localization.No) + Write-Host + $input = Read-Host -Prompt $Localization.ChooseDialogPromt +} until ( Validate-Input -Object $input -Values (1..2) ) +switch ($input) { + 1 {$useListener = $true} + 2 {$useListener = $false} +} +#endregion + + +#region Variables +$windowsTheme = Get-WindowsTheme +$originalCursorFolder = "$PSScriptRoot\Resources\Original Cursors\$windowsTheme\$cursorSize" +$byteDiffFolder = "$PSScriptRoot\Resources\Byte Diff\$cursorSize" +$customCursorFolder = "$PSScriptRoot\Resources\Custom Cursor" +#endregion + +#region Cursor +Copy-Item -Path $originalCursorFolder\default\* -Destination $customCursorFolder -Recurse -Force +if ($useClassicWheel -eq $false) { + if ( ($windowsTheme -eq 'light') -and ($cursorSize -eq 'big') ) { + Create-PatchedCursorFiles -CursorPath $originalCursorFolder\default -DiffPath $byteDiffFolder -UseAlternateDiff $true + } + else { + Create-PatchedCursorFiles -CursorPath $originalCursorFolder\default -DiffPath $byteDiffFolder + } +} +else { + Copy-Item -Path $originalCursorFolder\alternatives\busy.ani -Destination $customCursorFolder -Force + Copy-Item -Path $originalCursorFolder\alternatives\working.ani -Destination $customCursorFolder -Force +} +if ($useAlternatePrecision) { + Copy-Item -Path $originalCursorFolder\alternatives\precision.cur -Destination $customCursorFolder -Force +} +Install-CursorFromFolder -Path $customCursorFolder +Apply-Changes +#endregion + +#region Parameters +Set-Content -Path $PSScriptRoot\Resources\Preferences -Value $cursorSize +Add-Content -Path $PSScriptRoot\Resources\Preferences -Value $useClassicWheel +Add-Content -Path $PSScriptRoot\Resources\Preferences -Value $useAlternatePrecision +#endregion + +#region Listener +if ($useListener) { + $name = 'CCS Listener' + $action = New-ScheduledTaskAction -Execute powershell.exe -Argument ("-ExecutionPolicy Bypass -WindowStyle Hidden -File $PSScriptRoot\Listener.ps1") + $user = whoami + $trigger = New-ScheduledTaskTrigger -AtLogOn -User $user + $description = $Localization.ListenerTaskDescription + $settings = New-ScheduledTaskSettingsSet -AllowStartIfOnBatteries -StartWhenAvailable -DontStopIfGoingOnBatteries -ExecutionTimeLimit '00:00:00' + Stop-ScheduledTask -TaskName $name -ErrorAction SilentlyContinue + Register-ScheduledTask -TaskName $name -Description $description -Action $action -Trigger $trigger -Settings $settings -RunLevel Highest -Force | Out-Null + Start-Sleep 1 + Start-ScheduledTask -TaskName $name +} +#endregion + +#region Final Messages +Clear-Host +Write-Host +Write-Host -Object $Localization.SuccessMessage -ForegroundColor Green +Write-Host +Write-Host -Object $Localization.GitHubReminderMessage +Write-Host +Pause +exit +#endregion \ No newline at end of file diff --git a/Functions.ps1 b/Functions.ps1 new file mode 100644 index 0000000..e59a970 --- /dev/null +++ b/Functions.ps1 @@ -0,0 +1,261 @@ +#Requires -RunAsAdministrator +#Requires -Version 5.1 + +# https://www.rapidtables.com/convert/color/rgb-to-hsv.html +# https://what-when-how.com/introduction-to-video-and-image-processing/conversion-between-rgb-and-hsv-introduction-to-video-and-image-processing/ +function Convert-RGB-to-HSB { + [CmdletBinding()] + param ( + [Parameter(Mandatory)] + [ValidateRange(0, 255)] + [double]$Red, + + [Parameter(Mandatory)] + [ValidateRange(0, 255)] + [double]$Breen, + + [Parameter(Mandatory)] + [ValidateRange(0, 255)] + [double]$Blue + ) + $red = $red / 255 + $green = $green / 255 + $blue = $blue / 255 + $max = ($red, $green, $blue | Measure -Maximum).Maximum + $min = ($red, $green, $blue | Measure -Minimum).Minimum + $delta = $max - $min + $brightness = $max * 100 + if ($max -ne 0) {$saturation = ($delta / $max) * 100} + else {$saturation = 0} + if ($delta -eq 0) {$hue = 0} + else { + switch ($max) { + {$red -eq $_} { $hue = 60 * ( ($green - $blue ) / $delta ) } + {$green -eq $_} { $hue = 60 * ( 2 + ($blue - $red ) / $delta ) } + {$blue -eq $_} { $hue = 60 * ( 4 + ($red - $green) / $delta ) } + } + } + return @{ + Hue = $hue + Saturation = $saturation + Brightness = $brightness + } +} + +# https://www.rapidtables.com/convert/color/hsv-to-rgb.html +# https://en.wikipedia.org/wiki/HSL_and_HSV#HSV_to_RGB +function Convert-HSB-to-RGB { + [CmdletBinding()] + param ( + [Parameter(Mandatory)] + [ValidateRange(0, 359)] + [double]$Hue, + + [Parameter(Mandatory)] + [ValidateRange(0, 100)] + [double]$Saturation, + + [Parameter(Mandatory)] + [ValidateRange(0, 100)] + [double]$Brightness + ) + $hue = $hue / 60 + $saturation = $saturation / 100 + $brightness = $brightness / 100 + $chroma = $saturation * $brightness + $x = $chroma * ( 1 - [Math]::Abs($hue % 2 - 1) ) + $m = $brightness - $chroma + # DO NOT ROUND HUE! + switch ( [Math]::Floor($hue) ) { + 0 {$red = $chroma; $green = $x ; $blue = 0} + 1 {$red = $x ; $green = $chroma; $blue = 0} + 2 {$red = 0 ; $green = $chroma; $blue = $x} + 3 {$red = 0 ; $green = $x ; $blue = $chroma} + 4 {$red = $x ; $green = 0 ; $blue = $chroma} + 5 {$red = $chroma; $green = 0 ; $blue = $x} + } + $red = ( ($red + $m) * 255 ) + $green = ( ($green + $m) * 255 ) + $blue = ( ($blue + $m) * 255 ) + return @{ + Red = $red + Green = $green + Blue = $blue + } +} + +function Get-WindowsTheme { + switch (Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\CurrentVersion\Themes\Personalize -Name SystemUsesLightTheme) { + 0 {return 'dark' } + 1 {return 'light'} + } +} + +function Get-WindowsAccentColor { + [CmdletBinding()] + # Get current accent color from the registry by channels ignoring alpha + $b = ('{0:X}' -f (Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\DWM -Name AccentColor))[2,3] + $g = ('{0:X}' -f (Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\DWM -Name AccentColor))[4,5] + $r = ('{0:X}' -f (Get-ItemPropertyValue -Path HKCU:\Software\Microsoft\Windows\DWM -Name AccentColor))[6,7] + # Combine lines into one string and convert to decimal + $b = [int]('0x' + (-join ($b[0], $b[1]))) + $g = [int]('0x' + (-join ($g[0], $g[1]))) + $r = [int]('0x' + (-join ($r[0], $r[1]))) + return @{ + R = $r + G = $g + B = $b + } +} + +# For dev usage +# Compare two cursors which differ only in colors using Unix cmp tool, then use this funtion to get only addresses of the differing bytes +function Get-DiffAddresses { + [CmdletBinding()] + param ( + [Parameter(Mandatory)] + [array]$Diff + ) + $i = 0 + $diff | foreach { + $diff[$i] = ($_.Trim() -split ' ')[0] - 1 + $i++ + } + return $diff +} + +function Validate-Input { + param ( + [Parameter(Mandatory)] + $Object, + + [Parameter(Mandatory)] + [array]$Values + ) + if ($object -in $values) { + return $true + } + else { + return $false + } +} + +function Patch-Cursor { + [CmdletBinding()] + param ( + [Parameter(Mandatory)] + [array]$Diff, + + [Parameter(Mandatory)] + [byte[]]$Cursor + ) + $color = Get-WindowsAccentColor + $counter = 0 + foreach ($byteAddress in $diff) { + $counter++ + switch ($counter) { + 1 {$cursor[$byteAddress] = '0x{0:X}' -f $color.B} + 2 {$cursor[$byteAddress] = '0x{0:X}' -f $color.G} + 3 {$cursor[$byteAddress] = '0x{0:X}' -f $color.R; $counter = 0} + } + } + return $cursor +} + +function Create-PatchedCursorFiles { + param ( + [Parameter(Mandatory)] + [string]$CursorPath, + + [Parameter(Mandatory)] + [string]$DiffPath, + + [boolean]$UseAlternateDiff + ) + $cursor = [System.IO.File]::ReadAllBytes("$CursorPath\busy.ani") + if ($useAlternateDiff) { + $cursor = Patch-Cursor -Diff (Get-Content $DiffPath\busy_light) -Cursor $cursor + } + else { + $cursor = Patch-Cursor -Diff (Get-Content $DiffPath\busy) -Cursor $cursor + } + [System.IO.File]::WriteAllBytes("$PSScriptRoot\Resources\Custom Cursor\busy.ani", $cursor) + $cursor = [System.IO.File]::ReadAllBytes("$CursorPath\working.ani") + $cursor = Patch-Cursor -Diff (Get-Content $DiffPath\working) -Cursor $cursor + [System.IO.File]::WriteAllBytes("$PSScriptRoot\Resources\Custom Cursor\working.ani", $cursor) +} + +function Install-Cursor { + [CmdletBinding()] + param ( + [Parameter(Mandatory)] + [string]$Name, + + [Parameter(Mandatory)] + [string]$Path + ) + New-ItemProperty -Path 'HKCU:\Control Panel\Cursors' -Name $Name -PropertyType String -Value $Path -Force | Out-Null +} + +function Install-CursorFromFolder { + [CmdletBinding()] + param ( + [Parameter(Mandatory)] + [string]$Path + ) + foreach ($cursor in Get-ChildItem -Path $Path) { + switch ($cursor.Name) { + {$_ -eq 'alternate.cur' } {Install-Cursor -Name UpArrow -Path $cursor.FullName} + {$_ -eq 'beam.cur' } {Install-Cursor -Name IBeam -Path $cursor.FullName} + {$_ -eq 'busy.ani' } {Install-Cursor -Name Wait -Path $cursor.FullName} + {$_ -eq 'dgn1.cur' } {Install-Cursor -Name SizeNWSE -Path $cursor.FullName} + {$_ -eq 'dgn2.cur' } {Install-Cursor -Name SizeNESW -Path $cursor.FullName} + {$_ -eq 'handwriting.cur'} {Install-Cursor -Name NWPen -Path $cursor.FullName} + {$_ -eq 'help.cur' } {Install-Cursor -Name Help -Path $cursor.FullName} + {$_ -eq 'horz.cur' } {Install-Cursor -Name SizeWE -Path $cursor.FullName} + {$_ -eq 'link.cur' } {Install-Cursor -Name Hand -Path $cursor.FullName} + {$_ -eq 'move.cur' } {Install-Cursor -Name SizeAll -Path $cursor.FullName} + {$_ -eq 'person.cur' } {Install-Cursor -Name Person -Path $cursor.FullName} + {$_ -eq 'pin.cur' } {Install-Cursor -Name Pin -Path $cursor.FullName} + {$_ -eq 'pointer.cur' } {Install-Cursor -Name Arrow -Path $cursor.FullName} + {$_ -eq 'precision.cur' } {Install-Cursor -Name Crosshair -Path $cursor.FullName} + {$_ -eq 'unavailable.cur'} {Install-Cursor -Name No -Path $cursor.FullName} + {$_ -eq 'vert.cur' } {Install-Cursor -Name SizeNS -Path $cursor.FullName} + {$_ -eq 'working.ani' } {Install-Cursor -Name AppStarting -Path $cursor.FullName} + } + } +} + +function Restore-DefaultCursor { + Install-Cursor -Name AppStarting -Path %SystemRoot%\cursors\aero_working.ani + Install-Cursor -Name Arrow -Path %SystemRoot%\cursors\aero_arrow.cur + Install-Cursor -Name Crosshair -Path %SystemRoot%\cursors\aero_unavail.cur + Install-Cursor -Name Hand -Path %SystemRoot%\cursors\aero_link.cur + Install-Cursor -Name Help -Path %SystemRoot%\cursors\aero_helpsel.cur + Install-Cursor -Name No -Path %SystemRoot%\cursors\aero_unavail.cur + Install-Cursor -Name NWPen -Path %SystemRoot%\cursors\aero_pen.cur + Install-Cursor -Name Person -Path %SystemRoot%\cursors\aero_person.cur + Install-Cursor -Name Pin -Path %SystemRoot%\cursors\aero_pin.cur + Install-Cursor -Name SizeAll -Path %SystemRoot%\cursors\aero_move.cur + Install-Cursor -Name SizeNESW -Path %SystemRoot%\cursors\aero_nesw.cur + Install-Cursor -Name SizeNS -Path %SystemRoot%\cursors\aero_ns.cur + Install-Cursor -Name SizeNWSE -Path %SystemRoot%\cursors\aero_nwse.cur + Install-Cursor -Name SizeWE -Path %SystemRoot%\cursors\aero_ew.cur + Install-Cursor -Name UpArrow -Path %SystemRoot%\cursors\aero_up.cur + Install-Cursor -Name Wait -Path %SystemRoot%\cursors\aero_busy.ani + New-ItemProperty -Path 'HKCU:\Control Panel\Cursors' -Name IBeam -PropertyType String -Value $null -Force | Out-Null +} + +function Apply-Changes { + # Define a C# class for calling WinAPI + Add-Type -TypeDefinition @' + public class SysParamsInfo { + [System.Runtime.InteropServices.DllImport("user32.dll", EntryPoint = "SystemParametersInfo")] + public static extern bool SystemParametersInfo(uint uiAction, uint uiParam, uint pvParam, uint fWinIni); + public static void UpdateCursor() { + SystemParametersInfo(0x0057, 0, 0, 0x01 | 0x02); + } + } +'@ +[SysParamsInfo]::UpdateCursor() +} \ No newline at end of file diff --git a/Install.ps1 b/Install.ps1 new file mode 100644 index 0000000..b155432 --- /dev/null +++ b/Install.ps1 @@ -0,0 +1,18 @@ +#Requires -RunAsAdministrator +#Requires -Version 5.1 + +$ErrorActionPreference = 'Stop' +[Net.ServicePointManager]::SecurityProtocol = [Net.SecurityProtocolType]::Tls12 +$ccsFolder = "$env:LocalAppData\CCS" + +if (Test-Path -Path $ccsFolder) { + Remove-Item -Path $ccsFolder -Recurse -Force | Out-Null +} +New-Item -ItemType Directory -Path $ccsFolder | Out-Null + +$uri = 'https://github.com/SunsetTechuila/Cursor-Colors-Synchronizer/releases/latest/download/Cursor-Colors-Synchronizer.zip' +Invoke-WebRequest -Uri $uri -OutFile $ccsFolder\Cursor-Colors-Synchronizer.zip +Expand-Archive -Path $ccsFolder\Cursor-Colors-Synchronizer.zip -DestinationPath $ccsFolder +Remove-Item -Path $ccsFolder\Cursor-Colors-Synchronizer.zip -Force + +Start-Process -FilePath powershell -ArgumentList "-ExecutionPolicy Bypass -NoExit -File $ccsFolder\CCS.ps1" \ No newline at end of file diff --git a/Listener.ps1 b/Listener.ps1 new file mode 100644 index 0000000..53e6152 --- /dev/null +++ b/Listener.ps1 @@ -0,0 +1,66 @@ +#Requires -RunAsAdministrator +#Requires -Version 5.1 + +#region Preparation +$ErrorActionPreference = 'Stop' +Remove-Module -Name Functions -ErrorAction SilentlyContinue +Clear-Variable -Name lastTheme, currentTheme, lastAccentColor, currentAccentColor, useClassicWheel, useAlternatePrecision, originalCursorFolder, customCursorFolder -ErrorAction SilentlyContinue +Import-Module -Name $PSScriptRoot\Functions.ps1 +#endregion + +#region Variables +$cursorSize = Get-Content -Path $PSScriptRoot\Resources\Preferences -First 1 +$useClassicWheel = Get-Content -Path $PSScriptRoot\Resources\Preferences -First 2 | Select-Object -Skip 1 +$useAlternatePrecision = Get-Content -Path $PSScriptRoot\Resources\Preferences -Last 1 +$byteDiffFolder = "$PSScriptRoot\Resources\Byte Diff\$cursorSize" +$customCursorFolder = "$PSScriptRoot\Resources\Custom Cursor" +$lastTheme = Get-WindowsTheme +$lastAccentColor = Get-WindowsAccentColor +#endregion + +while (1) { + #region Theme + $currentTheme = Get-WindowsTheme + if ($lastTheme -ne $currentTheme) { + $originalCursorFolder = "$PSScriptRoot\Resources\Original Cursors\$currentTheme\$cursorSize" + Copy-Item -Path $originalCursorFolder\default\* -Destination $customCursorFolder -Recurse -Force + if ($useAlternatePrecision) { + Copy-Item -Path $originalCursorFolder\alternatives\precision.cur -Destination $customCursorFolder -Force + } + if ($useClassicWheel -eq $false) { + if ( ($windowsTheme -eq 'light') -and ($cursorSize -eq 'big') ) { + Create-PatchedCursorFiles -CursorPath $customCursorFolder -DiffPath $byteDiffFolder -UseAlternateDiff $true + } + else { + Create-PatchedCursorFiles -CursorPath $customCursorFolder -DiffPath $byteDiffFolder + } + } + else { + Copy-Item -Path $originalCursorFolder\alternatives\busy.ani -Destination $customCursorFolder -Force + Copy-Item -Path $originalCursorFolder\alternatives\working.ani -Destination $customCursorFolder -Force + } + Install-CursorFromFolder -Path $customCursorFolder + Apply-Changes + $lastTheme = $currentTheme + } + #endregion + + #region Accent Color + $currentAccentColor = Get-WindowsAccentColor + if ( ($lastAccentColor.R -ne $currentAccentColor.R) -or ($lastAccentColor.G -ne $currentAccentColor.G) -or ($lastAccentColor.B -ne $currentAccentColor.B) ) { + if ($useClassicWheel -eq $false) { + if ( ($windowsTheme -eq 'light') -and ($cursorSize -eq 'big') ) { + Create-PatchedCursorFiles -CursorPath $customCursorFolder -DiffPath $byteDiffFolder -UseAlternateDiff $true + } + else { + Create-PatchedCursorFiles $customCursorFolder $byteDiffFolder + } + Install-CursorFromFolder -Path $customCursorFolder + Apply-Changes + } + $lastAccentColor = $currentAccentColor + } + #endregion + + Start-Sleep 1 +} \ No newline at end of file diff --git a/Localizations/en-US/Strings.psd1 b/Localizations/en-US/Strings.psd1 new file mode 100644 index 0000000..93dc754 --- /dev/null +++ b/Localizations/en-US/Strings.psd1 @@ -0,0 +1,15 @@ +ConvertFrom-StringData -StringData @' +Yes = Yes +No = No +ChooseDialogPromt = Your choice +ChooseSizeDialogTitle = Choose cursor size: +Small = Small +Regular = Regular +Big = Big +ChooseWheelDialogTitle = Use classic-style loading wheel? Accent color synchronization will be unavailable +ChoosePrecisionDialogTitle = Use alternate precision cursor? +ListenerDialogTitle = Enable background synchronization for cursor theme and accent color? +ListenerTaskDescription = Runs a script that synchronize cursor with the Windows theme and accent color in the background +SuccessMessage = Success, no errors! Enjoy. +GitHubReminderMessage = Do not forget to star project on GitHub if you liked it: https://github.com/SunsetTechuila/Cursor-Colors-Synchronizer +'@ \ No newline at end of file diff --git a/Localizations/ru-RU/Strings.psd1 b/Localizations/ru-RU/Strings.psd1 new file mode 100644 index 0000000..5ae7671 --- /dev/null +++ b/Localizations/ru-RU/Strings.psd1 @@ -0,0 +1,15 @@ +ConvertFrom-StringData -StringData @' +Yes = Да +No = Нет +ChooseDialogPromt = Ваш выбор +ChooseSizeDialogTitle = Выберите размер курсора: +Small = Маленький +Regular = Обычный +Big = Большой +ChooseWheelDialogTitle = Использовать классический стиль колеса загрузки? Cинхронизация акцентного цвета будет недоступна +ChoosePrecisionDialogTitle = Использовать альтернативный курсор для графического выделения? +ListenerDialogTitle = Синхронизировать тему и акцентный цвет курсора в фоновом режиме? +ListenerTaskDescription = Запускает скрипт, в фоне синхронизирующий курсор с темой и акцентным цветом Windows +SuccessMessage = Все выполнено успешно и без ошибок! +GitHubReminderMessage = Не забудьте оценить проект на GitHub, если вам понравилось: https://github.com/SunsetTechuila/Cursor-Colors-Synchronizer +'@ \ No newline at end of file diff --git a/README.md b/README.md new file mode 100644 index 0000000..58e0cc4 --- /dev/null +++ b/README.md @@ -0,0 +1,40 @@ +# Cursor Colors Synchronizer + +![CCS Banner](https://user-images.githubusercontent.com/115353812/218801534-51e90ae7-9867-488e-afc0-3002867662cb.png) + +## Description +A tiny PowerShell tool which will synchronize your cursor accent color and theme with the Windows ones. Uses paid version of +[Windows 11 Cursors Concept v2 pack](https://www.deviantart.com/jepricreations/art/Windows-11-Cursors-Concept-v2-886489356). + +#### Best match with: +- [Windows Auto Night Mode](https://github.com/AutoDarkMode/Windows-Auto-Night-Mode) +- Automatic accent color with: + - [WinDynamicDesktop](https://github.com/t1m0thyj/WinDynamicDesktop) + - [Bing Wallpaper](https://www.microsoft.com/en-us/bing/bing-wallpaper) + - Windows spotlight + - A slideshow + +## How to + +- ### Install +```powershell +IWR -UseB 'https://raw.githubusercontent.com/SunsetTechuila/Cursor-Colors-Synchronizer/main/Install.ps1' | IEX +``` + +- ### Use +Just read the installer prompts and choose what you want. + +- ### Uninstall +```powershell +IWR -UseB 'https://raw.githubusercontent.com/SunsetTechuila/Cursor-Colors-Synchronizer/main/Uninstall.ps1' | IEX +``` + +## Credits +- [farag2](https://github.com/farag2) for a lot of help + +- [Jepri Creations](https://jepricreations.com) for the cursors + +## Legal +I don't have a licence or permission from author to use that pack in this way. You can buy it on [ko-fi](https://ko-fi.com/s/d9f85e6821) for personal use. + +Due to illegal status of the repository I can't add a licence, but you can use my code for any purposes. diff --git a/Resources/Byte Diff/big/busy b/Resources/Byte Diff/big/busy new file mode 100644 index 0000000..3973834 Binary files /dev/null and b/Resources/Byte Diff/big/busy differ diff --git a/Resources/Byte Diff/big/busy_light b/Resources/Byte Diff/big/busy_light new file mode 100644 index 0000000..5f9e178 Binary files /dev/null and b/Resources/Byte Diff/big/busy_light differ diff --git a/Resources/Byte Diff/big/working b/Resources/Byte Diff/big/working new file mode 100644 index 0000000..82fb2b1 Binary files /dev/null and b/Resources/Byte Diff/big/working differ diff --git a/Resources/Byte Diff/regular/busy b/Resources/Byte Diff/regular/busy new file mode 100644 index 0000000..28250d1 Binary files /dev/null and b/Resources/Byte Diff/regular/busy differ diff --git a/Resources/Byte Diff/regular/working b/Resources/Byte Diff/regular/working new file mode 100644 index 0000000..7a443cd Binary files /dev/null and b/Resources/Byte Diff/regular/working differ diff --git a/Resources/Byte Diff/small/busy b/Resources/Byte Diff/small/busy new file mode 100644 index 0000000..28250d1 Binary files /dev/null and b/Resources/Byte Diff/small/busy differ diff --git a/Resources/Byte Diff/small/working b/Resources/Byte Diff/small/working new file mode 100644 index 0000000..9570425 Binary files /dev/null and b/Resources/Byte Diff/small/working differ diff --git a/Resources/Original Cursors/dark/big/alternatives/busy.ani b/Resources/Original Cursors/dark/big/alternatives/busy.ani new file mode 100644 index 0000000..0ff7755 Binary files /dev/null and b/Resources/Original Cursors/dark/big/alternatives/busy.ani differ diff --git a/Resources/Original Cursors/dark/big/alternatives/precision.cur b/Resources/Original Cursors/dark/big/alternatives/precision.cur new file mode 100644 index 0000000..62ab575 Binary files /dev/null and b/Resources/Original Cursors/dark/big/alternatives/precision.cur differ diff --git a/Resources/Original Cursors/dark/big/alternatives/working.ani b/Resources/Original Cursors/dark/big/alternatives/working.ani new file mode 100644 index 0000000..fd26d24 Binary files /dev/null and b/Resources/Original Cursors/dark/big/alternatives/working.ani differ diff --git a/Resources/Original Cursors/dark/big/default/alternate.cur b/Resources/Original Cursors/dark/big/default/alternate.cur new file mode 100644 index 0000000..58d5164 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/alternate.cur differ diff --git a/Resources/Original Cursors/dark/big/default/beam.cur b/Resources/Original Cursors/dark/big/default/beam.cur new file mode 100644 index 0000000..c28b197 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/beam.cur differ diff --git a/Resources/Original Cursors/dark/big/default/busy.ani b/Resources/Original Cursors/dark/big/default/busy.ani new file mode 100644 index 0000000..153e8d2 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/busy.ani differ diff --git a/Resources/Original Cursors/dark/big/default/dgn1.cur b/Resources/Original Cursors/dark/big/default/dgn1.cur new file mode 100644 index 0000000..bde09cd Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/dgn1.cur differ diff --git a/Resources/Original Cursors/dark/big/default/dgn2.cur b/Resources/Original Cursors/dark/big/default/dgn2.cur new file mode 100644 index 0000000..4abe960 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/dgn2.cur differ diff --git a/Resources/Original Cursors/dark/big/default/handwriting.cur b/Resources/Original Cursors/dark/big/default/handwriting.cur new file mode 100644 index 0000000..074a731 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/handwriting.cur differ diff --git a/Resources/Original Cursors/dark/big/default/help.cur b/Resources/Original Cursors/dark/big/default/help.cur new file mode 100644 index 0000000..19afa58 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/help.cur differ diff --git a/Resources/Original Cursors/dark/big/default/horz.cur b/Resources/Original Cursors/dark/big/default/horz.cur new file mode 100644 index 0000000..fb79d69 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/horz.cur differ diff --git a/Resources/Original Cursors/dark/big/default/link.cur b/Resources/Original Cursors/dark/big/default/link.cur new file mode 100644 index 0000000..fea9b15 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/link.cur differ diff --git a/Resources/Original Cursors/dark/big/default/move.cur b/Resources/Original Cursors/dark/big/default/move.cur new file mode 100644 index 0000000..6d1d89f Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/move.cur differ diff --git a/Resources/Original Cursors/dark/big/default/person.cur b/Resources/Original Cursors/dark/big/default/person.cur new file mode 100644 index 0000000..262c7fb Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/person.cur differ diff --git a/Resources/Original Cursors/dark/big/default/pin.cur b/Resources/Original Cursors/dark/big/default/pin.cur new file mode 100644 index 0000000..ff50be6 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/pin.cur differ diff --git a/Resources/Original Cursors/dark/big/default/pointer.cur b/Resources/Original Cursors/dark/big/default/pointer.cur new file mode 100644 index 0000000..b16551b Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/pointer.cur differ diff --git a/Resources/Original Cursors/dark/big/default/precision.cur b/Resources/Original Cursors/dark/big/default/precision.cur new file mode 100644 index 0000000..0fdca71 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/precision.cur differ diff --git a/Resources/Original Cursors/dark/big/default/unavailable.cur b/Resources/Original Cursors/dark/big/default/unavailable.cur new file mode 100644 index 0000000..3997dac Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/unavailable.cur differ diff --git a/Resources/Original Cursors/dark/big/default/vert.cur b/Resources/Original Cursors/dark/big/default/vert.cur new file mode 100644 index 0000000..f5d7461 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/vert.cur differ diff --git a/Resources/Original Cursors/dark/big/default/working.ani b/Resources/Original Cursors/dark/big/default/working.ani new file mode 100644 index 0000000..a33c889 Binary files /dev/null and b/Resources/Original Cursors/dark/big/default/working.ani differ diff --git a/Resources/Original Cursors/dark/regular/alternatives/busy.ani b/Resources/Original Cursors/dark/regular/alternatives/busy.ani new file mode 100644 index 0000000..55d0b84 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/alternatives/busy.ani differ diff --git a/Resources/Original Cursors/dark/regular/alternatives/precision.cur b/Resources/Original Cursors/dark/regular/alternatives/precision.cur new file mode 100644 index 0000000..4bfb6a6 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/alternatives/precision.cur differ diff --git a/Resources/Original Cursors/dark/regular/alternatives/working.ani b/Resources/Original Cursors/dark/regular/alternatives/working.ani new file mode 100644 index 0000000..4783eb2 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/alternatives/working.ani differ diff --git a/Resources/Original Cursors/dark/regular/default/alternate.cur b/Resources/Original Cursors/dark/regular/default/alternate.cur new file mode 100644 index 0000000..36443fa Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/alternate.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/beam.cur b/Resources/Original Cursors/dark/regular/default/beam.cur new file mode 100644 index 0000000..3e4076c Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/beam.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/busy.ani b/Resources/Original Cursors/dark/regular/default/busy.ani new file mode 100644 index 0000000..526d3b3 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/busy.ani differ diff --git a/Resources/Original Cursors/dark/regular/default/dgn1.cur b/Resources/Original Cursors/dark/regular/default/dgn1.cur new file mode 100644 index 0000000..6e5b4f0 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/dgn1.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/dgn2.cur b/Resources/Original Cursors/dark/regular/default/dgn2.cur new file mode 100644 index 0000000..d7cbc3d Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/dgn2.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/handwriting.cur b/Resources/Original Cursors/dark/regular/default/handwriting.cur new file mode 100644 index 0000000..159f21c Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/handwriting.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/help.cur b/Resources/Original Cursors/dark/regular/default/help.cur new file mode 100644 index 0000000..4c6965e Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/help.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/horz.cur b/Resources/Original Cursors/dark/regular/default/horz.cur new file mode 100644 index 0000000..906def3 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/horz.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/link.cur b/Resources/Original Cursors/dark/regular/default/link.cur new file mode 100644 index 0000000..1be5406 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/link.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/move.cur b/Resources/Original Cursors/dark/regular/default/move.cur new file mode 100644 index 0000000..a97cd4f Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/move.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/person.cur b/Resources/Original Cursors/dark/regular/default/person.cur new file mode 100644 index 0000000..51d8be6 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/person.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/pin.cur b/Resources/Original Cursors/dark/regular/default/pin.cur new file mode 100644 index 0000000..8697b86 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/pin.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/pointer.cur b/Resources/Original Cursors/dark/regular/default/pointer.cur new file mode 100644 index 0000000..181f0ed Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/pointer.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/precision.cur b/Resources/Original Cursors/dark/regular/default/precision.cur new file mode 100644 index 0000000..d28c89e Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/precision.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/unavailable.cur b/Resources/Original Cursors/dark/regular/default/unavailable.cur new file mode 100644 index 0000000..d843e97 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/unavailable.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/vert.cur b/Resources/Original Cursors/dark/regular/default/vert.cur new file mode 100644 index 0000000..0299ef6 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/vert.cur differ diff --git a/Resources/Original Cursors/dark/regular/default/working.ani b/Resources/Original Cursors/dark/regular/default/working.ani new file mode 100644 index 0000000..1fbda11 Binary files /dev/null and b/Resources/Original Cursors/dark/regular/default/working.ani differ diff --git a/Resources/Original Cursors/dark/small/alternatives/busy.ani b/Resources/Original Cursors/dark/small/alternatives/busy.ani new file mode 100644 index 0000000..55d0b84 Binary files /dev/null and b/Resources/Original Cursors/dark/small/alternatives/busy.ani differ diff --git a/Resources/Original Cursors/dark/small/alternatives/precision.cur b/Resources/Original Cursors/dark/small/alternatives/precision.cur new file mode 100644 index 0000000..4bfb6a6 Binary files /dev/null and b/Resources/Original Cursors/dark/small/alternatives/precision.cur differ diff --git a/Resources/Original Cursors/dark/small/alternatives/working.ani b/Resources/Original Cursors/dark/small/alternatives/working.ani new file mode 100644 index 0000000..234ad6a Binary files /dev/null and b/Resources/Original Cursors/dark/small/alternatives/working.ani differ diff --git a/Resources/Original Cursors/dark/small/default/alternate.cur b/Resources/Original Cursors/dark/small/default/alternate.cur new file mode 100644 index 0000000..36443fa Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/alternate.cur differ diff --git a/Resources/Original Cursors/dark/small/default/beam.cur b/Resources/Original Cursors/dark/small/default/beam.cur new file mode 100644 index 0000000..3e4076c Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/beam.cur differ diff --git a/Resources/Original Cursors/dark/small/default/busy.ani b/Resources/Original Cursors/dark/small/default/busy.ani new file mode 100644 index 0000000..526d3b3 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/busy.ani differ diff --git a/Resources/Original Cursors/dark/small/default/dgn1.cur b/Resources/Original Cursors/dark/small/default/dgn1.cur new file mode 100644 index 0000000..6e5b4f0 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/dgn1.cur differ diff --git a/Resources/Original Cursors/dark/small/default/dgn2.cur b/Resources/Original Cursors/dark/small/default/dgn2.cur new file mode 100644 index 0000000..d7cbc3d Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/dgn2.cur differ diff --git a/Resources/Original Cursors/dark/small/default/handwriting.cur b/Resources/Original Cursors/dark/small/default/handwriting.cur new file mode 100644 index 0000000..36239aa Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/handwriting.cur differ diff --git a/Resources/Original Cursors/dark/small/default/help.cur b/Resources/Original Cursors/dark/small/default/help.cur new file mode 100644 index 0000000..f05477e Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/help.cur differ diff --git a/Resources/Original Cursors/dark/small/default/horz.cur b/Resources/Original Cursors/dark/small/default/horz.cur new file mode 100644 index 0000000..906def3 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/horz.cur differ diff --git a/Resources/Original Cursors/dark/small/default/link.cur b/Resources/Original Cursors/dark/small/default/link.cur new file mode 100644 index 0000000..ea2cfaa Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/link.cur differ diff --git a/Resources/Original Cursors/dark/small/default/move.cur b/Resources/Original Cursors/dark/small/default/move.cur new file mode 100644 index 0000000..a97cd4f Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/move.cur differ diff --git a/Resources/Original Cursors/dark/small/default/person.cur b/Resources/Original Cursors/dark/small/default/person.cur new file mode 100644 index 0000000..79ea153 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/person.cur differ diff --git a/Resources/Original Cursors/dark/small/default/pin.cur b/Resources/Original Cursors/dark/small/default/pin.cur new file mode 100644 index 0000000..4f7a360 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/pin.cur differ diff --git a/Resources/Original Cursors/dark/small/default/pointer.cur b/Resources/Original Cursors/dark/small/default/pointer.cur new file mode 100644 index 0000000..536f2dd Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/pointer.cur differ diff --git a/Resources/Original Cursors/dark/small/default/precision.cur b/Resources/Original Cursors/dark/small/default/precision.cur new file mode 100644 index 0000000..d28c89e Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/precision.cur differ diff --git a/Resources/Original Cursors/dark/small/default/unavailable.cur b/Resources/Original Cursors/dark/small/default/unavailable.cur new file mode 100644 index 0000000..d843e97 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/unavailable.cur differ diff --git a/Resources/Original Cursors/dark/small/default/vert.cur b/Resources/Original Cursors/dark/small/default/vert.cur new file mode 100644 index 0000000..0299ef6 Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/vert.cur differ diff --git a/Resources/Original Cursors/dark/small/default/working.ani b/Resources/Original Cursors/dark/small/default/working.ani new file mode 100644 index 0000000..d7447ce Binary files /dev/null and b/Resources/Original Cursors/dark/small/default/working.ani differ diff --git a/Resources/Original Cursors/light/big/alternatives/busy.ani b/Resources/Original Cursors/light/big/alternatives/busy.ani new file mode 100644 index 0000000..0ff7755 Binary files /dev/null and b/Resources/Original Cursors/light/big/alternatives/busy.ani differ diff --git a/Resources/Original Cursors/light/big/alternatives/precision.cur b/Resources/Original Cursors/light/big/alternatives/precision.cur new file mode 100644 index 0000000..62ab575 Binary files /dev/null and b/Resources/Original Cursors/light/big/alternatives/precision.cur differ diff --git a/Resources/Original Cursors/light/big/alternatives/working.ani b/Resources/Original Cursors/light/big/alternatives/working.ani new file mode 100644 index 0000000..5792695 Binary files /dev/null and b/Resources/Original Cursors/light/big/alternatives/working.ani differ diff --git a/Resources/Original Cursors/light/big/default/alternate.cur b/Resources/Original Cursors/light/big/default/alternate.cur new file mode 100644 index 0000000..58d5164 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/alternate.cur differ diff --git a/Resources/Original Cursors/light/big/default/beam.cur b/Resources/Original Cursors/light/big/default/beam.cur new file mode 100644 index 0000000..c28b197 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/beam.cur differ diff --git a/Resources/Original Cursors/light/big/default/busy.ani b/Resources/Original Cursors/light/big/default/busy.ani new file mode 100644 index 0000000..333df05 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/busy.ani differ diff --git a/Resources/Original Cursors/light/big/default/dgn1.cur b/Resources/Original Cursors/light/big/default/dgn1.cur new file mode 100644 index 0000000..bde09cd Binary files /dev/null and b/Resources/Original Cursors/light/big/default/dgn1.cur differ diff --git a/Resources/Original Cursors/light/big/default/dgn2.cur b/Resources/Original Cursors/light/big/default/dgn2.cur new file mode 100644 index 0000000..4abe960 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/dgn2.cur differ diff --git a/Resources/Original Cursors/light/big/default/handwriting.cur b/Resources/Original Cursors/light/big/default/handwriting.cur new file mode 100644 index 0000000..fcc9471 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/handwriting.cur differ diff --git a/Resources/Original Cursors/light/big/default/help.cur b/Resources/Original Cursors/light/big/default/help.cur new file mode 100644 index 0000000..3fd551d Binary files /dev/null and b/Resources/Original Cursors/light/big/default/help.cur differ diff --git a/Resources/Original Cursors/light/big/default/horz.cur b/Resources/Original Cursors/light/big/default/horz.cur new file mode 100644 index 0000000..fb79d69 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/horz.cur differ diff --git a/Resources/Original Cursors/light/big/default/link.cur b/Resources/Original Cursors/light/big/default/link.cur new file mode 100644 index 0000000..6bd6a4f Binary files /dev/null and b/Resources/Original Cursors/light/big/default/link.cur differ diff --git a/Resources/Original Cursors/light/big/default/move.cur b/Resources/Original Cursors/light/big/default/move.cur new file mode 100644 index 0000000..6d1d89f Binary files /dev/null and b/Resources/Original Cursors/light/big/default/move.cur differ diff --git a/Resources/Original Cursors/light/big/default/person.cur b/Resources/Original Cursors/light/big/default/person.cur new file mode 100644 index 0000000..0a1e997 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/person.cur differ diff --git a/Resources/Original Cursors/light/big/default/pin.cur b/Resources/Original Cursors/light/big/default/pin.cur new file mode 100644 index 0000000..99c5f0f Binary files /dev/null and b/Resources/Original Cursors/light/big/default/pin.cur differ diff --git a/Resources/Original Cursors/light/big/default/pointer.cur b/Resources/Original Cursors/light/big/default/pointer.cur new file mode 100644 index 0000000..61edefe Binary files /dev/null and b/Resources/Original Cursors/light/big/default/pointer.cur differ diff --git a/Resources/Original Cursors/light/big/default/precision.cur b/Resources/Original Cursors/light/big/default/precision.cur new file mode 100644 index 0000000..0fdca71 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/precision.cur differ diff --git a/Resources/Original Cursors/light/big/default/unavailable.cur b/Resources/Original Cursors/light/big/default/unavailable.cur new file mode 100644 index 0000000..d1a40bd Binary files /dev/null and b/Resources/Original Cursors/light/big/default/unavailable.cur differ diff --git a/Resources/Original Cursors/light/big/default/vert.cur b/Resources/Original Cursors/light/big/default/vert.cur new file mode 100644 index 0000000..f5d7461 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/vert.cur differ diff --git a/Resources/Original Cursors/light/big/default/working.ani b/Resources/Original Cursors/light/big/default/working.ani new file mode 100644 index 0000000..d802cd4 Binary files /dev/null and b/Resources/Original Cursors/light/big/default/working.ani differ diff --git a/Resources/Original Cursors/light/regular/alternatives/busy.ani b/Resources/Original Cursors/light/regular/alternatives/busy.ani new file mode 100644 index 0000000..55d0b84 Binary files /dev/null and b/Resources/Original Cursors/light/regular/alternatives/busy.ani differ diff --git a/Resources/Original Cursors/light/regular/alternatives/precision.cur b/Resources/Original Cursors/light/regular/alternatives/precision.cur new file mode 100644 index 0000000..4bfb6a6 Binary files /dev/null and b/Resources/Original Cursors/light/regular/alternatives/precision.cur differ diff --git a/Resources/Original Cursors/light/regular/alternatives/working.ani b/Resources/Original Cursors/light/regular/alternatives/working.ani new file mode 100644 index 0000000..7db4ea0 Binary files /dev/null and b/Resources/Original Cursors/light/regular/alternatives/working.ani differ diff --git a/Resources/Original Cursors/light/regular/default/alternate.cur b/Resources/Original Cursors/light/regular/default/alternate.cur new file mode 100644 index 0000000..36443fa Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/alternate.cur differ diff --git a/Resources/Original Cursors/light/regular/default/beam.cur b/Resources/Original Cursors/light/regular/default/beam.cur new file mode 100644 index 0000000..3e4076c Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/beam.cur differ diff --git a/Resources/Original Cursors/light/regular/default/busy.ani b/Resources/Original Cursors/light/regular/default/busy.ani new file mode 100644 index 0000000..526d3b3 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/busy.ani differ diff --git a/Resources/Original Cursors/light/regular/default/dgn1.cur b/Resources/Original Cursors/light/regular/default/dgn1.cur new file mode 100644 index 0000000..6e5b4f0 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/dgn1.cur differ diff --git a/Resources/Original Cursors/light/regular/default/dgn2.cur b/Resources/Original Cursors/light/regular/default/dgn2.cur new file mode 100644 index 0000000..d7cbc3d Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/dgn2.cur differ diff --git a/Resources/Original Cursors/light/regular/default/handwriting.cur b/Resources/Original Cursors/light/regular/default/handwriting.cur new file mode 100644 index 0000000..7639f61 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/handwriting.cur differ diff --git a/Resources/Original Cursors/light/regular/default/help.cur b/Resources/Original Cursors/light/regular/default/help.cur new file mode 100644 index 0000000..300acee Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/help.cur differ diff --git a/Resources/Original Cursors/light/regular/default/horz.cur b/Resources/Original Cursors/light/regular/default/horz.cur new file mode 100644 index 0000000..906def3 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/horz.cur differ diff --git a/Resources/Original Cursors/light/regular/default/link.cur b/Resources/Original Cursors/light/regular/default/link.cur new file mode 100644 index 0000000..0bde3c0 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/link.cur differ diff --git a/Resources/Original Cursors/light/regular/default/move.cur b/Resources/Original Cursors/light/regular/default/move.cur new file mode 100644 index 0000000..a97cd4f Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/move.cur differ diff --git a/Resources/Original Cursors/light/regular/default/person.cur b/Resources/Original Cursors/light/regular/default/person.cur new file mode 100644 index 0000000..3df0de0 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/person.cur differ diff --git a/Resources/Original Cursors/light/regular/default/pin.cur b/Resources/Original Cursors/light/regular/default/pin.cur new file mode 100644 index 0000000..97e9ae1 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/pin.cur differ diff --git a/Resources/Original Cursors/light/regular/default/pointer.cur b/Resources/Original Cursors/light/regular/default/pointer.cur new file mode 100644 index 0000000..42e08be Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/pointer.cur differ diff --git a/Resources/Original Cursors/light/regular/default/precision.cur b/Resources/Original Cursors/light/regular/default/precision.cur new file mode 100644 index 0000000..d28c89e Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/precision.cur differ diff --git a/Resources/Original Cursors/light/regular/default/unavailable.cur b/Resources/Original Cursors/light/regular/default/unavailable.cur new file mode 100644 index 0000000..7ebf268 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/unavailable.cur differ diff --git a/Resources/Original Cursors/light/regular/default/vert.cur b/Resources/Original Cursors/light/regular/default/vert.cur new file mode 100644 index 0000000..0299ef6 Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/vert.cur differ diff --git a/Resources/Original Cursors/light/regular/default/working.ani b/Resources/Original Cursors/light/regular/default/working.ani new file mode 100644 index 0000000..3109b5f Binary files /dev/null and b/Resources/Original Cursors/light/regular/default/working.ani differ diff --git a/Resources/Original Cursors/light/small/alternatives/busy.ani b/Resources/Original Cursors/light/small/alternatives/busy.ani new file mode 100644 index 0000000..55d0b84 Binary files /dev/null and b/Resources/Original Cursors/light/small/alternatives/busy.ani differ diff --git a/Resources/Original Cursors/light/small/alternatives/precision.cur b/Resources/Original Cursors/light/small/alternatives/precision.cur new file mode 100644 index 0000000..4bfb6a6 Binary files /dev/null and b/Resources/Original Cursors/light/small/alternatives/precision.cur differ diff --git a/Resources/Original Cursors/light/small/alternatives/working.ani b/Resources/Original Cursors/light/small/alternatives/working.ani new file mode 100644 index 0000000..b460ed9 Binary files /dev/null and b/Resources/Original Cursors/light/small/alternatives/working.ani differ diff --git a/Resources/Original Cursors/light/small/default/alternate.cur b/Resources/Original Cursors/light/small/default/alternate.cur new file mode 100644 index 0000000..36443fa Binary files /dev/null and b/Resources/Original Cursors/light/small/default/alternate.cur differ diff --git a/Resources/Original Cursors/light/small/default/beam.cur b/Resources/Original Cursors/light/small/default/beam.cur new file mode 100644 index 0000000..3e4076c Binary files /dev/null and b/Resources/Original Cursors/light/small/default/beam.cur differ diff --git a/Resources/Original Cursors/light/small/default/busy.ani b/Resources/Original Cursors/light/small/default/busy.ani new file mode 100644 index 0000000..526d3b3 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/busy.ani differ diff --git a/Resources/Original Cursors/light/small/default/dgn1.cur b/Resources/Original Cursors/light/small/default/dgn1.cur new file mode 100644 index 0000000..6e5b4f0 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/dgn1.cur differ diff --git a/Resources/Original Cursors/light/small/default/dgn2.cur b/Resources/Original Cursors/light/small/default/dgn2.cur new file mode 100644 index 0000000..d7cbc3d Binary files /dev/null and b/Resources/Original Cursors/light/small/default/dgn2.cur differ diff --git a/Resources/Original Cursors/light/small/default/handwriting.cur b/Resources/Original Cursors/light/small/default/handwriting.cur new file mode 100644 index 0000000..8817eac Binary files /dev/null and b/Resources/Original Cursors/light/small/default/handwriting.cur differ diff --git a/Resources/Original Cursors/light/small/default/help.cur b/Resources/Original Cursors/light/small/default/help.cur new file mode 100644 index 0000000..56cdf9e Binary files /dev/null and b/Resources/Original Cursors/light/small/default/help.cur differ diff --git a/Resources/Original Cursors/light/small/default/horz.cur b/Resources/Original Cursors/light/small/default/horz.cur new file mode 100644 index 0000000..906def3 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/horz.cur differ diff --git a/Resources/Original Cursors/light/small/default/link.cur b/Resources/Original Cursors/light/small/default/link.cur new file mode 100644 index 0000000..d4c29df Binary files /dev/null and b/Resources/Original Cursors/light/small/default/link.cur differ diff --git a/Resources/Original Cursors/light/small/default/move.cur b/Resources/Original Cursors/light/small/default/move.cur new file mode 100644 index 0000000..a97cd4f Binary files /dev/null and b/Resources/Original Cursors/light/small/default/move.cur differ diff --git a/Resources/Original Cursors/light/small/default/person.cur b/Resources/Original Cursors/light/small/default/person.cur new file mode 100644 index 0000000..33cb10e Binary files /dev/null and b/Resources/Original Cursors/light/small/default/person.cur differ diff --git a/Resources/Original Cursors/light/small/default/pin.cur b/Resources/Original Cursors/light/small/default/pin.cur new file mode 100644 index 0000000..0776951 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/pin.cur differ diff --git a/Resources/Original Cursors/light/small/default/pointer.cur b/Resources/Original Cursors/light/small/default/pointer.cur new file mode 100644 index 0000000..6423d6b Binary files /dev/null and b/Resources/Original Cursors/light/small/default/pointer.cur differ diff --git a/Resources/Original Cursors/light/small/default/precision.cur b/Resources/Original Cursors/light/small/default/precision.cur new file mode 100644 index 0000000..d28c89e Binary files /dev/null and b/Resources/Original Cursors/light/small/default/precision.cur differ diff --git a/Resources/Original Cursors/light/small/default/unavailable.cur b/Resources/Original Cursors/light/small/default/unavailable.cur new file mode 100644 index 0000000..d843e97 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/unavailable.cur differ diff --git a/Resources/Original Cursors/light/small/default/vert.cur b/Resources/Original Cursors/light/small/default/vert.cur new file mode 100644 index 0000000..0299ef6 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/vert.cur differ diff --git a/Resources/Original Cursors/light/small/default/working.ani b/Resources/Original Cursors/light/small/default/working.ani new file mode 100644 index 0000000..91d4ea2 Binary files /dev/null and b/Resources/Original Cursors/light/small/default/working.ani differ diff --git a/Uninstall.ps1 b/Uninstall.ps1 new file mode 100644 index 0000000..5cc8ccc --- /dev/null +++ b/Uninstall.ps1 @@ -0,0 +1,26 @@ +#Requires -RunAsAdministrator +#Requires -Version 5.1 + +$ErrorActionPreference = 'Stop' +[Console]::Title = 'CCS Uninstaller' +$ccsFolder = "$env:LocalAppData\CCS" + +if ( -not (Test-Path -Path $ccsFolder) ) { + Write-Host + Write-Host 'CCS is not installed!' -ForegroundColor Red + Write-Host + Pause + exit +} + +Remove-Module -Name Functions -ErrorAction SilentlyContinue +Import-Module -Name $ccsFolder\Functions.ps1 + +Stop-ScheduledTask -TaskName 'CCS Listener' -ErrorAction SilentlyContinue +Unregister-ScheduledTask -TaskName 'CCS Listener' -Confirm:$false -ErrorAction SilentlyContinue + +Restore-DefaultCursor +Apply-Changes + +Remove-Module -Name Functions +Remove-Item -Path $ccsFolder -Recurse -Force | Out-Null \ No newline at end of file