Skip to content

Commit

Permalink
[PR] dylanaraps/neofetch#2309 from MrStanDu33 - Fix windows detection…
Browse files Browse the repository at this point in the history
… to match version

Upstream PR: dylanaraps/neofetch#2309
Thanks to @MrStanDu33

Co-authored-by: DANIELS-ROTH Stan <[email protected]>
  • Loading branch information
hykilpikonna and MrStanDu33 committed Apr 4, 2023
2 parents 4e5f51b + 6778fd4 commit 8ef39ff
Showing 1 changed file with 25 additions and 5 deletions.
30 changes: 25 additions & 5 deletions neofetch
Original file line number Diff line number Diff line change
Expand Up @@ -1245,14 +1245,34 @@ get_distro() {
fi
fi

# Gets the windows tag caption (ie `Microsoft Windows 11 Pro Insider Preview`)
#
# Then removes the `Microsoft` and `Windows` part and gets the current
# version of Windows (old code reported Windows 10 even if host runs Windows 11).
#
# Finally, we decline it in three versions :
#
# - The `on` version (ie `[Windows 11.0.25330]`)
# - The `tiny` version (ie `Windows 11`)
# - The `any` version (ie `on Windows 11 Pro Insider Preview`)
if [[ $(< /proc/version) == *Microsoft* || $kernel_version == *Microsoft* ]]; then
windows_version=$(wmic.exe os get Version)
windows_version=$(trim "${windows_version/Version}")

windows_version_verbose=$(wmic.exe os get Caption)
windows_version_verbose=$(trim "${windows_version_verbose/Caption}")
windows_version_verbose=$(trim "${windows_version_verbose/Microsoft}")
windows_version_verbose=$(trim "${windows_version_verbose/Windows}")

windows_version_current=${windows_version_verbose//[^[:digit:]]/}

windows_version_number_long=$(wmic.exe os get Version)
windows_version_number_long=$(trim "${windows_version_number_long/Version}")
windows_version_number_long=$(trim "${windows_version_number_long}")
windows_version_number_long="${windows_version_current}${windows_version_number_long:2}"

case $distro_shorthand in
on) distro+=" [Windows $windows_version]" ;;
tiny) distro="Windows ${windows_version::2}" ;;
*) distro+=" on Windows $windows_version" ;;
on) distro+=" [Windows $windows_version_number_long]" ;;
tiny) distro=" Windows $windows_version_current" ;;
*) distro+=" on Windows $windows_version_verbose" ;;
esac

# Chrome OS doesn't conform to the /etc/*-release standard.
Expand Down

0 comments on commit 8ef39ff

Please sign in to comment.