fastfetch-cli / fastfetch-cli/fastfetch
[BUG] Winget Detection does not work, however it is still listed in fastfetch -h packages-format
Nessuno ha ancora preso questa issue.
- Lingua principale
- C
- Stelle
- 24.7k
- Fork
- 895
- Merge medio
- 1g 4h
- PR unite (30g)
- 15
Descrizione
### Read the FAQ first
- [x] I have checked the FAQ but the issue is not covered
### Description
Winget Detection does not work. this is likely due to winget being overall a very slow package manager.
winget's list command is super slow and outputs unreliable results, you cannot rely on that.
in my fetch, i found a solution, winget looks in these registry keys for its packages:
"HKLM:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKLM:\SOFTWARE\WOW6432Node\Microsoft\Windows\CurrentVersion\Uninstall\*",
"HKCU:\SOFTWARE\Microsoft\Windows\CurrentVersion\Uninstall\*"
these registry keys seem to be overall more reliable than winget's list command.
note: this includes apps NOT installed through winget directly, however theyre technically installed through winget if they are there
note2: while they are not always gotten through winget directly, winget's list command also shows them, and also sometimes has weird formatting.
### Version used
fastfetch 2.65.2 (x86_64)
### Bug prevalence
Always
### Regression
Not sure
### Installation
Package manager
### Package manager
winget
### Screenshots
_No response_
### Configuration
```jsonc
```
### System information
```jsonc
not relevant, winget is not in all.jsonc
```
### Features built-in
```text
threads
vulkan
imagemagick7
chafa
zlib
opencl
libzfs
Embedded wcwidth
WinRT headers
Windows 8.1 Compatibility
Lua 5.5
QuickJS 0.15.1
```
Guida per i contributori
Apri la guida per i contributori
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Direzione di ricerca
Inizia individuando il punto di ingresso del rilevamento dei pacchetti winget e analizza come viene ottenuto l’elenco dei pacchetti. Usa come obiettivo dell’indagine i tre percorsi del registro di disinstallazione di Windows descritti nell’issue; il lavoro è concluso quando i pacchetti winget vengono rilevati in modo affidabile senza dipendere dal comando list, lento e inaffidabile.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Valutazione
- Stack tecnologico
- c
- Ambito
- cli, operating-systems
- Tipo di issue
- Bug
- Difficoltà
- 4/5
- Tempo stimato
- 3-5 giorni
- Stato di attività
- Tranquilla
- Chiarezza
- Abbastanza chiara
- Idoneità per principianti
- 48/100