From 6afb85c957cec874a605b6faf479a82423dc9b03 Mon Sep 17 00:00:00 2001 From: joten <6839361+joten@users.noreply.github.com> Date: Thu, 23 Apr 2020 19:54:55 +0200 Subject: [PATCH 1/8] Update Configuring_rules.md --- doc/Configuring_rules.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/doc/Configuring_rules.md b/doc/Configuring_rules.md index e41d23c..44e8bae 100644 --- a/doc/Configuring_rules.md +++ b/doc/Configuring_rules.md @@ -127,3 +127,7 @@ not practical for all of them to be tiled by bug.n. Those applications, which should be tiled, have to be listed specifically, e.g. Edge: `Config_rule=ApplicationFrameWindow;.*Edge;;1;0;0;0;1;0;` + +#### Windows background apps + +ˋConfig_rule=NarratorHelperWindow;.*;;0;ˋ From 364035b7cfdc2e0a14e8f8cbba79464ff3d20e55 Mon Sep 17 00:00:00 2001 From: joten <6839361+joten@users.noreply.github.com> Date: Thu, 23 Apr 2020 19:55:57 +0200 Subject: [PATCH 2/8] Update Configuring_rules.md --- doc/Configuring_rules.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/Configuring_rules.md b/doc/Configuring_rules.md index 44e8bae..7fb7d63 100644 --- a/doc/Configuring_rules.md +++ b/doc/Configuring_rules.md @@ -130,4 +130,4 @@ should be tiled, have to be listed specifically, e.g. Edge: #### Windows background apps -ˋConfig_rule=NarratorHelperWindow;.*;;0;ˋ +`Config_rule=NarratorHelperWindow;.*;;0;` From 513adaa5f6faa39f10559e5232f8897806e7ef17 Mon Sep 17 00:00:00 2001 From: joten <6839361+joten@users.noreply.github.com> Date: Thu, 11 Jun 2020 22:46:28 +0200 Subject: [PATCH 3/8] Deleted brank `x.min` --- README.md | 7 +++---- 1 file changed, 3 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 4b825b0..2c50180 100644 --- a/README.md +++ b/README.md @@ -90,8 +90,7 @@ the [LICENSE file](./LICENSE.md) for the full license text. ### Development -Currently, there are three development branches: +Currently, there are two branches: -* master, the current stable version (v9), which is no longer actively developed or maintained -* X, a development version (v10), which is a rewrite of bug.n and in alpha stage, but development is dormant -* x.min, a minimal version of X with less features and currently in alpha stage +* `master`, the current stable version (v9), which is no longer actively developed or maintained; +* `X`, a development version (v10), which is a rewrite of bug.n and in alpha stage, but development is dormant. From 0e912908e5cebc0eba9a345cc360140b5cc7d585 Mon Sep 17 00:00:00 2001 From: joten <6839361+joten@users.noreply.github.com> Date: Fri, 4 Dec 2020 16:04:14 +0100 Subject: [PATCH 4/8] Added hul, a script for restoring hidden windows --- tools/hul.ahk | 187 ++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 187 insertions(+) create mode 100644 tools/hul.ahk diff --git a/tools/hul.ahk b/tools/hul.ahk new file mode 100644 index 0000000..1e48aed --- /dev/null +++ b/tools/hul.ahk @@ -0,0 +1,187 @@ +/** + * hul! - Find and restore (hidden) windows + * Copyright (c) 2011 joten + * + * This program is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by + * the Free Software Foundation, either version 3 of the License, or + * (at your option) any later version. + * + * This program is distributed in the hope that it will be useful, + * but WITHOUT ANY WARRANTY; without even the implied warranty of + * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the + * GNU General Public License for more details. + * + * You should have received a copy of the GNU General Public License + * along with this program. If not, see . + * + * @version 0.1.0.01 (02.10.2011) + */ + +NAME := "hul!" +VERSION := "0.1.0" +HELP := +(Join +"USAGE`n +`n +Specify one, two or all of the following search criteria:`n +- Type a regular expression in the field next to 'Partial title'.`n +- Type a class name (exact match) in the field next to 'Class name'.`n +- Type a process name (e. g. the name of an exeutable, exact match) in the field next to 'Process name'.`n +`n +The search will be done on typing the search criteria.`n +`n +You may navigate between the input fields by pressing Tab (forward) or Shift+Tab (back).`n +Press Enter to go to the list box, which contains the search results.`n +Select an entry and press Enter again to restore the selected window.`n +`n +Press the Escape (Esc) key to clear all fields and go back to entering the search criteria.`n" +) + +/** + * Script settings + */ +#NoEnv ; Recommended for performance and compatibility with future AutoHotkey releases. +#NoTrayIcon +#SingleInstance force +SendMode Input ; Recommended for new scripts due to its superior speed and reliability. +SetWorkingDir %A_ScriptDir% ; Ensures a consistent starting directory. +; DetectHiddenWindows, On +; SetFormat, Integer, h + +/** + * Pseudo main function + */ + WinGet, Main_aWndId, ID, A + + ; BEGIN: Init GUI + IfWinExist, %NAME% + Gui, Destroy + Gui, +LastFound +0xCF0000 -0x80000000 + + Gui, Add, Text, yp+11, Partial Title: + Gui, Add, Edit, xp+82 yp-3 w700 gButtonSearch vGui_title, + + Gui, Add, Text, xm, Class Name: + Gui, Add, Edit, xp+82 yp-3 w700 gButtonSearch vGui_class, + + Gui, Add, Text, xm, Process Name: + Gui, Add, Edit, xp+82 yp-3 w700 gButtonSearch vGui_pName, + + ; Gui, Add, Button, xm w800 vGui_search, Search + + Gui, Add, ListBox, +0x100 t36 xm w800 vGui_wnds, + Gui, Add, Button, Default Hidden w800 vGui_restore, Restore + + Gui, Show, AutoSize, %NAME% + Gui_wndId := WinExist() + Main_resize() + ; END: Init GUI +Return ; end of the auto-execute section + +/** + * Hotkeys, function & label definitions + */ +#IfWinActive hul! ahk_class AutoHotkeyGUI +{ + ^h::MsgBox %HELP% +} + +ButtonRestore: + Main_restore() +Return + +ButtonSearch: + Main_search() +Return + +GuiClose: + ExitApp +Return + +GuiEscape: + GuiControl, , Gui_title, + GuiControl, , Gui_class, + GuiControl, , Gui_pName, + GuiControl, , Gui_wnds, | + GuiControl, Focus, Gui_title +Return + +GuiSize: + Main_resize(A_GuiWidth, A_GuiHeight) +Return + +Main_resize(w = 0, h = 0) { + Global Gui_wndId + + If (w = 0 Or h = 0) { + Sleep, 250 + WinGetPos, x, y, w, h, ahk_id %Gui_wndId% + h += 1 + WinMove, ahk_id %Gui_wndId%, , x, y, w, h + } Else { + w -= 2 * 10 + w1 := w - (72 + 10) + h -= 3 * 30 + ; y := 8 + (3 * 30) + h + 8 + GuiControl, Move, Gui_title, w%w1% + GuiControl, Move, Gui_class, w%w1% + GuiControl, Move, Gui_pName, w%w1% + ; GuiControl, Move, Gui_search, w%w% + GuiControl, Move, Gui_wnds, w%w% h%h% + ; GuiControl, Move, Gui_restore, y%y% w%w% + } +} + +Main_restore() { + Global Gui_wnds + + GuiControlGet, wnd, , Gui_wnds + If wnd { + wndId := SubStr(wnd, 1, InStr(wnd, ": ") - 1) + WinShow, ahk_id %wndId% + WinRestore, ahk_id %wndId% + WinSet, AlwaysOnTop, On, ahk_id %wndId% + WinSet, AlwaysOnTop, Off, ahk_id %wndId% + WinMove, ahk_id %wndId%, , 0, 0, 800, 600 + } Else + GuiControl, Focus, Gui_wnds +} + +Main_search() { + Global Gui_class, Gui_pName, Gui_title, Gui_wndId, Gui_wnds + + GuiControl, , Gui_wnds, | + + GuiControlGet, title, , Gui_title + + GuiControlGet, class, , Gui_class + If class + criteria .= " ahk_class " class + + GuiControlGet, pName, , Gui_pName + If pName { + Process, Exist, %pName% + If ErrorLevel + criteria .= " ahk_pid " ErrorLevel + } + + If Not (criteria Or title) + criteria := "A" + + wndListString := "" + DetectHiddenWindows, On + WinGet, wndId, List, % criteria + Loop, % wndId { + WinGetTitle, wndTitle, % "ahk_id " wndId%A_Index% + If Not (wndId%A_Index% = Gui_wndId) And (Not title Or RegExmatch(wndTitle, title)) { + WinGetClass, wndClass, % "ahk_id " wndId%A_Index% + WinGet, wndPName, ProcessName, % "ahk_id " wndId%A_Index% + WinGet, wndStyle, Style, % "ahk_id " wndId%A_Index% + WinGetPos, wndPosX, wndPosY, wndPosW, wndPosH, % "ahk_id " wndId%A_Index% + wndListString .= "|" wndId%A_Index% ": `t" wndTitle " (" wndClass ", " wndPName ", " wndStyle ", " wndPosX ", " wndPosY ", " wndPosW ", " wndPosH ")" + } + } + DetectHiddenWindows, Off + GuiControl, , Gui_wnds, % wndListString +} From db3cc3c08c09881073eca6638e54c6d4335f0179 Mon Sep 17 00:00:00 2001 From: Shaadi Alfred Date: Fri, 10 Sep 2021 21:22:46 +0200 Subject: [PATCH 5/8] Fix MaxHotkeysPerInterval when scrolling --- src/Config.ahk | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/Config.ahk b/src/Config.ahk index 6454d45..3e8f94b 100644 --- a/src/Config.ahk +++ b/src/Config.ahk @@ -410,6 +410,8 @@ Config_UI_saveSession() { Config_saveSession(Config_filePath, Config_filePath) } +#MaxHotkeysPerInterval 200 + ;; Key definitions ;; Window management #Down::View_activateWindow(0, +1) From 0f6580b372ffb09ecbf32495b0b3ed498d24f3fc Mon Sep 17 00:00:00 2001 From: Cynthia Foxwell Date: Tue, 15 Feb 2022 14:38:14 -0700 Subject: [PATCH 6/8] initial fork commit --- CHANGES.md | 28 +++ src/Bar.ahk | 410 ++++++++++++++++++++++++++++++++-------- src/Config.ahk | 16 +- src/Main.ahk | 1 + src/MusicBee.ahk | 153 +++++++++++++++ src/ResourceMonitor.ahk | 34 +++- src/Window.ahk | 1 + 7 files changed, 563 insertions(+), 80 deletions(-) create mode 100644 CHANGES.md create mode 100644 src/MusicBee.ahk diff --git a/CHANGES.md b/CHANGES.md new file mode 100644 index 0000000..3eb441c --- /dev/null +++ b/CHANGES.md @@ -0,0 +1,28 @@ +# Changes +Required by license to disclose changes. + +## Bar +* Disabled shebang +* Icon support +* Time and date can be combined and clicked on to change between states +* MusicBee integration via MusicBeeIPC plugin +* Proper text resizing +* Clicking items no longer repositions mouse cursor +* Bar elements no longer have progress element +* Time has optional binary clock mode + +## Config +* Renamed `Config_readinMemoryUsage` to `Config_readinRam` +* Added `Config_readinMusic`, only supports MusicBee currently +* Added `Config_readinTimeBinary` for enabling binary clock +* Removed `Config_readinDiskLoad` and `Config_readinNetworkLoad` +* Added `Config_barItemSpacing`, `Config_barIconSpacing` and `Config_iconFontYOffset` +* Added `Config_barIcons`: `