Open
Conversation
Improving results of the search by doing: - First show direct matches (weighted) - Second Show nonconsecutive anchored matches (weighted) - Third Show nonconsecutive non-anchored matches (weighted)
The consecutive name search now ignores special characters (space, -, _)
Refined filtering of search results:
- Consecutive finds are weighted higher than non-consecutive
- '*' disables anchoring
- '**' forces results to be un-anchored ('**blur' will return 'motionblur' but not 'blur')
- using '[' as the first character now also disables anchoring
- using ' ' (double space) still becomes '['
- using ' ' (space) still disables non-consecutive search.
Switch to explicit registration/unregistration functions
Colours each row with the node's default tile colour from Nuke preferences. Nodes that have no class-specific colour (i.e. those returning the global preference default) are left uncoloured. The tile colour is used as both the icon-column background and the text-area tint, matching the (left_block_color, text_tint_color) tuple API introduced in the core. Also syncs tabtabtab.py to the latest core.
One leading space: non-anchored fuzzy search. Two leading spaces: non-fuzzy consecutive substring search. Legacy * and [ prefixes remain unchanged.
Adds tabtabtab_prefs.py (JSON persistence at ~/.nuke/tabtabtab_prefs.json), tabtabtab_prefs_dialog.py (PySide6 dialog with enable/disable checkbox), and updates menu.py to conditionally register the Tab key action at startup and expose Edit > Tabtabtab Preferences... menu item. Toggling takes effect immediately without a Nuke restart.
Updates all documentation to reflect the current plugin architecture: plugin-path installation via menu.py, preferences system, node tile colors, current search mode prefix syntax, and keyboard shortcuts. Removes outdated curl install instructions, old Nuke 6.3/PyQt notes, and Foundry bug references.
… shortcut display - Rename tabtabtab.py to tabtabtab_nuke_core.py to avoid shadowing by other vendored copies (e.g. paste_hidden), making the import unambiguous - Add _extract_node_class_from_script() to parse the actual node class from a menu item's command string (handles nuke.createNode and createNodeLocal) - Add is_node flag to _find_nuke_menu_items() so menu commands (Edit > Copy etc) are distinguished from node-creating items; only nodes receive colour treatment - Store per-item metadata in NukePlugin._menuobj_metadata keyed by id(menuobj) so get_color() can look up is_node and actual_class without changing the API - Always draw the left colour block in _ItemDelegate.paint(), filling with a neutral grey when no colour is set, so text alignment is consistent across rows - Add display_text to scored items in NodeModel.update(), appending the shortcut in parentheses when present; fuzzy search continues to use the base name only
- New file: tabtabtab.py (vendored from tabtabtab-core) - Contains visual improvements and monitor fix
- Replace self.screen().geometry() with QApplication.screenAt(cursor) call - hasattr() fallback ensures compatibility with old PySide2 builds lacking screenAt() - tabtabtab_nuke_core.py is now byte-identical to tabtabtab-core/tabtabtab.py
- Remove tabtabtab.py (replaced by tabtabtab_nuke_core.py; generic name risks NUKE_PATH collision) - Remove data_test.py (orphaned dbr fixture; not imported by anything) - Remove UNLICENSE (license from original fork) - Remove TODO.md (items tracked in planning) - Add __pycache__/ to .gitignore (was missing)
- Create tests/__init__.py for pytest package discovery - Add tests/test_monitor_selection.py adapted from tabtabtab-core - Change core_module_path to point to tabtabtab_nuke_core.py (only change from core version) - All 3 tests pass: right monitor, left monitor, screenAt fallback
- Triggers on push and pull_request to any branch - Uses ubuntu-latest with Python 3.10 - Installs pytest and runs pytest tests/ -v
- Triggers on push of v* tags - Zips exactly 5 plugin files into tabtabtab-nuke-$VERSION.zip - Creates GitHub Release with zip attached via softprops/action-gh-release@v2 - Requires contents: write permission for release creation
- Full rewrite with anchored fuzzy matching explanation and comparison table - Screenshots section referencing imgs/ placeholder filenames - GIF demos section with three scenario placeholders - Complete search modes reference table including [ category search - Space-prefix repeat behaviour documented explicitly - Installation section listing all five required plugin files - Compatibility section: Nuke 13+ (PySide2) and Nuke 15+ (PySide6) - No changelog, no license section, no fork/dbr references
Adds 4 screenshots and 6 GIFs captured from a live Nuke session. Updates readme.md to reference actual filenames and adds non-anchored search screenshot and all GIF demos (choose-item, anchored, non-anchored, colours-icons, category-search, remember-previous). Removes old placeholder filenames and obsolete imgs (nuke_tab.png, tabtabtab.png).
… and LICENSE - Fix broken image alt text (escape [ in category search caption) - Update comparison table: Nuke does have usage weighting (corrected), add keyboard shortcuts row (tabtabtab yes, Nuke no) - Add Attribution section crediting dbr/tabtabtab - Add LICENSE file (The Unlicense / public domain)
This fork has been superseded by a standalone repository at https://github.com/charlesangus/tabtabtab-nuke All files removed; readme updated with redirect.
Open
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
This repository appears to be no longer maintained. I've been developing an active fork at https://github.com/charlesangus/tabtabtab-nuke which includes PySide6 support (Nuke 15+), node icons, colour blocks, many other improvements, and CI/CD.
This PR updates the README to redirect users to the maintained fork. All plugin files are removed to avoid confusion about which version to use. Happy to adjust if you'd prefer a lighter touch (notice only, files kept).