Releases: dlsdgj/Obsidian-file-ops-plus
Releases · dlsdgj/Obsidian-file-ops-plus
Release list
1.0.9
Added
- Editor menu footer info bar - Bottom-right footer shows plugin name + version + style pill + color pill; scroll wheel on pills cycles through styles/colors with flash animation and toast notification; footer hidden by default, fades in when mouse approaches bottom
- Folder support in settings panel - Folders in editor menu settings panel with tree-line connectors, collapse/expand, and drag-to-reorder; unified data model uses grp.items with type:folder elements
- Folder tiles in editor menu - Folders appear as tiles in the menu; folder position draggable between option tiles; hover shows a floating list (prototype F layout: icon + name + description inline)
- Independent prompt type - New standalone prompt type; AI subwindow no longer bound to prompt
- Text type datetime presets - Text type now supports date, time, datetime, timestamp presets
- Name highlight bar in folder list - List item names get a bottom highlight bar consistent with menu tooltip highlight style
Fixed
- Group title color readability - Added _fopPickTitleColor function to select the higher-contrast color (bg or fg) as the group title color against the panel background
- Folder drag insertion - Fixed bug where folders couldn't be inserted at new positions after dragging; option row dragover handler now also checks dragFolderState
- No-link hint removal - Removed no-link hint; association chip now shows 0
- Scroll position preservation - Full-text replacement now preserves page scroll position and cursor by saving/restoring editor scroll info
- Resize handle z-index - Fixed resize handle being blocked by footer trigger zone; resize handle now has z-index:3 above footer trigger and footer
1.0.8
1.0.8
Changed
- New file creation embedded in AI panel — Clicking New File button no longer opens a separate popup; instead the AI panel bottom button row is replaced inline with a filename editor (input + toggle + AI + confirm + cancel), candidate list pops up above the editor row; cancel restores the original button row
Fixed
- AI filename candidates source — AI-generated filename candidates now explicitly use the AI response content (not the selected text) as the basis for name suggestions
1.0.7
1.0.6
Added
- Stash panel — New stash feature for the editor menu: save selected text or clipboard content to a temporary list, click to insert into the editor; panel docks below the local relation list when present
- Stash add/clear buttons — + button in stash panel header adds selected text (or clipboard fallback) to the list; trash button clears all items
- Panel resize handles — Both local relation list and stash panels now have a bottom-right resize handle; panel width and height are persisted across sessions
- 27 color themes — Appearance tab now offers 27 preset color palettes
- 12 button styles — 12 visual style presets for menu tiles with distinct borders, shadows, and border-radius treatments
- Spacing controls — Adjustable button spacing and group spacing via numeric inputs in the Appearance tab
- README appearance section — Added Appearance Customization section to README with three screenshots
- i18n for appearance & file/tab menus — Added English translations for filename color, colorize, spacing, all 27 theme names, and 12 style names
Changed
- Stash toggle behavior — Stash tile in editor menu is now a pure show/hide toggle; adding text is done via the + button in the stash panel header
- Stash accordion + hover — Stash items now use accordion mode (expanding one collapses others) with hover-to-expand instead of click-to-toggle
- Settings panel tabs — Settings panel now has six tabs: Editor Menu / File Menu / Tab Menu / File Explorer / Appearance / Misc
- Memphis decorations on panels — Graph and stash panels now use overflow:visible so Memphis style corner decorations display fully
Fixed
- opts is not defined in file/tab menus — Removed erroneous opts.skipClose references from createFopMenuPanel finish function that caused ReferenceError when opening file or tab menus
- Graph/stash panel overlap on menu reopen — Stash panel positioning now uses requestAnimationFrame to ensure the graph panel updates its position first
- AI panel header drag — Fixed incorrect addBtn reference in the AI panel header mousedown handler
1.0.5
Added
- Searchable icon & command pickers - Settings panel icon selector and command dropdown now have a search popup with keyboard navigation
- Text type for editor menu - New text option type that inserts fixed text (supports {{text}} placeholder)
- Clipboard to new note action - New action clipboardToNote that reads clipboard text, prompts for filename, and creates a new note
- Floating ball offset setting - Selection hover ball position offset (X/Y) configurable via numeric inputs in settings
- Selection ball mouse-aware timing - Ball only appears after mouse release, positioned relative to mouse cursor
Fixed
- Config merge fallback mismatch - Onload config merge no longer overwrites user-added commands on restart
- Settings panel scroll jump - Deleting options and switching type no longer resets scroll to top
- Duplicate menu trigger - Hover ball no longer re-triggers menu when one is already open
- Stash panel toggle disabled - Stash panel checkbox disabled (feature under refactor)
1.0.4
1.0.3
1.0.3
Added
- Unified menu shell - Editor, file, and tab menus now share a common panel container (rounded corners, shadow, Esc/outside-click close, blank-area drag)
- Configurable file & tab menus - File and tab context menus are now fully configurable via the settings panel, with enable toggle, group add/remove/rename/color, item drag-to-reorder, action dropdown, icon and label customization
- Icons for file & tab menus - All file and tab menu actions now have lucide icons; each option's icon and label can be customized in settings
- Live preview for file & tab menus - Settings panel shows real-time preview for file and tab menu configurations, with show/hide group labels toggle
- Tab menu new actions - Added Copy, Move Up, and Move To. to the tab context menu
- AI Prompt type - New editor menu option type that sends selected text to an AI (OpenAI-compatible API) and displays the result in a non-modal floating panel with Copy/Insert/Replace buttons
- Selection hover ball - Selecting text in the editor shows a hover ball at the selection's top-right; hovering expands the editor enhanced menu
- cmd dropdown - cmd type now uses a dropdown listing all available Obsidian commands (sorted by name) instead of manual ID entry
- Set selection as title - New action that sets the selected text as the current document's title (strips illegal characters)
- Color palette add/remove - Color tag row now displays colors inline with a + button to add custom colors (color picker) and right-click to delete; custom palette is persisted
- Group labels in file & tab menus - File and tab menus now show group labels (configurable via show/hide toggle)
- Settings panel title - Title now includes plugin name and version
- Three settings tabs - Settings panel has three tabs: Editor Menu / File Menu / Tab Menu
Changed
- Button coloring - Menu buttons now have their own background and text color (matching editor menu style) instead of coloring the entire row
- Reset button placement - Reset to Default buttons moved to bottom-right of settings panel
- README - Comprehensive update with new features, option types table, and screenshot references
Fixed
- i18n missing keys - Added translations for Enable, Color, Add Color
1.0.2
- Pipeline type - Chain transforms with separator (e.g. Strip HTML->Merge Blank Lines), supports Chinese names, Tab inserts arrow
- Action type - Copy as Block Ref, Extract to New Note, Copy Heading Link
- Keystroke type - Record and replay keyboard shortcuts; supports modifier keys; usable in pipeline
- Flag tooltip - Hover on regex flag input shows flag meanings
- Custom dropdown - Custom transform uses dropdown selection
- Regex/pipeline without selection - Operates on entire document when no text selected
- Fixed: select truncation, keystroke modifier recording, synthetic KeyboardEvent ignored