···11+# ===== WINFETCH CONFIGURATION =====
22+33+# $image = "~/winfetch.png"
44+# $noimage = $true
55+66+# Set the version of Windows to derive the logo from.
77+# $logo = "Windows 10"
88+99+# Make the logo blink
1010+# $blink = $true
1111+1212+# Display all built-in info segments.
1313+# $all = $true
1414+1515+# Add a custom info line
1616+# function info_custom_time {
1717+# return @{
1818+# title = "Time"
1919+# content = (Get-Date)
2020+# }
2121+# }
2222+2323+# Configure which disks are shown
2424+# $ShowDisks = @("C:", "D:")
2525+# Show all available disks
2626+# $ShowDisks = @("*")
2727+2828+# Configure which package managers are shown
2929+# disabling unused ones will improve speed
3030+# $ShowPkgs = @("winget", "scoop", "choco")
3131+3232+# Use the following option to specify custom package managers.
3333+# Create a function with that name as suffix, and which returns
3434+# the number of packages. Two examples are shown here:
3535+# $CustomPkgs = @("cargo", "just-install")
3636+# function info_pkg_cargo {
3737+# return (cargo install --list | Where-Object {$_ -like "*:" }).Length
3838+# }
3939+# function info_pkg_just-install {
4040+# return (just-install list).Length
4141+# }
4242+4343+# Configure how to show info for levels
4444+# Default is for text only.
4545+# 'bar' is for bar only.
4646+# 'textbar' is for text + bar.
4747+# 'bartext' is for bar + text.
4848+# $cpustyle = 'bar'
4949+# $memorystyle = 'textbar'
5050+# $diskstyle = 'bartext'
5151+# $batterystyle = 'bartext'
5252+5353+5454+# Remove the '#' from any of the lines in
5555+# the following to **enable** their output.
5656+5757+@(
5858+ "title"
5959+ "dashes"
6060+ "os"
6161+ "computer"
6262+ "kernel"
6363+ "motherboard"
6464+ # "custom_time" # use custom info line
6565+ "uptime"
6666+ # "ps_pkgs" # takes some time
6767+ "pkgs"
6868+ "pwsh"
6969+ "resolution"
7070+ "terminal"
7171+ # "theme"
7272+ "cpu"
7373+ "gpu"
7474+ # "cpu_usage" # takes some time
7575+ "memory"
7676+ "disk"
7777+ # "battery"
7878+ # "locale"
7979+ # "weather"
8080+ # "local_ip"
8181+ # "public_ip"
8282+ "blank"
8383+ "colorbar"
8484+)
···11+#MenuMaskKey vkFF
22+#SingleInstance Force
33+ SetWorkingDir %A_ScriptDir%
44+if not A_IsAdmin
55+ Run *RunAs "%A_AhkPath%" "%A_ScriptFullPath%"
66+77+Capslock::Esc
88+^Capslock::Capslock
+61
windows/AutoHotkey/PreventKeyChatter.ahk
···11+#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases.
22+; #Warn ; Enable warnings to assist with detecting common errors.
33+SendMode Input ; Recommended for new scripts due to its superior speed and reliability.
44+SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory.
55+66+#SingleInstance force
77+;~ OutputDebug DBGVIEWCLEAR
88+db := new Debouncer(65) ; Set Debounce Time here
99+db.AddKey("r")
1010+db.AddKey("l")
1111+db.AddKey("c")
1212+db.AddKey("t")
1313+db.AddKey("f")
1414+return
1515+1616+class Debouncer{
1717+ KeyFns := {}
1818+1919+ __New(debounceTime := 80){
2020+ this.DebounceTime := debounceTime
2121+ }
2222+2323+ AddKey(key, pfx := "$*"){
2424+ fn := this.KeyEvent.Bind(this, key, 1)
2525+ hotkey, % pfx key, % fn
2626+ fn := this.KeyEvent.Bind(this, key, 0)
2727+ hotkey, % pfx key " up", % fn
2828+ }
2929+3030+ KeyEvent(key, state){
3131+ if (state){
3232+ fn := this.KeyFns[key]
3333+ if (fn != ""){
3434+ ; Down event while release timer running - bounce!
3535+ SetTimer, % fn, Off
3636+ ;~ OutputDebug % "AHK| Bounce!"
3737+ } else {
3838+ ; Down event while release timer not running - normal press
3939+ this.SendKey(key, state)
4040+ ;~ OutputDebug % "AHK| Normal press of " key
4141+ }
4242+ } else {
4343+ ; Release key - block and set timer running instead
4444+ ;~ OutputDebug % "AHK| Release of " key "... Starting timer"
4545+ fn := this.ReleaseKey.Bind(this, key)
4646+ SetTimer, % fn, % - this.DebounceTime
4747+ this.KeyFns[key] := fn
4848+ }
4949+ }
5050+5151+ SendKey(key, state){
5252+ Send % "{Blind}{" key (state ? " down" : " up") "}"
5353+ }
5454+5555+ ; Timer expired before key went back down again - normal release
5656+ ReleaseKey(key){
5757+ this.KeyFns[key] := ""
5858+ this.SendKey(key, 0)
5959+ ;~ OutputDebug % "AHK| Timer finished.. " key " released"
6060+ }
6161+}
+7
windows/AutoHotkey/Top.ahk
···11+#MenuMaskKey vkFF
22+#SingleInstance Force
33+SetWorkingDir %A_ScriptDir%
44+if not A_IsAdmin
55+ Run *RunAs "%A_AhkPath%" "%A_ScriptFullPath%"
66+77+#Z:: Winset, Alwaysontop, , A