Change Log¶
Change log of Keypirinha
v2.9.9 - 2016-11-22¶
Application¶
- Fixed a bug that prevented the use of the “Predefined variables” listed in Configuration, in the configuration files
- The noisy error messages
Failed to get path of KnownFolder ...are only printed when they should (i.e. when the OS should actually support the given Known Folder)
RegBrowser package¶
- Fixed issue #135: could not open registry values in regedit (i.e. only keys)
WebSearch package¶
- Fixed issue #136 implied by an unexpected behavior of the API (see below)
Documentation¶
- Keyboard Shortcuts chapter more readable
API¶
- Fixed issue #136:
keypirinha_util.web_browser_command()produced an invalid result in case of an unknown web browser or when the command line specified in theweb_browsersetting was quoted. This prevented the WebSearch package to work properly. keypirinha_util.shell_execute()reads a quoted command line properly from theterminalsetting
v2.9.8 - 2016-11-20¶
RegBrowser package¶
- Added the
Copy full path,Copy parent's pathandCopy valueactions (thanks to @ueffel)
WebSearch package¶
- If a search site is assigned several URLs, they will be launched altogether if
the configured/detected web browser supports it (Chrome, Firefox, Iridium,
Opera, Palemoon, Vivaldi). Edge and Internet Explorer do not support this.
Note that the
web_browser_new_windowoption must probably be disabled to allow this to be taken into account by the browser (with Chrome at least).
API¶
keypirinha_util.file_attributes()evaluates only*.lnkfiles asLINK(issue #132)keypirinha_util.shell_execute()tries to resolve executables by their name, if needed, using currentPATH(issue #134)keypirinha_util.web_browser_command()can handle the launch of several URLs altogether if supported by the configured/detected web browser
v2.9.7 - 2016-10-10¶
General Notes¶
- WinReg package renamed to RegBrowser Package. This doesn’t impact its use.
Application¶
- Added the
Shift+Entershortcut to execute an item without closing the LaunchBox, and reset the search (issue #122) - Added the
Ctrl+Shift+Entershortcut to execute an item without closing the LaunchBox, and go back to the initial step of the current search (issue #122) - Added a launch-and-paste hotkey so the content of the clipboard is pasted to
the LaunchBox when shown (see the new
hotkey_pastesetting; issue #123) - Catalog’s insertion speed and memory usage have been improved
RegBrowser package¶
- Show the currently selected key so it can be opened instead of having to open a subkey
- Show the “(Default)” value
WebSearch package¶
- Added
BitbucketandGitHubto the list of predefined search sites
API¶
- Overhaul of the
keypirinha_wintypesmodule keypirinha.CatalogItemcomparison operators have been improved and__hash__uses the internal unique id of the item.
v2.9.6 - 2016-09-29¶
General Notes¶
- New RegBrowser Package
- Software Development Kit (SDK) is now available at: https://github.com/Keypirinha/SDK
- Packages repository is now public and open to contributions at: https://github.com/Keypirinha/Packages
Application¶
- Added the
[network]section in application’s configuration file, that can now be used by the plugins through the new network-dedicated API - Got rid of the
Testpackage that has been obsoleted by the SDK - Do not log anymore the message:
Monitors configuration changed. - Fixed issue #124 where configuration could not be edited with an other editor than the default one and when the paths to the files to edit contain space character(s)
Apps package¶
- Added the
elevatedsetting to the Custom Commands feature
Bookmarks package¶
- Added support for the Iridium browser
FileBrowser package¶
- Fixed: command switch
/was always changed to\(issue #119)
FileZilla package¶
- Referenced
FileZillaexecutable can now be passed arguments when executed (issue #126)
PuTTY package¶
- Referenced
PuTTYexecutable can now be passed arguments when executed (issue #126)
RegBrowser package¶
- New package! More info: RegBrowser Package
WebSearch package¶
- Added
BaiduandQwantto the list of predefined search sites
WinSCP package¶
- Referenced
WinSCPexecutable can now be passed arguments when executed (issue #126)
API¶
- Added network support (see:
keypirinha_net) - Plugins now get notified about network settings changes with the
keypirinha.Events.NETOPTIONSevent passed to thekeypirinha.Plugin.on_events()method. - Rules for package naming are slightly more strict. See the Packages chapter for more info
keypirinha_util.read_link()now also return therunasfieldkeypirinha_util.shell_execute()tries to execute the target with elevated privileges if it is a shell link that has got the related option enabled (issue #120)keypirinha.IconHandle:is_init()deprecated in favor of the standard__bool__()operator- Updated
natsortpackage from version4.0.4to5.0.1 - Documentation format corrections
v2.9.5 - 2016-09-10¶
Application¶
- Fixed the Explore action that did not work for some items issue #118
- Fixed a bug that crashed the application when trying to
Backspacefrom the Action step, after doing aCtrl+Enter
Apps package¶
- Corrected the documentation of the Custom Commands feature in the configuration file (i.e. placeholders format)
v2.9.4 - 2016-09-08¶
CAUTION¶
KNOWNFOLDER_...configuration values now expand to the final path of the known folder. Former values (i.e. the GUIDs) can still be used via the newKNOWNFOLDERGUID_...variables.
Application¶
- Added the
KNOWNFOLDERGUID_...predefined variables to configuration files ([var] section). Note that they replace the formerKNOWNFOLDER_...variables which are now assigned the final path of their respective known folder. See the Configuration chapter for more info. - Fixed a bug that would prevent the LaunchBox to be resized properly when search is reset issue #113
- Fixed a bug that would move the LaunchBox out of screen when using the
persistentmode of thegeometrysetting issue #116 - Fixed a bug that prevented history items to be loaded if they had a non-standard category ID
- Fixed a bug that appeared in 2.9.2 and prevented similar items from history to be added to the results list when no argument were typed
Apps package¶
- Added the Custom Commands feature, which is similar to Launchy’s Runner plugin, in a more flexible fashion
API¶
- Added the
keypirinha_util.shell_resolve_exe_path()function keypirinha.Settings.get():unquoteargument isFalseby default
v2.9.3 - 2016-08-25¶
Application¶
- Fixed a bug that appeared in 2.9.2 and crashed the application when typing arguments to a selected item issue #112
v2.9.2 - 2016-08-25¶
Application¶
- Drastically optimized catalog search speed, most notably for big catalogs (up to 15 times faster)
- Drastically optimized catalog insertions/updates speed (up to 19 times faster) Note that this optimization only includes the indexing part of the catalog building process. It excludes the time taken by a plugin to actually build its list of items before pushing it to Keypirinha (for example, a list of files resulting from a hard-drive scan).
- Stability tested on large catalogs, containing up to 360,000 items
API¶
- Fixed a long-standing bug that prevented some resources to be found/loaded from a loose package issue #111
v2.9.1 - 2016-08-23¶
Application¶
- Search speed improved in some cases
- Application and packages are more permissive with file paths specified in
configuration files that have unix-style separators (
/) instead of windows-style ones (\)
Calc package¶
- Added the
rounding_precisionsetting - Fixed: representation of floating point numbers issue #104
Everything package¶
- Fixed: search items created by versions pre-2.9 were not working issue #106
API¶
- Fixed
keypirinha_util.shell_execute()that would fail ifthingto execute was not a file (e.g. a URL) issue #107 keypirinha_util.file_attributes()inserts file path in exception’s message (in case of error)
v2.9 - 2016-08-20¶
Application¶
- Improved
geometrysetting for both LaunchBox and Console that also allows auto positioning according to current context: current working monitor, mouse current monitor or nearby mouse position. issue #50 - Persistent geometry state for both LaunchBox and Console remembers positioning and sizing according to current monitors configuration. issue #39
- LaunchBox’s Y position is now automatically pushed up in order to have enough room to display at least one result item in case it was too low (only in persistent geometry mode)
- LaunchBox position is not forcefully restored to default anymore when user has moved it, until search is reset or window re-displayed
- LaunchBox now accepts the
Alt+Leftshortcut to forcefully go back to the previous search step. TheAlt+Rightshortcut is equivalent toTab. issue #97 - LaunchBox displays the list of history items when
Ctrl+Downis pressed (orDownif search state is clean) issue #45 .keypirinha-packagefiles can now be updated at runtime issue #73- Fixed: Keypirinha does not rely on Windows’ Shell anymore to get a folder icon and tries instead to get system’s default from registry. issue #89
- Keypirinha now tries to detect automatically the working directory of the launched applications issue #101
- The
editor,terminalandweb_browserapplication settings now accept shortcuts (link’s arguments will be prepended to the extra ones specified in the setting value) - Fixed a long standing bug that prevented Keypirinha to properly auto-detect
configured editor’s type (Atom, SublimeText, ...) via the
editorsetting
Calc package¶
- Improved results readability: result is in item’s label instead of its description
- Got rid of most common rounding precision problems that occured with floating point numbers issue #98
- The
=keyword can be specified as a prefix to query the plugin to evaluate the remaining of the typed string issue #93 - Added the
decimal_separatorsetting issue #70 - Integer results are now automatically declined in multiple bases (i.e. decimal, hexadecimal, binary and octal)
- Currency formatting is now available (see the
currencyconfiguration section for more information) - Added support for the
bin()function issue #96 - Added support for bitwise operators:
|(orOR),~(orXOR) and&(orAND) ^is now an alias to the**(power of) operator- Added support for Python’s
FloorDivoperator (//), also referred as Integer Division - Added the
ansconstant that evaluates to the last valid result (reset to zero at Keypirinha’s startup or when package is reloaded) - Added support for Metric System suffixes (e.g. “K”, “da”, ...). See documentation for more info.
- Added support for suffixes of Orders of Magnitude of Data (e.g. “Ki”, “Gi”, ...). See documentation for more info.
- Upgraded the underlying Python module that is used to evaluate mathematical
expressions (i.e.
simpleeval)
Everything package¶
FileBrowser package¶
- Added the
follow_shell_linkssetting
TaskSwitcher package¶
- Fixed a bug that prevented the plugin to show its suggestions when the
always_suggestoption was enabled issue #102
WebSearch package¶
- Made the
{plugin_name}format field less confusing (i.e.WebSearchinstead ofWebSearch.WebSearch)
Documentation¶
- Added the
How to support the project?question to the Frequently Asked Questions (FAQ) list - Added the
Is it open source?question to the Frequently Asked Questions (FAQ) list - Added the
Current Developmentssection in main page - Added new Contributions:
KiTTY,CalcandIntegrated Patches - Improved Calc Package chapter
- Added social buttons
- Corrections
API¶
- Package Naming rules are stricter
- Added the
keypirinha.Plugin.friendly_name()method keypirinha.Plugin.name()has been deprecated in favor ofkeypirinha.Plugin.full_name()keypirinha.Plugin.package_name()has been deprecated in favor ofkeypirinha.Plugin.package_full_name()keypirinha_util.read_link()also returns theshow_cmdandicon_locationpropertieskeypirinha_util.shell_execute()has been refactored to handle the case where theterminal_cmditself is a shell link and to automatically guess theworking_dirvalue in case none has been specified issue #101- Fixed a rare bug that could occur in
keypirinha_util.execute_default_action()in case the call tokeypirinha_util.shell_execute()failed - Added the
unquoteparameter to thekeypirinha.Settings.get(),keypirinha.Settings.get_stripped(),keypirinha.Settings.get_enum()andkeypirinha.Settings.get_mapped()methods. - Fixed:
keypirinha.Settings.get_enum()andkeypirinha.Settings.get_mapped()would not always match a valid value when thecase_sensitiveargument wasTrue - Improved documentation of
keypirinha.Settings
v2.8 - 2016-07-11¶
Application¶
- Fixed a bug that prevented the results to be displayed when the
retain_last_searchoption was enabled issue #88 - Added the ability to erase all the references of a package from history by selecting a result item and clicking the dedicated action in its contextual menu (mouse only; documentation updated) issue #65
- The
show_history_hitssetting does not depend onshow_scoresanymore so items hits counts can be shown without having to enable theshow_scoresoption as well issue #84 - Added the
KNOWNFOLDER_...predefined variables to configuration files ([var] section). They may come handy for some theAppsandFileBrowserpackages at least. See the Configuration chapter for more info.
FileBrowser package¶
- Fixed: typing
C:\Wwould lead to an empty results list instead of returning at least aC:\Windowsitem for example issue #81
WebSearch package¶
- Search sites do not require argument anymore. If no argument is provided by
the user, the guessed home address of the site will be launched instead of the
provided
url, unless ahome_urlsetting (new) has been specified issue #85 - Pre-defined search sites can now be all disabled at once using the new
enable_predefined_sitessetting (issue #57). Note that the section name of pre-defined sites is nowpredefined_site/instead ofsite/. - A single search site (pre-defined or not) can now be enabled/disabled using
the new
enableboolean setting - Added the
Python3 Modpredefined site
Documentation¶
- Added the Contributions chapter that references available third-party packages and patches to the official packages issue #82
API¶
Plugin.create_error_itemnow copies the content of theshort_descargument iflabelis empty. Items with an emptylabelare filtered out by the application and the createdERRORitem would not be displayed.- Corrected a potential bug in
Settings.get_multilinewhen the returned fallback value was modified by the caller, then re-used (due to Python’s “mutable default arguments”)
v2.7 - 2016-07-03¶
Application¶
- LaunchBox: item’s
data_bagproperty is now also printed in the Console whenAlt+Enteris pressed Ctrl+Backspaceconventional shortcut to erase the previously typed word in an edit control is now supported by the LaunchBox and the Console issue #77
Apps package¶
- Fixed a bug that occurred when a line in
extra_pathswas containing only a GUID (i.e. format::{guid})
Everything package¶
- Now takes advantage of the ‘browse directory as you type’ feature introduced
with the
FileBrowserpackage. After a search viaEverythingand once a directory item has been selected, it can be browsed using theTabkey.
FileBrowser package¶
- A new package that allows file browsing as you type (request issue #32). More info available in documentation and configuration file.
API¶
- Embedded Python interpreter upgraded from 3.5.1 to 3.5.2
- Signature of
Plugin.on_suggesthas changed, refer to the documentation for more information. This change breaks retro-compatibility. - Corrected
GUID.__init__,get_known_folder_pathand the declaration ofshell32.SHGetKnownFolderPathfrom thekeypirinha_wintypessite module
v2.6.1 - 2016-06-10¶
v2.6 - 2016-05-30¶
Application¶
- Configuration is now reloaded if and only if at least one value has changed (previously, it was always reloaded when a change notification was pushed by the file system). This helps preventing the catalog to be updated because of modifications to comments or blank lines for example. This also applies to packages configuration.
- For the same reasons, the detection of modifications to the environment variables has been improved.
API¶
- Replaced
Plugin.on_config_changedandPlugin.on_env_changedmethods byPlugin.on_events. This change breaks retro-compatibility. - Added the
showparameter tokeypirinha_util.shell_execute()issue #68
v2.5.6 - 2016-05-10¶
Application¶
- Fixed: the Internal package was still loaded on startup despite being
specified in the
ignored_packageslist issue #59 - The
ignored_packagessetting is more flexible by allowing the<all>value and the-and+operators - Disabled the auto-repeat flag of every hotkeys to avoid trouble
- Rules for package naming are slightly more strict. See the Packages chapter for more info
- Minimum auto-width of the LaunchBox is 600 pixels in case 1/3 of the screen width is less than that
- Log file is now machine specific and is named accordingly. Old “Keypirinha.log” file can be deleted manually (not done by Keypirinha)
Documentation¶
- Added the Customize your Catalog chapter issue #57
- Corrections here and there
v2.5.5 - 2016-04-26¶
API¶
- Corrected the
keypirinha_util.chardet_open()function due to issue #55
v2.5.4 - 2016-04-23¶
v2.5.3 - 2016-04-22¶
CAUTION¶
- The type of the
hide_on_focus_lostsetting has changed to allow a more fine-grained tweaking. While effort has been made to keep retro-compatibility, please ensure your existing configuration complies to this modification. - If at least one of your
geometrysettings is set topersistent, you may have to manually reposition the window(s) the first time you start this new version due to the fix of issue #39.
Application¶
- Fixed: icons of remote files are now displayed properly issue #20
- Fixed: dragging the LaunchBox by its icon in maximized mode was resulting in an unexpected behavior issue #47
- Fixed: made persistent geometry and more generally, application state, user AND machine-specific issue #39
- Added the
space_as_tabsetting issue #49 - Added the
Shift+Alt+Entershortcut to the LaunchBox to directly invoke the Shell “Properties” dialog of the selected FILE item. - The
hotkey_runandhotkey_consolesettings accept new special keys and combinations. A message dialog also pops up in case of malformed value issue #46 - The
hide_on_focus_lostsetting is more flexible - Application is more verbose about malformed configuration values (console) instead of just silently falling back to hard-coded default
Bookmarks package¶
- Try to automatically detect the text encoding of some files the plugins need to read from Chrome, Firefox and others issue #51
API¶
- Added the
keypirinha_util.chardet_open()function - Added the
keypirinha_util.chardet_slurp()function keypirinha_util.slurp_text_file()function is deprecated
Documentation¶
- Added the “Clear the history” section in the First steps chapter
- Corrections here and there
v2.5.2 - 2016-04-16¶
Application¶
Documentation¶
- Added the Keyboard Shortcuts chapter to list the available shortcuts
- Added the “Drag and Drop” section in the First steps chapter
- Typo corrections
v2.5.1 - 2016-04-14¶
v2.5 - 2016-04-13¶
Application¶
- New package: URL Package
- Fixed: the LaunchBox and Console windows now give back the focus to the previous application/window when closed issue #37
- The LaunchBox can now be maximized by hitting
Alt+Xor standardWin+Upcombination (toggle). Double-click also works. See the Maximize the LaunchBox documentation section. - Added the
hide_on_focus_lostsetting issue #34 - Added the
retain_last_searchsetting issue #35 - ERROR items have been implemented.
Keypirinha can now display error messages from the plugins directly to the
results list so the user can have a direct feedback on what’s going on in some
cases. Note that the Console remains the best source of information to track
down issues.
Best example for now is the
=item of theCalcpackage (try typing an invalid expression like2+). - The LaunchBox now supports drag-and-drop operations:
- A file can be dropped to the edit box so its full path is inserted
- FILE items can be dragged out of the results list and be copied/linked to the Windows Explorer or any other application that accepts drops of Shell items
- URL, CMDLINE, EXPRESSION and ERROR items can also be dragged out and their content (i.e. the target property) will be copied to the drop destination. For example, you could drop a URL item to your web browser.
- In the LaunchBox, the
Alt+Entercombination allows to show up the properties of the currently selected item. - User can now press
Ctrl+SpaceorShift+Spaceduring the initial search to force include a space character instead of switching to the next step. - Improved speed when merging a large list of suggestions from plugins
Calc package¶
- Added support for the left-shift and right-shift operators (
<<and>>). - Added the
always_evaluatesetting issue #38
Everything package¶
- Full support of Everything’s search syntax issue #27
- Added the
Regex Searchitem to allow a search based on regular expression - Fixed: the list of returned results was not always complete in case Everything was not fast enough issue #36
- Fixed: extra arguments could not be added to items that had been executed already (Everything items only)
WebSearch package¶
- Added
Bing Maps,Google MapsandOpenStreetMapssearch sites in the default configuration file.
API¶
- Added optional argument
wait_secondstokeypirinha.Plugin.should_terminate()andkeypirinha.should_terminate() - Added
keypirinha.ItemCategory.ERROR.ERRORitems are highlighted in the results list and cannot be executed. - Added
keypirinha.Plugin.create_error_item() - Added the optional parameters
match_methodandsort_methodtokeypirinha.Plugin.set_suggestions() - Added the
data_bagproperty tokeypirinha.CatalogItemto allow plugins to associate arbitrary data to a specific item. Modifiedkeypirinha.Plugin.create_item()andkeypirinha.Plugin.create_error_item()accordingly. Added thekeypirinha.CatalogItem.data_bag()andkeypirinha.CatalogItem.set_data_bag()methods. - Added the
keypirinha_util.shell_url_scheme_to_command()function to find the application associated with a given URL scheme by the system; and the location of its default icon.
v2.4 - 2016-03-24¶
CAUTION¶
- The default value of the
launch_at_startupsetting has been changed fromyestonoto be less invasive. You may need to update your configuration if you want Keypirinha to keep being launched at startup. - WebSearch package: the default value of the
new_windowsetting in the[defaults]section has been changed fromyestonoto comply to default system preferences.
Added¶
- The Reload Configuration command and menu to reload all configuration files (application and plugins), and to clear the runtime icons cache
- Non-existent files referenced by items in the history are now filtered out
from search results, but kept in history (as it was the case already).
Related setting:
exclude_nonexistent_remote_files. - Docs: some questions in the Frequently Asked Questions (FAQ) chapter
Fixed¶
- The new_window and inognito/private_mode settings (global and plugin-specific) where not working when Firefox was the system’s default web browser issue #25
- LaunchBox: web icons (Bookmarks, WebSearch, ... items) are now refreshed
properly when the
web_browsersetting is changed issue #26 - Apps package: made
extra_paths, envPATHand Start Menu scans more bullet-proof in case an unreadable file/folder gets on its way (issue #19, issue #29) - Bookmarks: Firefox bookmarks provider could not read Firefox’s
profiles.inifile when its nomenclature format was not exactly the expected one issue #30
Changed¶
- LaunchBox: last executed action is now pre-selected in the ACTIONS list. If user skips the ACTIONS list, item will be executed with the default action.
- The default value of the
launch_at_startupsetting has been changed fromyestonoto be less invasive. - WebSearch package: the default value of the
new_windowsetting in the[defaults]section has been changed fromyestonoto comply to default system preferences. - Minor corrections and improvements
API: Changed¶
keypirinha_util.raise_winerror()accepts a new optionalmsgargument to override system’s default messagekeypirinha_util.scan_directory()raisesOSErrorinstead ofIOErrorto comply to Python 3.3 changeskeypirinha_util.scan_directory()accepts new flagABORT_ON_ERROR
v2.3 - 2016-03-22¶
WARNING: This version breaks compatibility of the
keypirinha.Plugin.on_suggest() API with previous versions. If you are a
plugin developer or if you have modified the shipped packages, please ensure to
update your code before starting the application. Otherwise, just follow the
Install/Update instructions from the documentation.
Added¶
- New package: Everything (query Everything to search files and folders from Keypirinha).
- Docs: the First steps chapter has been stuffed with features that were undocumented so far.
geometrysettings in the[gui]and[console]sections. Note that due to this addition, default behavior has changed from previous release (i.e. frompersistenttoauto)web_browser,web_browser_new_windowandweb_browser_private_modeglobal settings issue #12- Bookmarks package:
force_new_window,bookmarks_files,places_filesandfavorites_dirssettings - WebSearch package: Metacritic and MSDN sites in default configuration
- LaunchBox: the status bar shows the name of the owner package of the currently selected item
Fixed¶
- Application was failing to launch if the value of an environment variable had a single dollar sign in it issue #14
- The default text editor was launched too quickly, which could make its taskbar buttons not to be in order.
- The windows of the default text editor were not positioned properly on the screen when there were 3 or more configuration files to edit.
Changed¶
- Drastically improved the speed of the internal logger in case of flooding
- Minor corrections, optimizations and improvements
- Docs: corrections and added some screen shots
- TaskSwitcher package: item is now kept in history, without its arguments
- Support chat room has moved
API: Changed¶
keypirinha.Plugin.on_suggest()(compatibility break)
v2.1 - 2016-03-09¶
Added¶
- New package: Bookmarks (supports Chrome, Firefox and Internet Explorer)
- Position and size of the LaunchBox and the Console window are now persistent issue #2
always_on_topsetting issue #1max_heightsetting- Show Change Log menu item and its ChangeLog catalog item
- Online Documentation menu item and the Online Documentation and Online Help (alias) catalog items
- Apps package:
scan_start_menuandscan_env_pathsettings issue #4 - Docs: Update Procedure section
- Docs: Change Log section
- Docs: Credits section
Changed¶
- GUI: Improved readability by brightening default text colors issue #6
- Calc package: the
=item is not kept in History anymore
API: Added¶
API: Fixed¶
keypirinha.installed_package_dir()issue #8keypirinha.Plugin.create_action()was missing thedata_bagparameter issue #7keypirinha.Plugin.set_actions()andkeypirinha.Plugin.clear_actions()(due to issue #7)keypirinha.Plugin.get_package_cache_path()issue #9
API: Deprecated¶
keypirinha.packages_path()andkeypirinha.package_path()are deprecated in favor ofkeypirinha.live_package_dir()to avoid confusion
v2.0 - 2016-03-01¶
- First public release
v0 - 2013-05-21¶
- Development started