winfetch: improve GPU detection and add logo variants
- Prioritize discrete GPU (NVIDIA/AMD) over integrated graphics - Add classic Windows 7/Vista logo - Add Windows 8/10 logo - Add Windows 95 retro logo - Add Windows 2025 logo with rounded corners - Fix classic logo alignment with padding
This commit is contained in:
@@ -2,7 +2,7 @@
|
|||||||
# Windows system information display with ASCII art (inspired by fastfetch/neofetch)
|
# Windows system information display with ASCII art (inspired by fastfetch/neofetch)
|
||||||
|
|
||||||
param(
|
param(
|
||||||
[ValidateSet("11", "small", "classic")]
|
[ValidateSet("11", "small", "classic", "8", "95", "2025")]
|
||||||
[string]$Logo = "11"
|
[string]$Logo = "11"
|
||||||
)
|
)
|
||||||
|
|
||||||
@@ -55,9 +55,99 @@ $logoSmall = @(
|
|||||||
" " # Empty line with proper width (16 chars)
|
" " # Empty line with proper width (16 chars)
|
||||||
)
|
)
|
||||||
|
|
||||||
|
# Classic Windows logo (Windows 7/Vista style)
|
||||||
|
$logoClassic = @(
|
||||||
|
"$($colors.Red) ,.=:!!t3Z3z., ",
|
||||||
|
"$($colors.Red) :tt:::tt333EE3 ",
|
||||||
|
"$($colors.Red) Et:::ztt33EEEL$($colors.Green) @Ee., ..,",
|
||||||
|
"$($colors.Red) ;tt:::tt333EE7$($colors.Green) ;EEEEEEttttt33#",
|
||||||
|
"$($colors.Red) :Et:::zt333EEQ.$($colors.Green) `$EEEEEttttt33QL",
|
||||||
|
"$($colors.Red) it::::tt333EEF$($colors.Green) @EEEEEEttttt33F ",
|
||||||
|
"$($colors.Red) ;3=*^``````""*4EEV$($colors.Green) :EEEEEEttttt33@.",
|
||||||
|
"$($colors.Blue) ,.=::::!t=., $($colors.Red)``$($colors.Green) @EEEEEEtttz33QF ",
|
||||||
|
"$($colors.Blue) ;::::::::zt33)$($colors.Green) ""4EEEtttji3P* ",
|
||||||
|
"$($colors.Blue) :t::::::::tt33.$($colors.Yellow):Z3z..$($colors.Green) ````$($colors.Yellow) ,..g. ",
|
||||||
|
"$($colors.Blue) i::::::::zt33F$($colors.Yellow) AEEEtttt::::ztF ",
|
||||||
|
"$($colors.Blue) ;:::::::::t33V$($colors.Yellow) ;EEEttttt::::t3 ",
|
||||||
|
"$($colors.Blue) E::::::::zt33L$($colors.Yellow) @EEEtttt::::z3F ",
|
||||||
|
"$($colors.Blue){3=*^``````""*4E3)$($colors.Yellow) ;EEEtttt:::::tZ`` ",
|
||||||
|
"$($colors.Blue) ``$($colors.Yellow) :EEEEtttt::::z7 ",
|
||||||
|
"$($colors.Yellow) ""VEzjt:;;z>*`` "
|
||||||
|
)
|
||||||
|
|
||||||
|
# Windows 8/10 logo
|
||||||
|
$logo8 = @(
|
||||||
|
"$($colors.Cyan) ..,",
|
||||||
|
"$($colors.Cyan) ....,,:;+ccllll",
|
||||||
|
"$($colors.Blue) ...,,+:; $($colors.Cyan)cllllllllllllllllll",
|
||||||
|
"$($colors.Blue),cclllllllllll $($colors.Cyan)lllllllllllllllllll",
|
||||||
|
"$($colors.Blue)llllllllllllll $($colors.Cyan)lllllllllllllllllll",
|
||||||
|
"$($colors.Blue)llllllllllllll $($colors.Cyan)lllllllllllllllllll",
|
||||||
|
"$($colors.Blue)llllllllllllll $($colors.Cyan)lllllllllllllllllll",
|
||||||
|
"$($colors.Blue)llllllllllllll $($colors.Cyan)lllllllllllllllllll",
|
||||||
|
"$($colors.Blue)llllllllllllll $($colors.Cyan)lllllllllllllllllll",
|
||||||
|
"",
|
||||||
|
"$($colors.BrightGreen)llllllllllllll $($colors.BrightYellow)lllllllllllllllllll",
|
||||||
|
"$($colors.BrightGreen)llllllllllllll $($colors.BrightYellow)lllllllllllllllllll",
|
||||||
|
"$($colors.BrightGreen)llllllllllllll $($colors.BrightYellow)lllllllllllllllllll",
|
||||||
|
"$($colors.BrightGreen)llllllllllllll $($colors.BrightYellow)lllllllllllllllllll",
|
||||||
|
"$($colors.BrightGreen)llllllllllllll $($colors.BrightYellow)lllllllllllllllllll",
|
||||||
|
"$($colors.BrightGreen)``'ccllllllllll $($colors.BrightYellow)lllllllllllllllllll",
|
||||||
|
"$($colors.BrightGreen) ``' \*:: $($colors.BrightYellow):ccllllllllllllllll",
|
||||||
|
"$($colors.BrightYellow) ````''*::cll",
|
||||||
|
"$($colors.BrightYellow) ``"
|
||||||
|
)
|
||||||
|
|
||||||
|
# Windows 95 logo
|
||||||
|
$logo95 = @(
|
||||||
|
"$($colors.Gray) ___",
|
||||||
|
"$($colors.Gray) .--=+++++=-:.",
|
||||||
|
"$($colors.Gray). _ *%@@@@@@@@@@@@@@*",
|
||||||
|
"$($colors.Gray) *:+:.__ :+* @@@ @""$($colors.Cyan)_*&%$($colors.Gray)@@$($colors.Yellow)%&&&*$($colors.Gray)""@@@",
|
||||||
|
"$($colors.Gray) ""+.-#+ +%* "" _ $($colors.Cyan)++&&&%$($colors.Gray)@@$($colors.Yellow)%&&&&&#$($colors.Gray)@@",
|
||||||
|
"$($colors.Cyan)"" , $($colors.Gray)%@@ $($colors.Cyan)&&&&&%$($colors.Gray)@@$($colors.Yellow)%&&&&&#$($colors.Gray)@@",
|
||||||
|
"$($colors.Cyan) * oo *# $($colors.Gray)"" _ $($colors.Cyan)&&&&&%$($colors.Gray)@@$($colors.Yellow)%&&&&&#$($colors.Gray)@@",
|
||||||
|
"$($colors.Cyan)"" , $($colors.Gray)%@@ $($colors.Cyan)&&&&""$($colors.Gray)@@@@#*$($colors.Yellow)""&&&$($colors.Gray)@@",
|
||||||
|
"$($colors.Cyan). * oo *# $($colors.Gray)"" _ %@@@@@@@@@@@@@@@@",
|
||||||
|
"$($colors.Gray) *:+:.__ :=* %@@ @""$($colors.Red)**&%$($colors.Gray)@@$($colors.Green)%&&&*$($colors.Gray)""@@@",
|
||||||
|
"$($colors.Gray) ""+.-#+ +%* "" _ $($colors.Red)&&&&&%$($colors.Gray)@@$($colors.Green)%&&&&&#$($colors.Gray)@@",
|
||||||
|
"$($colors.Red)"" , $($colors.Gray)%@@ $($colors.Red)&&&&&%$($colors.Gray)@@$($colors.Green)%&&&&&#$($colors.Gray)@@",
|
||||||
|
"$($colors.Red) * oo *# $($colors.Gray)"" _ $($colors.Red)&&&&&%$($colors.Gray)@@$($colors.Green)%&&&&&#$($colors.Gray)@@",
|
||||||
|
"$($colors.Red)"" , $($colors.Gray)%@@ $($colors.Red)&&*""%$($colors.Gray)@@@@@@$($colors.Green)""*%&$($colors.Gray)@@",
|
||||||
|
"$($colors.Red). * oo *# $($colors.Gray)"" _ @@@@@@@@@@@@@@@@@",
|
||||||
|
"$($colors.Gray) *:+:.__ :+# @@@ @%#=+""""""""""+==%#@",
|
||||||
|
"$($colors.Gray) ""+.-#+ +%* %+"" "" "":@",
|
||||||
|
"$($colors.Gray) "" """
|
||||||
|
)
|
||||||
|
|
||||||
|
# Windows 2025 logo (rounded corners)
|
||||||
|
$logo2025 = @(
|
||||||
|
"$($colors.Blue) ##%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%##",
|
||||||
|
"$($colors.Blue) ###%%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%%###",
|
||||||
|
"$($colors.Blue) ####%%%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%%%####",
|
||||||
|
"$($colors.Blue) ##%%%%%%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%%%%%%##",
|
||||||
|
"$($colors.Blue)#%%%%%%%%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%%%%%%%%#",
|
||||||
|
"$($colors.Blue)%%%%%%%%%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%%%%%%%%%",
|
||||||
|
"$($colors.Blue)%%%%%%%%%%%%%%%%% $($colors.BrightCyan)%%%%%%%%%%%%%%%%%",
|
||||||
|
"$($colors.Blue)%%%%%%%%%%%%%%%%% $($colors.BrightCyan)#%%%%%%%%%%%%%%%%",
|
||||||
|
"",
|
||||||
|
"$($colors.BrightGreen)%%%%%%%%%%%%%%%%% $($colors.BrightYellow)#%%%%%%%%%%%%%%%%",
|
||||||
|
"$($colors.BrightGreen)%%%%%%%%%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%%%%%%%%%",
|
||||||
|
"$($colors.BrightGreen)%%%%%%%%%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%%%%%%%%%",
|
||||||
|
"$($colors.BrightGreen)%%%%%%%%%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%%%%%%%%#",
|
||||||
|
"$($colors.BrightGreen) ###%%%%%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%%%%%%%##",
|
||||||
|
"$($colors.BrightGreen) ####%%%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%%%#%####",
|
||||||
|
"$($colors.BrightGreen) ##%#%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%%%######",
|
||||||
|
"$($colors.BrightGreen) ##%%%%%%%%% $($colors.BrightYellow)%%%%%%%%%########"
|
||||||
|
)
|
||||||
|
|
||||||
# Select logo
|
# Select logo
|
||||||
$asciiLogo = switch ($Logo) {
|
$asciiLogo = switch ($Logo) {
|
||||||
"small" { $logoSmall }
|
"small" { $logoSmall }
|
||||||
|
"classic" { $logoClassic }
|
||||||
|
"8" { $logo8 }
|
||||||
|
"95" { $logo95 }
|
||||||
|
"2025" { $logo2025 }
|
||||||
default { $logo11 }
|
default { $logo11 }
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -140,7 +230,14 @@ if ($Logo -eq "small") {
|
|||||||
$maxLines = [Math]::Max($asciiLogo.Count, $info.Count)
|
$maxLines = [Math]::Max($asciiLogo.Count, $info.Count)
|
||||||
|
|
||||||
# Calculate logo width dynamically
|
# Calculate logo width dynamically
|
||||||
$logoWidth = if ($Logo -eq "small") { 16 } else { 38 }
|
$logoWidth = switch ($Logo) {
|
||||||
|
"small" { 16 }
|
||||||
|
"classic" { 40 }
|
||||||
|
"8" { 36 }
|
||||||
|
"95" { 40 }
|
||||||
|
"2025" { 38 }
|
||||||
|
default { 38 }
|
||||||
|
}
|
||||||
|
|
||||||
for ($i = 0; $i -lt $maxLines; $i++) {
|
for ($i = 0; $i -lt $maxLines; $i++) {
|
||||||
$logoLine = if ($i -lt $asciiLogo.Count) { $asciiLogo[$i] } else { "" }
|
$logoLine = if ($i -lt $asciiLogo.Count) { $asciiLogo[$i] } else { "" }
|
||||||
|
|||||||
Reference in New Issue
Block a user