rummage 4.19__tar.gz → 4.20__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {rummage-4.19 → rummage-4.20}/PKG-INFO +2 -2
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/about/changelog.md +6 -0
- rummage-4.20/docs/src/markdown/images/settings_general.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/installation.md +18 -18
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/preferences.md +15 -3
- {rummage-4.19 → rummage-4.20}/gui.fbp +123 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/__meta__.py +1 -1
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/autocomplete_combo.py +22 -9
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/about/changelog.html +6 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/about/contributing.html +1 -1
- rummage-4.20/rummage/lib/gui/data/docs/images/settings_general.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/installation.html +15 -18
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/preferences.html +14 -12
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/search.html +7 -7
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/usage.html +1 -1
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/import_settings_dialog.py +2 -1
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/rummage_dialog.py +35 -28
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/settings_dialog.py +9 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/gui.py +10 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/localization/locale/en_US/LC_MESSAGES/rummage.po +311 -281
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/localization/locale/ru_RU/LC_MESSAGES/rummage.po +312 -281
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/settings/__init__.py +26 -0
- rummage-4.19/docs/src/markdown/images/settings_general.png +0 -0
- rummage-4.19/rummage/lib/gui/data/docs/images/settings_general.png +0 -0
- {rummage-4.19 → rummage-4.20}/.coveragerc +0 -0
- {rummage-4.19 → rummage-4.20}/.gitignore +0 -0
- {rummage-4.19 → rummage-4.20}/LICENSE.md +0 -0
- {rummage-4.19 → rummage-4.20}/README.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/.snippets/abbr.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/.snippets/links.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/.snippets/refs.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/about/contributing.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/about/license.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/extras.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/chain_button.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/chain_mode.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/chains.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/content_tab.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/file_pattern.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/files_tab.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/html_export.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/limit_search_panel.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/load_search.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/logo.svg +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/plugin_input.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/plugin_toggle.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/preview.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/regex_buttons.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/regex_tester.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/rummage.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/rummage.svg +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/save_search.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/search_replace_inputs.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/search_replace_panel.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/search_tab.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_backup.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_editor.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_encoding.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_export.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_history.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_import.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_notify.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/settings_search.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/thunar-basic.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/thunar-conditions.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/images/thunar-custom.png +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/index.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/search.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/src/markdown/usage.md +0 -0
- {rummage-4.19 → rummage-4.20}/docs/theme/announce.html +0 -0
- {rummage-4.19 → rummage-4.20}/hatch_build.py +0 -0
- {rummage-4.19 → rummage-4.20}/mkdocs-internal.yml +0 -0
- {rummage-4.19 → rummage-4.20}/mkdocs.yml +0 -0
- {rummage-4.19 → rummage-4.20}/pyproject.toml +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/docs.txt +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/extras.txt +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/lint.txt +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/project.txt +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/setup.txt +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/test-project.txt +0 -0
- {rummage-4.19 → rummage-4.20}/requirements/test.txt +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/__main__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/checksum/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/checksum/sum_hashes.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/checksum/tiger.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/checksum/whirlpool.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/export_csv.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/export_html.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/fileops.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/sanitize_json.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/actions/updates.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/app/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/app/custom_app.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/app/platform_window_focus.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/app/rummage_app.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/collapsible_pane.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/custom_statusbar.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/date_picker.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/dock_icon.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/dynamic_lists.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/encoding_list.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/file_picker.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/load_search_list.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/pick_button.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/result_lists.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/search_chain_list.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/search_error_list.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/time_picker.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/controls/webview.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/arrow_down.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/arrow_left.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/arrow_right.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/arrow_up.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/binary.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/doc.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/404.html +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/about/license.html +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/css/theme.css +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/extras.html +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/chain_button.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/chain_mode.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/chains.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/content_tab.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/file_pattern.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/files_tab.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/html_export.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/limit_search_panel.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/load_search.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/logo.svg +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/plugin_input.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/plugin_toggle.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/preview.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/regex_buttons.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/regex_tester.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/rummage.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/rummage.svg +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/save_search.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/search_replace_inputs.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/search_replace_panel.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/search_tab.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_backup.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_editor.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_encoding.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_export.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_history.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_import.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_notify.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/settings_search.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/thunar-basic.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/thunar-conditions.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/images/thunar-custom.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/index.html +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/js/theme.js +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/docs/sitemap.html +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/error.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/glass.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/results.css +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_1024.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_128.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_16.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_256.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_32.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_40.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_48.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_512.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/rummage_mac.png +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/data/sorttable.js +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/checksum_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/column_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/delete_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/edit_search_chain_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/error_text_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/export_settings_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/file_ext_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/generic_dialogs.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/html_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/load_search_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/msg_dialogs.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/overwrite_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/regex_test_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/save_search_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/search_chain_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/search_error_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/dialogs/support_info_dialog.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/localization/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/notify/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/notify/notify_linux.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/notify/notify_osx.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/notify/notify_windows.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/notify/util.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/util/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/util/colors.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/util/images.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/gui/util/png.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/rumcore/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/rumcore/text_decode.py +0 -0
- {rummage-4.19 → rummage-4.20}/rummage/lib/rumcore/util.py +0 -0
- {rummage-4.19 → rummage-4.20}/tests/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/tests/test_rumcore.py +0 -0
- {rummage-4.19 → rummage-4.20}/tests/test_text_decode.py +0 -0
- {rummage-4.19 → rummage-4.20}/tests/test_versions.py +0 -0
- {rummage-4.19 → rummage-4.20}/tests/util.py +0 -0
- {rummage-4.19 → rummage-4.20}/tools/__init__.py +0 -0
- {rummage-4.19 → rummage-4.20}/tools/gen_docs.py +0 -0
- {rummage-4.19 → rummage-4.20}/tools/gui_patch.py +0 -0
|
@@ -1,5 +1,11 @@
|
|
|
1
1
|
# Changelog
|
|
2
2
|
|
|
3
|
+
## 4.20
|
|
4
|
+
|
|
5
|
+
- **NEW**: Add new autocomplete setting to disable/enable autocomplete. Mainly for Linux systems where autocomplete
|
|
6
|
+
functionality can sometimes work well or not so well depending on the distro.
|
|
7
|
+
- **FIX**: Fix issue with autocomplete shortcuts not working on every platform.
|
|
8
|
+
|
|
3
9
|
## 4.19
|
|
4
10
|
|
|
5
11
|
- **NEW**: Drop support for Python 3.7.
|
|
Binary file
|
|
@@ -18,42 +18,42 @@ installation can be done quickly and easily through `pip`. Some platforms, like
|
|
|
18
18
|
hoops that you must jump through. Additionally, wxPython, the GUI library that Rummage depends on, may sometimes have
|
|
19
19
|
support lagging for the latest Python version.
|
|
20
20
|
|
|
21
|
-
|
|
21
|
+
In general, it is always recommended to try and install `wxpython` first and make sure it is properly available
|
|
22
|
+
before installing Rummage. The wxPython installation may be more complicated depending on the platform. But in general,
|
|
23
|
+
for non-Linux systems, the following steps are usually sufficient.
|
|
24
|
+
|
|
25
|
+
Make sure wxPython is installed first. It is important to first ensure wxPython can be installed for your platform and
|
|
26
|
+
specific Python version first.
|
|
22
27
|
|
|
23
28
|
```console
|
|
24
|
-
$ pip install
|
|
29
|
+
$ pip install wxpython
|
|
25
30
|
```
|
|
26
31
|
|
|
27
|
-
Install
|
|
32
|
+
Install Rummage:
|
|
28
33
|
|
|
29
34
|
```console
|
|
30
|
-
$ pip install rummage
|
|
35
|
+
$ pip install rummage
|
|
31
36
|
```
|
|
32
37
|
|
|
33
|
-
|
|
38
|
+
Install Rummage with optional modules.
|
|
34
39
|
|
|
35
40
|
```console
|
|
36
|
-
$ pip install
|
|
41
|
+
$ pip install rummage[extras]
|
|
37
42
|
```
|
|
38
43
|
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
On systems like Windows, installation is pretty straight forward as wheels are provided for all packages in `pip`.
|
|
42
|
-
Support for the latest Python version may not always be available as the development cycle for wxPython can take a bit
|
|
43
|
-
to catch up.
|
|
44
|
-
|
|
45
|
-
Simply using `pip` to install is sufficient.
|
|
44
|
+
Upgrade Rummage:
|
|
46
45
|
|
|
47
46
|
```console
|
|
48
|
-
$ pip install rummage
|
|
47
|
+
$ pip install --upgrade rummage
|
|
49
48
|
```
|
|
50
49
|
|
|
51
|
-
###
|
|
50
|
+
### Windows and macOS
|
|
52
51
|
|
|
53
|
-
|
|
54
|
-
|
|
52
|
+
On Windows, installation is pretty straight forward as wheels are provided for all packages in `pip`. In recent years,
|
|
53
|
+
macOS installation also usually has wheels available as well. Support for the latest Python version may not always be
|
|
54
|
+
available as the development cycle for wxPython can take a bit to catch up.
|
|
55
55
|
|
|
56
|
-
|
|
56
|
+
Simply using `pip` to install is sufficient.
|
|
57
57
|
|
|
58
58
|
```console
|
|
59
59
|
$ pip install rummage
|
|
@@ -23,7 +23,6 @@ Language
|
|
|
23
23
|
- Rummage has internal support to display dialog labels in different languages. Currently Rummage has English. Russian
|
|
24
24
|
is outdated but includes a fair bit of the needed translations. See [Localization](./extras.md#localization) to
|
|
25
25
|
learn more about improving current translations or adding additional translations.
|
|
26
|
-
///
|
|
27
26
|
|
|
28
27
|
Updates
|
|
29
28
|
|
|
@@ -34,7 +33,7 @@ Updates
|
|
|
34
33
|
The check is only a check for new versions and doesn't perform an upgrade. Rummage must be upgraded via `pip` from
|
|
35
34
|
command line.
|
|
36
35
|
|
|
37
|
-
|
|
36
|
+
//// info | Update Issues: Python 3.6+ on macOS
|
|
38
37
|
There is a small issue on macOS with Python 3.6+: Python 3.6 changed how it gets the default certificates
|
|
39
38
|
required to properly check URLs. The details are actually documented here: https://bugs.python.org/issue28150#msg276516.
|
|
40
39
|
|
|
@@ -44,13 +43,26 @@ Updates
|
|
|
44
43
|
will use `pip` to install `certifi` and creates a symlink in the OpenSSL directory to `certifi`'s installed
|
|
45
44
|
bundle location. If you are using something like macports, then you'll probably have to research to find out how
|
|
46
45
|
to do the same thing.
|
|
47
|
-
|
|
46
|
+
////
|
|
48
47
|
|
|
49
48
|
International Time
|
|
50
49
|
|
|
51
50
|
- Rummage displays file creation and modified time in the form `Jul 01, 2018, 03:00:00 AM`, but you can enable this
|
|
52
51
|
option to display the times in international format: `2018-07-01 03:00:00`.
|
|
53
52
|
|
|
53
|
+
Alternate Row Colors
|
|
54
|
+
|
|
55
|
+
- In search results, Rummage can show alternating colors for each row. This can be enabled/disabled.
|
|
56
|
+
|
|
57
|
+
Autocomplete
|
|
58
|
+
|
|
59
|
+
- For certain text boxes that retain a history of previous inputs, Rummage will employ an autocomplete feature.
|
|
60
|
+
Unfortunately, in some Linux distros, this autocomplete doesn't work quite right. Autocomplete can be
|
|
61
|
+
enabled/disabled for those who are having trouble with the feature.
|
|
62
|
+
|
|
63
|
+
///
|
|
64
|
+
|
|
65
|
+
|
|
54
66
|
## Search
|
|
55
67
|
|
|
56
68
|

|
|
@@ -7615,6 +7615,129 @@
|
|
|
7615
7615
|
<event name="OnCheckBox">on_alt_row_toggle</event>
|
|
7616
7616
|
</object>
|
|
7617
7617
|
</object>
|
|
7618
|
+
<object class="sizeritem" expanded="0">
|
|
7619
|
+
<property name="border">5</property>
|
|
7620
|
+
<property name="flag">wxEXPAND | wxALL</property>
|
|
7621
|
+
<property name="proportion">0</property>
|
|
7622
|
+
<object class="wxStaticLine" expanded="0">
|
|
7623
|
+
<property name="BottomDockable">1</property>
|
|
7624
|
+
<property name="LeftDockable">1</property>
|
|
7625
|
+
<property name="RightDockable">1</property>
|
|
7626
|
+
<property name="TopDockable">1</property>
|
|
7627
|
+
<property name="aui_layer"></property>
|
|
7628
|
+
<property name="aui_name"></property>
|
|
7629
|
+
<property name="aui_position"></property>
|
|
7630
|
+
<property name="aui_row"></property>
|
|
7631
|
+
<property name="best_size"></property>
|
|
7632
|
+
<property name="bg"></property>
|
|
7633
|
+
<property name="caption"></property>
|
|
7634
|
+
<property name="caption_visible">1</property>
|
|
7635
|
+
<property name="center_pane">0</property>
|
|
7636
|
+
<property name="close_button">1</property>
|
|
7637
|
+
<property name="context_help"></property>
|
|
7638
|
+
<property name="context_menu">1</property>
|
|
7639
|
+
<property name="default_pane">0</property>
|
|
7640
|
+
<property name="dock">Dock</property>
|
|
7641
|
+
<property name="dock_fixed">0</property>
|
|
7642
|
+
<property name="docking">Left</property>
|
|
7643
|
+
<property name="enabled">1</property>
|
|
7644
|
+
<property name="fg"></property>
|
|
7645
|
+
<property name="floatable">1</property>
|
|
7646
|
+
<property name="font"></property>
|
|
7647
|
+
<property name="gripper">0</property>
|
|
7648
|
+
<property name="hidden">0</property>
|
|
7649
|
+
<property name="id">wxID_ANY</property>
|
|
7650
|
+
<property name="max_size"></property>
|
|
7651
|
+
<property name="maximize_button">0</property>
|
|
7652
|
+
<property name="maximum_size"></property>
|
|
7653
|
+
<property name="min_size"></property>
|
|
7654
|
+
<property name="minimize_button">0</property>
|
|
7655
|
+
<property name="minimum_size"></property>
|
|
7656
|
+
<property name="moveable">1</property>
|
|
7657
|
+
<property name="name">m_staticline15</property>
|
|
7658
|
+
<property name="pane_border">1</property>
|
|
7659
|
+
<property name="pane_position"></property>
|
|
7660
|
+
<property name="pane_size"></property>
|
|
7661
|
+
<property name="permission">protected</property>
|
|
7662
|
+
<property name="pin_button">1</property>
|
|
7663
|
+
<property name="pos"></property>
|
|
7664
|
+
<property name="resize">Resizable</property>
|
|
7665
|
+
<property name="show">1</property>
|
|
7666
|
+
<property name="size"></property>
|
|
7667
|
+
<property name="style">wxLI_HORIZONTAL</property>
|
|
7668
|
+
<property name="subclass">; ; forward_declare</property>
|
|
7669
|
+
<property name="toolbar_pane">0</property>
|
|
7670
|
+
<property name="tooltip"></property>
|
|
7671
|
+
<property name="window_extra_style"></property>
|
|
7672
|
+
<property name="window_name"></property>
|
|
7673
|
+
<property name="window_style"></property>
|
|
7674
|
+
</object>
|
|
7675
|
+
</object>
|
|
7676
|
+
<object class="sizeritem" expanded="0">
|
|
7677
|
+
<property name="border">5</property>
|
|
7678
|
+
<property name="flag">wxALL</property>
|
|
7679
|
+
<property name="proportion">0</property>
|
|
7680
|
+
<object class="wxCheckBox" expanded="0">
|
|
7681
|
+
<property name="BottomDockable">1</property>
|
|
7682
|
+
<property name="LeftDockable">1</property>
|
|
7683
|
+
<property name="RightDockable">1</property>
|
|
7684
|
+
<property name="TopDockable">1</property>
|
|
7685
|
+
<property name="aui_layer"></property>
|
|
7686
|
+
<property name="aui_name"></property>
|
|
7687
|
+
<property name="aui_position"></property>
|
|
7688
|
+
<property name="aui_row"></property>
|
|
7689
|
+
<property name="best_size"></property>
|
|
7690
|
+
<property name="bg"></property>
|
|
7691
|
+
<property name="caption"></property>
|
|
7692
|
+
<property name="caption_visible">1</property>
|
|
7693
|
+
<property name="center_pane">0</property>
|
|
7694
|
+
<property name="checked">0</property>
|
|
7695
|
+
<property name="close_button">1</property>
|
|
7696
|
+
<property name="context_help"></property>
|
|
7697
|
+
<property name="context_menu">1</property>
|
|
7698
|
+
<property name="default_pane">0</property>
|
|
7699
|
+
<property name="dock">Dock</property>
|
|
7700
|
+
<property name="dock_fixed">0</property>
|
|
7701
|
+
<property name="docking">Left</property>
|
|
7702
|
+
<property name="enabled">1</property>
|
|
7703
|
+
<property name="fg"></property>
|
|
7704
|
+
<property name="floatable">1</property>
|
|
7705
|
+
<property name="font"></property>
|
|
7706
|
+
<property name="gripper">0</property>
|
|
7707
|
+
<property name="hidden">0</property>
|
|
7708
|
+
<property name="id">wxID_ANY</property>
|
|
7709
|
+
<property name="label">Enable autocomplete</property>
|
|
7710
|
+
<property name="max_size"></property>
|
|
7711
|
+
<property name="maximize_button">0</property>
|
|
7712
|
+
<property name="maximum_size"></property>
|
|
7713
|
+
<property name="min_size"></property>
|
|
7714
|
+
<property name="minimize_button">0</property>
|
|
7715
|
+
<property name="minimum_size"></property>
|
|
7716
|
+
<property name="moveable">1</property>
|
|
7717
|
+
<property name="name">m_autocomplete_checkbox</property>
|
|
7718
|
+
<property name="pane_border">1</property>
|
|
7719
|
+
<property name="pane_position"></property>
|
|
7720
|
+
<property name="pane_size"></property>
|
|
7721
|
+
<property name="permission">protected</property>
|
|
7722
|
+
<property name="pin_button">1</property>
|
|
7723
|
+
<property name="pos"></property>
|
|
7724
|
+
<property name="resize">Resizable</property>
|
|
7725
|
+
<property name="show">1</property>
|
|
7726
|
+
<property name="size"></property>
|
|
7727
|
+
<property name="style"></property>
|
|
7728
|
+
<property name="subclass">; ; forward_declare</property>
|
|
7729
|
+
<property name="toolbar_pane">0</property>
|
|
7730
|
+
<property name="tooltip"></property>
|
|
7731
|
+
<property name="validator_data_type"></property>
|
|
7732
|
+
<property name="validator_style">wxFILTER_NONE</property>
|
|
7733
|
+
<property name="validator_type">wxDefaultValidator</property>
|
|
7734
|
+
<property name="validator_variable"></property>
|
|
7735
|
+
<property name="window_extra_style"></property>
|
|
7736
|
+
<property name="window_name"></property>
|
|
7737
|
+
<property name="window_style"></property>
|
|
7738
|
+
<event name="OnCheckBox">on_autocomplete_toggle</event>
|
|
7739
|
+
</object>
|
|
7740
|
+
</object>
|
|
7618
7741
|
</object>
|
|
7619
7742
|
</object>
|
|
7620
7743
|
</object>
|
|
@@ -189,7 +189,7 @@ def parse_version(ver):
|
|
|
189
189
|
|
|
190
190
|
|
|
191
191
|
# (major, minor, micro, release type, pre-release build, post-release build, development-release)
|
|
192
|
-
__version_info__ = Version(4,
|
|
192
|
+
__version_info__ = Version(4, 20, 0, 'final')
|
|
193
193
|
__version__ = __version_info__._get_canonical()
|
|
194
194
|
__app__ = "Rummage"
|
|
195
195
|
__status__ = __version_info__[3]
|
|
@@ -32,6 +32,7 @@ class AutoCompleteCombo(wx.ComboCtrl):
|
|
|
32
32
|
choices = []
|
|
33
33
|
|
|
34
34
|
self.focusing = False
|
|
35
|
+
self.enable_autocomplete = True
|
|
35
36
|
|
|
36
37
|
wx.ComboCtrl.__init__(
|
|
37
38
|
self, parent, wx_id,
|
|
@@ -59,6 +60,11 @@ class AutoCompleteCombo(wx.ComboCtrl):
|
|
|
59
60
|
# Add choices
|
|
60
61
|
self.update_choices(choices, load_last)
|
|
61
62
|
|
|
63
|
+
def set_autocomplete(self, option):
|
|
64
|
+
"""Set autocomplete."""
|
|
65
|
+
|
|
66
|
+
self.enable_autocomplete = option
|
|
67
|
+
|
|
62
68
|
def set_changed_callback(self, callback):
|
|
63
69
|
"""Set changed callback."""
|
|
64
70
|
|
|
@@ -175,9 +181,6 @@ class AutoCompleteCombo(wx.ComboCtrl):
|
|
|
175
181
|
key = event.GetKeyCode()
|
|
176
182
|
if key in (wx.WXK_DOWN, wx.WXK_UP) and not self.list.popup_shown:
|
|
177
183
|
self.Popup()
|
|
178
|
-
elif key in (wx.WXK_ESCAPE, wx.WXK_RETURN) and self.list.popup_shown:
|
|
179
|
-
# Quirk with Windows: make sure we capture escape key
|
|
180
|
-
self.list.on_key_down(event)
|
|
181
184
|
event.Skip()
|
|
182
185
|
|
|
183
186
|
def on_key_down(self, event):
|
|
@@ -200,6 +203,10 @@ class AutoCompleteCombo(wx.ComboCtrl):
|
|
|
200
203
|
def on_text_change(self, event):
|
|
201
204
|
"""Autocomplete on text change event."""
|
|
202
205
|
|
|
206
|
+
if not self.enable_autocomplete:
|
|
207
|
+
event.Skip()
|
|
208
|
+
return
|
|
209
|
+
|
|
203
210
|
found = False
|
|
204
211
|
if not self.update_semaphore:
|
|
205
212
|
tc = self.GetTextCtrl()
|
|
@@ -336,19 +343,22 @@ class ListCtrlComboPopup(wx.ComboPopup):
|
|
|
336
343
|
wx.CallAfter(self.Dismiss)
|
|
337
344
|
event.Skip()
|
|
338
345
|
|
|
339
|
-
def
|
|
346
|
+
def on_char_hook(self, event):
|
|
340
347
|
"""Select item and dismiss popup on return key."""
|
|
341
348
|
|
|
342
349
|
key = event.GetKeyCode()
|
|
343
350
|
if key == wx.WXK_RETURN:
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
351
|
+
if self.popup_shown:
|
|
352
|
+
curitem = self.list.GetFirstSelected()
|
|
353
|
+
if curitem != -1:
|
|
354
|
+
self.waiting_value = curitem
|
|
355
|
+
wx.CallAfter(self.Dismiss)
|
|
356
|
+
return
|
|
348
357
|
elif key == wx.WXK_ESCAPE:
|
|
349
358
|
if self.popup_shown:
|
|
350
359
|
self.set_canceled()
|
|
351
360
|
wx.CallAfter(self.Dismiss)
|
|
361
|
+
return
|
|
352
362
|
elif key == wx.WXK_DOWN:
|
|
353
363
|
if self.popup_shown:
|
|
354
364
|
self.next_item()
|
|
@@ -401,7 +411,7 @@ class ListCtrlComboPopup(wx.ComboPopup):
|
|
|
401
411
|
parent,
|
|
402
412
|
style=wx.LC_REPORT | wx.LC_NO_HEADER | wx.LC_SINGLE_SEL | wx.SIMPLE_BORDER
|
|
403
413
|
)
|
|
404
|
-
self.list.Bind(wx.
|
|
414
|
+
self.list.Bind(wx.EVT_CHAR_HOOK, self.on_char_hook)
|
|
405
415
|
self.list.Bind(wx.EVT_MOTION, self.on_motion)
|
|
406
416
|
self.list.Bind(wx.EVT_LEFT_DOWN, self.on_left_down)
|
|
407
417
|
self.list.Bind(wx.EVT_SIZE, self.on_resize_dropdown)
|
|
@@ -437,15 +447,18 @@ class ListCtrlComboPopup(wx.ComboPopup):
|
|
|
437
447
|
|
|
438
448
|
def OnPopup(self):
|
|
439
449
|
"""Called immediately after the popup is shown."""
|
|
450
|
+
|
|
440
451
|
self.popup_shown = True
|
|
441
452
|
wx.ComboPopup.OnPopup(self)
|
|
442
453
|
self.pick_item()
|
|
443
454
|
|
|
444
455
|
def OnDismiss(self):
|
|
445
456
|
"""Called when popup is dismissed."""
|
|
457
|
+
|
|
446
458
|
self.popup_shown = False
|
|
447
459
|
wx.ComboPopup.OnDismiss(self)
|
|
448
460
|
|
|
449
461
|
def LazyCreate(self):
|
|
450
462
|
"""Lazy create."""
|
|
463
|
+
|
|
451
464
|
return wx.ComboPopup.LazyCreate(self)
|
|
@@ -25,6 +25,12 @@
|
|
|
25
25
|
|
|
26
26
|
<!-- Table of Content (Don't show for static sites) -->
|
|
27
27
|
<h1 id="changelog">Changelog</h1>
|
|
28
|
+
<h2 id="420">4.20</h2>
|
|
29
|
+
<ul>
|
|
30
|
+
<li><strong>NEW</strong>: Add new autocomplete setting to disable/enable autocomplete. Mainly for Linux systems where autocomplete
|
|
31
|
+
functionality can sometimes work well or not so well depending on the distro.</li>
|
|
32
|
+
<li><strong>FIX</strong>: Fix issue with autocomplete shortcuts not working on every platform.</li>
|
|
33
|
+
</ul>
|
|
28
34
|
<h2 id="419">4.19</h2>
|
|
29
35
|
<ul>
|
|
30
36
|
<li><strong>NEW</strong>: Drop support for Python 3.7.</li>
|
|
Binary file
|
|
@@ -41,11 +41,7 @@
|
|
|
41
41
|
<li class="__toc_level_3"><a href="#installation_1">Installation</a></li>
|
|
42
42
|
<ul class="__toc_list_3">
|
|
43
43
|
|
|
44
|
-
<li class="__toc_level_4"><a href="#windows">Windows</a></li>
|
|
45
|
-
<ul class="__toc_list_4">
|
|
46
|
-
|
|
47
|
-
</ul>
|
|
48
|
-
<li class="__toc_level_4"><a href="#macos">MacOS</a></li>
|
|
44
|
+
<li class="__toc_level_4"><a href="#windows-and-macos">Windows and macOS</a></li>
|
|
49
45
|
<ul class="__toc_list_4">
|
|
50
46
|
|
|
51
47
|
</ul>
|
|
@@ -110,28 +106,29 @@ dependencies. If desired, you can install these dependencies manually, or instal
|
|
|
110
106
|
installation can be done quickly and easily through <code>pip</code>. Some platforms, like Linux, may require some additional
|
|
111
107
|
hoops that you must jump through. Additionally, wxPython, the GUI library that Rummage depends on, may sometimes have
|
|
112
108
|
support lagging for the latest Python version.</p>
|
|
113
|
-
<p>
|
|
109
|
+
<p>In general, it is always recommended to try and install <code>wxpython</code> first and make sure it is properly available
|
|
110
|
+
before installing Rummage. The wxPython installation may be more complicated depending on the platform. But in general,
|
|
111
|
+
for non-Linux systems, the following steps are usually sufficient.</p>
|
|
112
|
+
<p>Make sure wxPython is installed first. It is important to first ensure wxPython can be installed for your platform and
|
|
113
|
+
specific Python version first.</p>
|
|
114
|
+
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>wxpython
|
|
115
|
+
</code></pre></div>
|
|
116
|
+
<p>Install Rummage:</p>
|
|
114
117
|
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>rummage
|
|
115
118
|
</code></pre></div>
|
|
116
|
-
<p>Install with optional modules.</p>
|
|
119
|
+
<p>Install Rummage with optional modules.</p>
|
|
117
120
|
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>rummage<span class="o">[</span>extras<span class="o">]</span>
|
|
118
121
|
</code></pre></div>
|
|
119
|
-
<p>Upgrade:</p>
|
|
122
|
+
<p>Upgrade Rummage:</p>
|
|
120
123
|
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>--upgrade<span class="w"> </span>rummage
|
|
121
124
|
</code></pre></div>
|
|
122
|
-
<h3 id="windows">Windows</h3>
|
|
123
|
-
<p>On
|
|
124
|
-
Support for the latest Python version may not always be
|
|
125
|
-
to catch up.</p>
|
|
125
|
+
<h3 id="windows-and-macos">Windows and macOS</h3>
|
|
126
|
+
<p>On Windows, installation is pretty straight forward as wheels are provided for all packages in <code>pip</code>. In recent years,
|
|
127
|
+
macOS installation also usually has wheels available as well. Support for the latest Python version may not always be
|
|
128
|
+
available as the development cycle for wxPython can take a bit to catch up.</p>
|
|
126
129
|
<p>Simply using <code>pip</code> to install is sufficient.</p>
|
|
127
130
|
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>rummage
|
|
128
131
|
</code></pre></div>
|
|
129
|
-
<h3 id="macos">MacOS</h3>
|
|
130
|
-
<p>In recent years, wheels are usually available for wxPython on macOS. Support for the latest Python version may not
|
|
131
|
-
always be available as the development cycle for wxPython can take a bit to catch up.</p>
|
|
132
|
-
<p>Usually, you can just use <code>pip</code> to install:</p>
|
|
133
|
-
<div class="highlight"><pre><span></span><code><span class="gp">$ </span>pip<span class="w"> </span>install<span class="w"> </span>rummage
|
|
134
|
-
</code></pre></div>
|
|
135
132
|
<h3 id="linux">Linux</h3>
|
|
136
133
|
<p>Linux doesn't often have pre-built wheels for wxPython, so often, you must first ensure some prerequisites are in place
|
|
137
134
|
before using <code>pip install</code> (or other methods). Additionally, Linux, in recent years, has made managing libraries and
|
|
@@ -76,7 +76,7 @@
|
|
|
76
76
|
</div>
|
|
77
77
|
<h1 id="settings">Settings</h1>
|
|
78
78
|
<h2 id="overview">Overview</h2>
|
|
79
|
-
<p>The <strong>Preference</strong> dialog is found in the menu at <strong>File&
|
|
79
|
+
<p>The <strong>Preference</strong> dialog is found in the menu at <strong>File–>Preferences</strong> and contains all of the global options that can
|
|
80
80
|
be configured.</p>
|
|
81
81
|
<h2 id="general">General</h2>
|
|
82
82
|
<p><img alt="Preferences: General" src="images/settings_general.png" /></p>
|
|
@@ -90,10 +90,8 @@ be configured.</p>
|
|
|
90
90
|
<dd>Rummage has internal support to display dialog labels in different languages. Currently Rummage has English. Russian
|
|
91
91
|
is outdated but includes a fair bit of the needed translations. See <a href="extras.html#localization">Localization</a> to
|
|
92
92
|
learn more about improving current translations or adding additional translations.</dd>
|
|
93
|
-
</
|
|
94
|
-
<
|
|
95
|
-
<ul>
|
|
96
|
-
<li>
|
|
93
|
+
<dt>Updates</dt>
|
|
94
|
+
<dd>
|
|
97
95
|
<p>Controls whether Rummage will check for new updates daily and allows controlling whether you want to be notified of
|
|
98
96
|
prereleases as well. A button has also been provided to check for updates right away after configuring your update
|
|
99
97
|
settings.</p>
|
|
@@ -110,13 +108,17 @@ will use <code>pip</code> to install <code>certifi</code> and creates a symlink
|
|
|
110
108
|
bundle location. If you are using something like macports, then you'll probably have to research to find out how
|
|
111
109
|
to do the same thing.</p>
|
|
112
110
|
</div>
|
|
113
|
-
</
|
|
114
|
-
</
|
|
115
|
-
<
|
|
116
|
-
<
|
|
117
|
-
<
|
|
118
|
-
|
|
119
|
-
</
|
|
111
|
+
</dd>
|
|
112
|
+
<dt>International Time</dt>
|
|
113
|
+
<dd>Rummage displays file creation and modified time in the form <code>Jul 01, 2018, 03:00:00 AM</code>, but you can enable this
|
|
114
|
+
option to display the times in international format: <code>2018-07-01 03:00:00</code>.</dd>
|
|
115
|
+
<dt>Alternate Row Colors</dt>
|
|
116
|
+
<dd>In search results, Rummage can show alternating colors for each row. This can be enabled/disabled.</dd>
|
|
117
|
+
<dt>Autocomplete</dt>
|
|
118
|
+
<dd>For certain text boxes that retain a history of previous inputs, Rummage will employ an autocomplete feature.
|
|
119
|
+
Unfortunately, in some Linux distros, this autocomplete doesn't work quite right. Autocomplete can be
|
|
120
|
+
enabled/disabled for those who are having trouble with the feature.</dd>
|
|
121
|
+
</dl>
|
|
120
122
|
<h2 id="search">Search</h2>
|
|
121
123
|
<p><img alt="Preferences: Search" src="images/settings_search.png" /></p>
|
|
122
124
|
<p>The <strong>Regular Expression</strong> panel is where the desired regular expression engine that Rummage uses can be selected and
|
|
@@ -401,7 +401,7 @@ pattern instead of treating it as the start of an extended match pattern (<code>
|
|
|
401
401
|
<p>In <a href="preferences.html#search">Preferences</a>, you can enables Bash style brace expansion.</p>
|
|
402
402
|
<p>Brace expansion is applied before anything else. When applied, a pattern will be expanded into multiple patterns. Each
|
|
403
403
|
pattern will then be parsed separately.</p>
|
|
404
|
-
<p>This is great for specifying complex combinations of patterns: <code>a{b,{c,d}}</code> &
|
|
404
|
+
<p>This is great for specifying complex combinations of patterns: <code>a{b,{c,d}}</code> –> <code>ab ac ad</code>. For simple patterns, it may
|
|
405
405
|
make more sense to use extended match patterns which will only generate a single pattern and be quicker to evaluate:
|
|
406
406
|
<code>@(ab|ac|ad)</code>.</p>
|
|
407
407
|
<p>Be careful with patterns such as <code>{1..100}</code> which would generate one hundred patterns that will all get individually
|
|
@@ -428,11 +428,11 @@ patterns.</p>
|
|
|
428
428
|
<div class="admonition example">
|
|
429
429
|
<p class="admonition-title">Example Brace Expansion</p>
|
|
430
430
|
<ul>
|
|
431
|
-
<li><code>a{b,{c,d}}</code> &
|
|
432
|
-
<li><code>{1..3}</code> &
|
|
433
|
-
<li><code>{a..d}</code> &
|
|
434
|
-
<li><code>{2..4..2}</code> &
|
|
435
|
-
<li><code>{a..e..2}</code> &
|
|
431
|
+
<li><code>a{b,{c,d}}</code> –> <code>ab ac ad</code></li>
|
|
432
|
+
<li><code>{1..3}</code> –> <code>1 2 3</code></li>
|
|
433
|
+
<li><code>{a..d}</code> –> <code>a b c d</code></li>
|
|
434
|
+
<li><code>{2..4..2}</code> –> <code>2 4</code></li>
|
|
435
|
+
<li><code>{a..e..2}</code> –> <code>a c e</code></li>
|
|
436
436
|
</ul>
|
|
437
437
|
</div>
|
|
438
438
|
<h4 id="full-path-matching">Full Path Matching</h4>
|
|
@@ -457,7 +457,7 @@ separately in <a href="preferences.html#search">Preferences</a>.</p>
|
|
|
457
457
|
<p>To learn more about full path matching with regular expression, checkout the regular expression <a href="#full-path-matching_1">section</a>.</p>
|
|
458
458
|
<h4 id="pattern-limit">Pattern Limit</h4>
|
|
459
459
|
<p>Glob style patterns, by default, allow expanding a pattern by splitting on <code>|</code> or expanding the pattern with brace
|
|
460
|
-
expansion: <code>a{b,c}</code> &
|
|
460
|
+
expansion: <code>a{b,c}</code> –> <code>ab ac</code>. This can turn one pattern into many patterns. The underlying expansion code limits
|
|
461
461
|
expansion to <code>1000</code> patterns. This limit can be configured in <a href="preferences.html#search">Preferences</a>. To raise or lower
|
|
462
462
|
the limit, simply set the value higher or lower. To disable the limit entirely, set it to <code>0</code>.</p>
|
|
463
463
|
<h3 id="regular-expression">Regular Expression</h3>
|
|
@@ -318,7 +318,7 @@ assumed this is not a binary replace, so a Unicode string is returned.</p>
|
|
|
318
318
|
</div>
|
|
319
319
|
<h2 id="export-to-csv-or-html">Export to CSV or HTML</h2>
|
|
320
320
|
<p><img alt="HTML Export" src="images/html_export.png" /></p>
|
|
321
|
-
<p>Rummage allows the exporting of the results to either CSV or HTML. Simply select <strong>File&
|
|
321
|
+
<p>Rummage allows the exporting of the results to either CSV or HTML. Simply select <strong>File–>Export</strong> and pick either
|
|
322
322
|
<strong>CSV</strong> or <strong>HTML</strong>. The HTML output will be styled similar to the GUI interface with the results in tables with
|
|
323
323
|
sortable columns.</p>
|
|
324
324
|
<div class="admonition info">
|
|
@@ -38,7 +38,8 @@ class ImportSettingsDialog(gui.ImportSettingsDialog):
|
|
|
38
38
|
"alert_enabled", "check_updates", "check_prerelease", "debug",
|
|
39
39
|
"notify_enabled", "single_instance", "extmatch",
|
|
40
40
|
"brace_expansion", "file_case_sensitive", "full_exclude_path", "full_file_path",
|
|
41
|
-
"globstar", "international_time", "matchbase", "minusnegate", "alt_list_color"
|
|
41
|
+
"globstar", "international_time", "matchbase", "minusnegate", "alt_list_color",
|
|
42
|
+
"autocomplete"
|
|
42
43
|
)
|
|
43
44
|
STRING = ("backup_ext", "backup_folder", "term_notifier", "editor", "notify_method", "notify_sound")
|
|
44
45
|
INTEGER = ("backup_type", "regex_mode", "regex_version", "patten_limit")
|