Skip to content

Releases: JoyHak/QuickSwitch

QuickSwitch βeta v1.9.11

02 Mar 18:48
e2b71d0

Choose a tag to compare

Pre-release

This update brings new features and improvements. You can write a report or write a comment on the forum to participate in testing:

Directory opus

Total Commander

Xyplorer


1.9.11

Settings > Theme tab

  • Active pane only: displays paths only from the active pane of each supported file manager. The active tab will be the first one from each manager regardless of this option. If the adjacent Show locked tabs is checked and all tabs from the active pane of some manager are locked, paths from this manager will not be displayed.

  • Filter by windows:

    • Active lister only: displays paths only from the active instance of each supported file manager. E.g. current active instance of XYplorer, plus current active instance of Dopus, etc.
    • Last active lister only: displays paths only from the last active instance of each supported file manager.

    Both options also include displaying paths from virtual desktops.

Improvements

  • Applied dark theme for all elements in Menu Settings (enable Theme > Apply dark theme).
  • The text of some settings has been improved to make it clear what these settings do.

Tip

You can read detailed documentation about many settings and features here.

Fixed

  • Special characters in paths from Explorer were displayed incorrectly (#149).
  • Paths from XYplorer were not displayed if exactly one tab was open in XYplorer.
  • The active Directory Opus tab was incorrect if it's path was contained in the paths of other tabs.
  • The active Total Commander tab was incorrect after enabling Settings > Theme > (show) locked tabs checkbox.

1.9.12

Settings > Theme tab

  • Z-order index: displays paths from a single window (instance) of each supported file manager. The window can be selected by index in order of use (Z-order or Alt-Tab order). The active file manager has index 1, the recently opened one has index 2, and so on. This option allows you to ignore other windows.
    z-order
  • Virtual desktops: displays all paths from all file managers if the Z-index is 0 (see above) or displays the paths from lister according to the selected index. If you recently opened a file manager in another desktop (#162), select index 2 to see its paths.
    virtual desktops

1.9.13

  • Added specific logging to test new menu appearance algorithm.
  • Fixed settings positioning.
  • Improved menu rendering speed if favorite paths weren't changed.

1.9.14

  • Added additional logging.
  • Improved dialog recognition reliability.

1.9.16

  • Removed unnecessary logging.

Fixed

  • Fixed dark theme by default on light-themed machines.
  • Disabled dark theme by default on patched dark themes.
  • Menu may stuck on the screen after launching any application while Menu is opened.

QuickSwitch v1.9

07 Dec 20:58
17ea166

Choose a tag to compare

This update is aimed at improving performance and quality of life. Various annoyances and critical bugs have been fixed.

I really need your feedback! If something is not working for you, please let me know. If you think that some features can be improved, write to me.

Total Commander - increased the speed of:

  • receiving and analyzing tabs;
  • creating the user-defined command required for QuickSwitch (in usercmd.ini).

Increased the speed of:

  • determining the type of file dialog;
  • switching the selected path in the Menu and the speed of AutoSwitch;
  • menu display.

New AutoSwitch features

  • You can choose which path "AutoSwitch" option should open: pinned, favorite, ... (see details about the special paths here). Open Settings > Menu tab and select the target in the drop-down list.
  • You can select the index of the path that will be opened. Index starts with 1 relative to current menu section (pinned, favorites, ...).
  • Select "MenuStack" target, then index will be relative to all visible paths in the Menu.

Tip

You can enable Always AutoSwitch option and select "PinnedPaths" or "MenuStack" as the target. Then AutoSwitch will always activate the pinned path according to the selected index (1st, 2nd, ...).

Warning

You need to enable specific target: Settings > Theme > Show sections .... For example, if you have selected the "PinnedPaths" target, select the Pinned Paths check box.

Scaling options

  • Added the option to change the settings UI font and its size. The option also changes the size of all settings items. Now the UI adapt to the selected font and screen DPI: the larger the font (e.g. monospaced) or its size, the larger the UI elements will look.

Tip

Increase the DPI and font size to singificantly increase the size of the UI elements.

  • Added the option to change Menu font and its size. I prefer Nunito for menus and ImWritingQuat for settings and file managers UI.

Caution

This option changes the font and its size for all menus in the system including:

  • context menu
  • status-bar menu at the top
  • tray menu
  • some tooltips
  • some message boxes and popups

To roll back changes, open the settings, set the Menu font field empty and set the size to 0.

Other features

  • After enabling ShortPath > Show short path... option, 1st letter in the will be underlined. Press this letter on your keyboard to activate this path in the menu (see more about keys here). For example: S̲ystem32\Resources – press S to activate this path.

Tip

The path shortening settings on the ShortPath‬ tab allows you to completely change a path structure. It also allows you to change which key will activate the path.

When you turn on ShortPath > Show short path... the path is shortened to a specified number of directories. For example, enter number 2 in the Number of dirs field on the ShortPath tab. If any path in the Menu will contain more than 2 directories (C:\Windows\System32\Resources), it will be shortened to 2 directories: System32\Resources

The first letter of the path will be underscored in the menu if Menu > Paths numbers with shortcuts option is turned off or the number of paths in the Menu is greater than 9. Press the underscored letter on your keyboard to activate this path in the menu and change file dialog path.

See more about short path here.

  • Open "Menu settings" and press Debug button to see all controls of the active window. Press Export to save this data to the readable file.

Fixed annoyances

These issues have been coming and going since v1.5. With each update, I slowly fixed them. Now they are fully eliminated.

  • After enabling "AutoSwitch" option, the file dialog may have closed (#77), the "Save As" dialog button did not work properly and focus was lost from the file name input field.
  • The Menu might not close and stay above all windows after pressing Esc or clicking anywhere (#88, #94).
  • The menu didn't disappear after immediately pressing Alt/Esc when opening a file dialog; Copilot web page could open.
  • The Menu sometimes didn't appear when the file dialog was opened.

Fixed issues with paths

  • Some paths from Total Commander containing Cyrillic and other characters did not work (#138).
  • Some localized paths (depending on the system language) from Explorer did not work (e.g. C:\Benutzer, C:\Användare, ...) (#98).
  • The Menu displayed system and special directories (e.g. Recycle Bin) that did not work.
  • The active Explorer tab was not the first in the Menu on Windows 11.
  • The Menu displayed incorrect paths from Xyplorer after disabling the (show) locked tabs option on Settings > Theme tab.
  • The active Total Commander tab was displayed incorrectly after disabling the option Theme > File manager paths > (Show) locked tabs.

Note

If the currently active tab is locked and this option is disabled, the next unlocked tab starting from the active pane (from left to right) will be shown first in the menu.

If all tabs are locked, nothing will appear in the Menu.

Fixed issues with menu

  • The menu appeared twice. After turning on AutoSwitch/always AutoSwitch.
  • The Menu no longer appears in non-file dialogs. (false-positives).
  • The issue with path unpin (see pinned paths).

Fixed visual issues

  • Wrong OS name in the Errors.log on Win11 (#98).
  • Fixed the display of drop-down lists for selecting mouse buttons and special keys on the Settings > App tab after changing the screen DPI (#135).
  • The Debug button no longer overlaps the settings tabs after changing the font to monospaced or when changing the screen DPI (#135).

QuickSwitch v1.8

07 Aug 10:42

Choose a tag to compare

This big update is aimed at changing the appearance of the Menu and it was prepared thanks to the @noticz and @eddablin! There are new Menu path sections, new customization options, and new settings tabs. The changelog only briefly describes the main changes. If you want to know the details of each change, open the drop-down list with details or click on the words highlighted in blue (hyperlinks).

I really need your feedback! If something is not working for you, please let me know. If you think that some features can be improved, write to me.

New appearance options

  • Settings > Menu tab

    • Blacklist by processes: you can add windows to the blacklist by their process names. This option is useful for turning off child windows or for windows with a changing title.
    • Delete duplicate paths: if some paths are repeated, this option will leave only one of each path. Deletion goes from top to bottom: the first duplicate path will remain, the rest starting from this position in the menu will be removed. This is useful if you do not want the pinned paths to overlap with the paths from the file managers (see below)
  • Settings > Theme tab

    • Apply dark theme: enables dark mode in Settings and Menu. If dark colors are enabled in the system or a dark system theme is selected, option will be enabled automatically. I don't recommend using Windows default dark theme. Use the BigSur or CakeOS themes from Niivu.
    • Show icons: shows icons from specified local directory. Size and directory can be changed in the input fields next to the option (the variables will be expanded). You can replace any icon in the selected directory, the main thing to remember is that the icon name must remain the same. Only ICO files are supported, you can convert any image to ICO here or here. If you want to use other extensions, see below. You can open a request to add alternative ICO files to the releases.
    • Active tab only: will only show the active tab in the active pane.
    • Locked tabs: will show all tabs, including blocked ones. If this option is turned off and the option above is turned on and the current tab is locked, nothing will show up in the Menu. Currently, this option is only supported for Total Commander and Xyplorer.
  • Enforce menu: press Ctrl+Shift+Win+0 and select the path to change the current path in the active file manager. This is useful if you want to duplicate paths between different file managers or their windows. If a non-file manager is open, the active window process will be started with the selected path as an argument. Let's reverse QuickSwitch!

Warning

The Menu sends a request to open a directory in the target application which can open all the files in the directory without warning!

Menu sections

In addition to the paths from the file managers, you can add additional paths to the Menu on Settings > Theme tab. The details of each section are described here. If you want to improve the logic of the sections or add a new one, please let me know.

  • Pinned paths: select the key / mouse button in Settings > App > Pin path... and left click on any path. Now it is pinned and it will be stored in the configuration. You will see this path on every restart.

Note

If you turn this option off, the paths will no longer be displayed. If you turn it on, all pinned paths will be displayed again. If you want to delete all pinned paths, check Settings > Reset > Delete pinned paths and press Enter.

  • Clipboard paths: copy one or more paths and they will appear in the Menu. They will disappear only when you open the file dialog from another application.

    This option works in the background and analyzes the clipboard for the presence of a path when changing it. If several paths separated by line breaks (multi-line text) have been copied, they will be added to the Menu individually. The variables will be expanded. If you frequently work with paths, the Menu may become very large.

    Background analysis is temporarily disabled when requesting paths from other file managers (if the Settings > Theme > File managers paths option is enabled), as their data is exchanged via the clipboard. If the request takes a very long time (for example, QuickSwitch creates the configuration for Total Commander), clipboard analysis will be turned off until all paths are fully received.

  • Favorite paths: select a directory (the variables will be expanded) with shortcuts (links) to the directories and they will appear in the Menu. You can customize how they are displayed in the Menu.

    Create a shortcut to any directory or file in it (in this case the directory it is in will be used). From the context Menu, open the shortcut's "properties" and click on the "shortcut" tab.
    You will see editable fields that will directly affect the display of the shortcut in QuickSwitch:

    • Target
    • Start in (working dir.)
    • Comment
    • Change icon (button)

    The "target" field is the main path you will see. You can change the displayed path and give it any name you want in the "comment" field. This field takes precedence over displaying the full or short path (`Settings > Short path`). All fields support [environment variables](https://github.com/JoyHak/QuickSwitch#variables).

    You can click on "change icon" button and put the path to any resource that contains icons (ICO, DLL and so on). The selected icon will be shown in the menu. The default icons (just after shortcut creation) are not shown after the shortcut is created and will be replaced with the "Favorite.ico" icon from the "Icons" folder.

These options work well with Flow Launcher: it allows you to search for files using Everything, copy their paths and drag them to other windows.

Better hotkeys: Settings > App

  • Mouse buttons support: now you can choose mouse buttons and their keyboard modifiers.
  • All hotkeys and mouse buttons can be completely disabled. Press Space to clear input field or select the appropriate option on the Reset tab.
  • You can even select special keys, like CapsLock, Space, Win and so on in drop-down list after pressing mouse button. There are few keys, so there is no separate list for them.

Note

The standard special keys functionality will be disabled while the file dialog is in focus. Changing the focus (opening settings or any other window) enables normal key operation.

For example, you will not be able to open the Start menu if you have selected the Win key in the settings. It will open the QuickSwitch menu.

Improved Menu settings and debug UI

  • Improved button alignment.
  • Now all UIs closes after pressing the Esc button.
  • The dark theme applies to all elements.
  • Added the Reset tab to partially delete config sections, reset internal variables and completely delete the config.

Refactored building system

  • The version number has been removed from the name of the release .exe and .ahk. To update, download the archive to the directory containing the QuickSwitch files and extract the archive directly into it (choose "extract here" from context menu). Configuration (settings) will never be replaced or deleted.
  • The application building system has been changed to a more versatile. It automatically selects the Autohotkey interpreter and Ahk2Exe from your system. The building script is independent of changes in the source code, so you can configure it once and run it after each update.

Note

The script can be configured to build / archive any file, including your own scripts and projects.

Refactored source code

  • Settings > App > Icon (tray) edit field can now be left blank. In this case, the default AutoHotkey icon will be displayed in the system Tray. Path to the icon can variables, defaults to %IconsDir%\QuickSwitch.ico.
  • Improved the [structure of settings](https://github.com/JoyHak/Quick...
Read more

QuickSwitch v1.7

14 Jun 06:13

Choose a tag to compare

Changelog

Features

  • Enforce Menu: you can enforce the Menu in any application using the updated keyboard shortcut: Ctrl+Shift+Win+0. The menu will display the paths obtained after the last opening of the file dialog and will not change them until the next opening. Details about this feature are described here.

  • Limit the displayed paths: in "Menu settings" in the "Menu" tab you can set the maximum number of paths to be shown in the Menu. In this case the menu will show the N most recently opened paths in the file managers.

  • Path numbers with shortcuts: this option allows you to select a path using the keyboard and now it works with Numpad keys and additional mouse buttons (some mice have 1-4 numpad). Numbers 10, 11, ... are no longer displayed in the menu as they cannot be physically pressed on the keyboard.

Fixed

  • If "Auto switch" was enabled, the file dialog closed immediately (#77).
  • Broken option "Show menu after leaving settings" (#101).
  • Internal key Ctrl+Shift+Win+0 errors.
  • Alt key freezing in file dialog.
  • Rare issue of missing paths from XYplorer.

QuickSwitch v1.6

30 May 06:08

Choose a tag to compare

Changelog

Features

  • Enforce Menu: now you can enforce the Menu in any application using the keyboard shortcut: Ctrl+Shift+Win+0. The menu will display the paths obtained after the last opening of the file dialog and will not change them until the next opening. The menu will be empty the first time it is opened.

Note

You can use this feature to test whether QuickSwitch is working correctly in the (target) app in which Menu appears. If it really works, click "Settings > Debug > Export" to export the app info file. Open a suggestion to add this app to QuickSwitch, attach exported file.

Warning

You can use this feature to try changing the path in any app, but it probably won't work if there are no visible input field (e.g. Filename, Edit) or the target application is running as an administrator. If it works, see the Note above.

  • Better error display: QuickSwitch now shows significantly fewer notifications if it's not launched as administrator and can't get paths from file managers or can't change file dialog path. The "permission error" appears once and will not spam you with notifications.

Note

In this case, it is better to restart QuickSwitch as admin or restart other applications with reduced permissions. You can see their names in the notification or find all their names in Errors.log. The error will tell you when this is really necessary. Otherwise, you don't have to worry about it.

Refactored

  • The TotalCmd configuration is no longer recreated if TotalCmd is elevated.
  • Now any file manager is checked for "elevated" status and paths from it aren't requested if the status is "true".
  • Apps aren't checked for elevated if QuickSwitch is running as an administrator. In this case, any errors are always displayed. However, in this case, no errors usually occur.
  • Reduced code size.
  • Improved comments.
  • Improved errors logging.
  • Improved file dialog type detection. Errors now interrupt app execution.
  • Removed redundant ByRefs.

Fixed

  • If "Auto switch" was enabled, the file dialog closed immediately (#77) or the menu showed only one path (#94).
  • Menu residue display and permanent display on top of screen (#88, #94).
  • Broken option "Show menu after leaving settings" (#101).
  • Selecting path error if the file dialog owner application has an "elevated" status.
  • System error after opening multiple Explorer instances.
  • Internal key Ctrl+Shift+Win+0 errors.
  • Alt key freezing in file dialog.
  • Rare issue of missing paths from XYplorer.
  • Various syntax errors pop-ups.
  • The tray icon did not reset after pressing "Reset".
  • Entered empty string values in the settings were not saved.

QuickSwitch v1.5

03 May 12:00

Choose a tag to compare

New Total Commander core (#33)

Now the Menu displays all the paths from Total Commander without errors! Thank you Dalai for the config search algorithm and Horst for long and patient testing. For the most accurate results, please do not run TotalCmd as administrator or run QuickSwitch as admin.

Details

After a series of my unsuccessful attempts to add this feature, I finally succeeded! Now QuickSwitch searches for your config directory (regardless of its name) and creates a usercmd.ini in it with the custom EM_ command, which invokes the internal SaveTabs2 command.

This amazing update is aimed at improving performance and it was prepared thanks to the incredibly valuable testing by @Arsiendle and @CennoxX! Some settings have been changed, please set them again in "Menu settings".

I really need your feedback! If something is not working for you, please let me know. If you think that app can be improved, write to me.

Changelog

Menu options

  • Black list option: if a menu appears where you don't want it to, you can add that window to the black list. The Menu can still be opened with the main key which can be changed in "Menu settings" > "App".
  • Only Auto Switch: removed "not now", "never here" options. Now there is a single "auto switch" option.
  • Keyboard support: now you need fewer keys to interact with the Menu:
    • Path: 0-9.
    • Auto switch: A
    • Black list: B
    • Settings: S
    • Hide menu: Esc / click anywhere
      Each option and button in the settings has a corresponding key. Press the u̲n̲d̲e̲r̲l̲i̲n̲e̲d̲ l̲e̲t̲t̲e̲r̲ on the keyboard for quick focus:
      C̲ancelC; Path s̲eparatorS.

Menu settings

  • Always Auto Switch: always changes the path. But you can disable this mode for specific windows using "auto switch" Menu option (#64).
  • Close old-style file dialog: enable this option if you want to close old-style file dialogs immediately after selecting a path a don't want to wait (#78).
  • Nuke button: sets the default settings and puts the current configuration in the Recycle Bin. Use this option to remove all window settings and force "always Auto Switch" mode. The button is hidden for safety reasons. It can be found after clicking "Reset" or "Debug" buttons.
  • Show menu:
    • If all Menu options disabled (e.g. disable "Auto Switch" to show, enable to hide).
    • After selecting path.
    • Always (hide only after losing focus).

Features

  • Empty menu: if no paths could be found or supported file managers are closed, the menu will display "no available paths".
  • More file dialogs: added support for old-style TreeView dialog with Edit field and simple tree (XY forum); added support for some archivers dialogs (including BandiZip, PeaZip, 7-zip and WinRar) (#43).
  • Performance: the speed of the following actions has been improved:
    • Auto switch.
    • Navigating the selected path.
    • Determining the type of dialog.
    • Getting paths from file managers.
    • Getting the Directory Opus active tab.
    • Saving and reading the configuration.

Refactored

  • All dialogs now uses same fast function which uses the Edit field instead of the address bar (XY forum).
  • Reduced disk usage (reduced amount of I/O operations).
  • Improved Menu settings and ini options readability (#84).
  • Added retries to fill the path in the dialog (#81).
  • Added check for buttons in the dialog.
  • Added arrows in "Menu settings" numeric fields and added validation of integers on input.
  • Added dialog name to the "Debug" window. Also you can export dialog info and read internal and visible dialog name in the exported file.
  • Reduced the number of iterations when parsing the dialog controls, file manager classes, xyplorer child windows.
  • 0/1 values replaced with true/false (ini still uses integers for reliability).
  • Improved documentation of code and libraries including comments and readme.
  • Complex files are organized into separate libraries.
  • Improved display of notifications and errors.
  • Added logging about files QuickSwitch couldn't access (including main configuration ini and TotalCmd tabbs file.)

Fixed

  • The Menu:
    • Remained permanently open after opening the settings.
    • Didn't disappear after closing the dailog.
    • Showed the various XYplorer variables (XY forum).
  • Slowdown if child window is open in XYplorer.
  • Auto Switch didn't work the first time the dialog was opened.
  • The colour field did not allow a HEX number to be entered in free format: #111111, 0x111111 . . .
  • Errors appeared when the dialog was immediately closed after opening (#82).
  • Rare system error appeared after opening many Explorer windows; added the ability to restart Explorer (#82).

QuickSwitch v1.4

03 Apr 13:32

Choose a tag to compare

Changelog

Features

  • Display all tabs from:
    • TotalCommander
    • DirectoryOpus
    • XYplorer panels
  • Short path option:
    • The option has become faster.
    • You can hide the first path separator, for example: ..\dir
  • XYplorer dual-pane support
  • Multi-language hotkeys: now the keys set in the settings work in any keyboard layout.
  • Performance: the code has been significantly revised for the better.

Refactoring highlights

  • Improved date and localization display in logs.
  • Added lost global variables in new validators.
  • Keys uses scan codes when they are created.
  • Added safe function to prevent key creation errors.
  • ShowShortPath has been renamed to GetShortPath and now uses faster built-in functions.
  • Improved names and used proper naming style for local, static and global variables.
  • Improved performance:
    • Added AHK v1 specific directives and functions.
    • Added identical variables one-line assigning.
    • Sleep replaced by ClipWait.
    • Xyplorer now works via clipboard because it's faster.
    • Removed Return from Void functions.
    • Added multiple static variables in all Libs.

Fixed

  • Directory Opus wasn't working.
  • The portable version of Total Commander was not detected.
  • "Reset" button wasn't wotking for some settings.
  • Missing "Debug" button.
  • Nonexistent hotkey error.
  • Menu did not disappear when clicking anywhere in the file dialog.
  • Menu appeared in different applications and did not disappear after changing settings.
  • Constant notification about missing icon in compiled version.
  • The Virtual Path XYplorer specific option has caused display problems: other file managers do not have a similar option that displays simplified real paths. The option has been removed.

QuickSwitch v1.2

26 Mar 21:01

Choose a tag to compare

Changelog

Features

  • New settings interface:
    • Tabs for menu settings, app and shortcut display options.
    • Vertical alignment of the input fields. Now if you use large or monospaced font the settings items will adjust to your preference.
    • Clear font quality and readable hotkeys input fields.
  • Default colors: in Menu settings leave the color fields blank to use system colors. I recommend the BigSur or CakeOS themes from Niivu.
  • Log with errors (including custom ones when entering wrong values in settings): you can read .log if something doesn't work. It is located next to the script.

Refactored

  • Function names renamed to clear and desriptive names for improved stack trace in the log.
  • “Folder” has been replaced with “Dir”.
  • Removed version from INI and AutoStartup link name to simplify updates.
  • Comments have been improved. Removed direct references to specific lines, names, and files to avoid obsolescence of comments over the course of development.
  • Improved code readability.
  • Added readme to \Libs about each included script.
  • Initialized missing variables.
  • Changed encoding of all files from ansi to utf-8.

Fixed

  • Incorrect work in SysTreeView and SysListView file dialogs.
  • Incorrect check for no available paths.
  • Error in known dialogs.
  • Lost path requests to TotalCommander.
  • AutoSwitch option was enabled in Menu at first startup but it didn't work.

QuickSwitch v1.1

04 Feb 15:17
91f53e6

Choose a tag to compare

Changelog

  • A new settings menu has been added. Now you can enable autorun, change font, icon and hotkeys. The Debug button has been moved there.

  • Added the ability to restart the script in the selected application. The default hotkey is Ctrl+S, which allows you to change and compile the script on the fly when running an uncompiled script.

  • Compilation directives have become more universal. Just specify the version once in the filename.

The file must have name-verison syntax, e.g.. QuickSwitch-1.0. Any other name is not allowed!

  • Added error output via TrayTip. Errors are output rarely and the script handles them silently if possible. However, you can remove them completely by disabling notifications in the system.

QuickSwitch v1.0

26 Jan 10:28
2e3ec35

Choose a tag to compare

Changelog

  • The old Autohotkey v1 syntax was improved and became similar to the v2 syntax for further porting.

  • The code has been restructured to enhance its clarity and to facilitate self-documentation, with additional comments added to support its interpretation.

  • The code has been modified to remove spaggification and goto labels, and to add structure by dividing the key elements of the script into parts and adding them to Libs.

  • Tthe speed at which menu with paths from file managers appear has been increased.

  • AutoSwitch has been modified to no longer iterate over all paths and now works directly with the latest file manager.

  • AutoSwitch exception has been rendered obsolete.

  • The drive letter can be removed from the menu.

  • The ability to shorten the displayed path and cut the path from either side (left or right) has now been added.

Extended support for XYplorer:

  • If you open a Rapid Access Folder or a virtual path (Rapid/Music, Downloads), it can be displayed instead of the full path.

  • The menu will display the paths from all open folders starting from the current one. Previously, only 1 path was displayed.