# Zenith Filer User Manual

Zenith Filer is a dual-pane tabbed file explorer for Windows, designed for efficient file operations. It maintains an intuitive feel similar to the standard Explorer while offering advanced customization features for power users.

> **How to use this manual**: Click an item in the table of contents on the left to jump smoothly to the corresponding section. As you scroll through the text, the section you are currently reading will be automatically highlighted in the table of contents.

---

## 1. Screen Layout

![Main Window](../screenshots/main_default.png)

### 1-0. Startup Sequence
On first launch, a welcome window is displayed, guiding you through a feature introduction, theme selection, and EULA acceptance before transitioning to the main window. On subsequent launches, the main window appears directly, and a brief welcome animation (approximately 3.5 seconds) plays in the status bar (this can be turned off in the effects settings for instant display). Services (system tray, auto-update, etc.) are lazily initialized after rendering is complete, ensuring a smooth initial display.
- **Epithet Welcome Greeting**: On startup, the epithet earned through challenges is displayed as a welcome message in the status bar.

### 1-1. Title Bar
The main window's title bar displays the app name and version, followed by the full path of the folder in the **currently focused pane** (e.g., `Zenith Filer - C:\Users\...\Desktop`). When the path is empty or immediately after startup, only the app name and version are shown. Switching panes with the Tab key also changes the displayed path.
- **Level Banner**: Your level (Lv.), calculated from challenge XP, is shown in the title bar. Click it to open the challenge page (can be disabled in settings). When you level up, the banner pulses with an accent-colored glow effect.
- **Title Banner**: AI-generated titles earned through challenges are displayed in the title bar. Hover to see the backstory tooltip. Click to open the title history directly (can be disabled in settings). When a challenge is completed, the title banner also pulses with an accent-colored glow effect.
- **Icon Hover Color**: Title bar icon buttons (settings, manual, etc.) change to a theme-aware color on hover.
- **Feedback Button**: A feedback button is included in the title bar icon group. Click it to go directly to the feedback page in app settings.
- **AI Manual Button**: An AI Manual button is placed next to the manual button, providing direct access to the AI Manual.
- **Window Recovery Menu**: The title bar system menu (right-click) includes "Move to main display" and "Move to cursor display" options. Use these to recover the window when it moves off-screen. The same options are available from the taskbar right-click JumpList and the tray icon menu.

### 1-2. File Panes (Pane A / Pane B)
The main area consists of two independent file display regions (panes) arranged side by side. Each pane supports tabbed browsing.
- **Tab feature**: Open multiple folders as tabs and switch between them while working.
- **Pane A (left) / Pane B (right)**: Each operates independently, and you switch focus by **clicking** or pressing `Tab`. The focused pane (A/B only; the nav pane is excluded) has a slightly darker background with black text. The upper menus (tab header, action row, address bar) are displayed in a slightly darker shade than the list area, making it easy to identify which pane is active.
- **Pane header (2-row layout)**: The header at the top of each pane has a **2-row structure**. The first row is the action row, organized into 5 groups separated by dividers: **Navigation** [Back/Forward/Up], **Shortcuts** [Home/Desktop/Downloads], **Create & Edit** [New Folder/Import Folder], **Manage** [Refresh/Open in Explorer], and **View Settings** [Adaptive Columns/Folders First]. The **Home** button navigates to the folder set in app settings. If not configured, Pane A goes to Desktop and Pane B goes to Downloads. On the far right is a **search box**. Type a keyword and **press Enter** to execute the search (results appear in a new tab or the current tab depending on your search behavior settings). Inside the search box on the right, the hit count is displayed in real time, allowing you to see results immediately. While searching, the list column layout switches to a dedicated set (Name, Location, Path, Date Modified, Size). You can click these headers to sort search results by each field. You can also drag column header borders to freely adjust column widths, or double-click to auto-fit (AutoFit). Manual adjustment disables automatic width scaling to window size. The Path column is optimized for width and prioritizes showing the end of the path. The second row normally displays the address bar (breadcrumb/path input) spanning the full width as the "address bar row," maintaining a **consistent layout** regardless of mouse operations or icon count. On the left end of the address bar is an "Edit path" button (pencil icon), and on the right are an "Add to favorites" button (star) and a "Copy path" button, each accessible with a single click. **During a search**, the address bar is replaced by a **filter bar** that lets you narrow search results by file type.
    - **Search history dropdown**: When you **focus** the search box, past search keywords (up to 100) are displayed in a dropdown. A **magnifying glass icon** indicates keywords searched via normal search, while a **lightning bolt icon** indicates keywords searched via index search. The same keyword is shown as separate entries for normal and index search. Additionally, the same keyword with different size or date filter conditions is recorded as a separate history entry. Selecting an item from the history (by clicking or pressing Enter) automatically switches to the search mode (normal/index) and filter conditions from when the history was recorded, and re-executes the search with that keyword. While the history is displayed, press the **down arrow** to move focus to the list, then use up/down arrows to navigate and Enter or click to select. The up arrow while the search box is focused does not move to the history. **When a search is executed by pressing Enter, the search history dropdown automatically closes.**
    - **Search filter bar**: When a search is executed, the address bar on the second row is replaced by a filter bar. You can narrow results by file type using checkboxes for Folders, Excel, Word, PPT, PDF, TXT, EXE, BAT, JSON, Images, and Others. The "Select All" button on the left shows all types, and the "Deselect All" button hides all types. Files of unchecked types are not shown in the search results. **Filter selection state is saved to settings.json and automatically restored on the next search and after app restart.** You can clear search conditions with the X button on the right of the search bar or the Esc key.
    - **Breadcrumb bar**: Displays the current path as buttons for each folder level. Click any level to navigate directly to that folder. **Drag selected items from the file list and drop them on a specific breadcrumb segment** to copy or move them to that folder (left-drag with Ctrl to copy, without Ctrl to move; right-drag shows a menu for selection). Clicking the **down arrow** to the right of each level shows a dropdown listing immediate subfolders, and selecting one navigates to that folder (same behavior as Windows Explorer). When the path is too long to display, leading levels are automatically truncated ("...").
- **Horizontal scrolling**: In areas that can scroll horizontally, such as the file list and breadcrumb bar, you can scroll horizontally using the mouse wheel's left/right tilt.
- **Showing truncated levels**: Click the truncation button ("...") to display hidden levels in a dropdown menu, allowing you to select and navigate to them.
- **Path edit mode**: Click the "pencil icon (toggle)" on the left end of the address bar, or click the empty area of the bar, to switch to a mode where you can directly type a path. When turned on, the pencil icon changes to a right-arrow icon (to return to breadcrumb view). Since the mode toggle icon is fixed on the left side, you can always switch at the same position even during path editing. The "open folder icon" on the right side of the bar opens the current folder in Explorer, and the "import icon" imports the folder currently displayed in Explorer into the app.
- **Overlay scrollbar**: The vertical scrollbar for the file list overlays the content (such as the Size column). This means the file name column width remains stable even when the scrollbar appears, providing a consistent layout.
- **Add to favorites button (star)**: Located to the right of the address bar in each A/B pane (to the left of the copy button). Clicking it opens an "Add to Favorites" dialog where you can enter a name and optional description to register. On successful registration, the nav pane automatically switches to the favorites view, and the added item is temporarily highlighted. Registration is possible even when the favorites view is locked.
- **Top-bottom dual-pane split**: The layout toggle button on the status bar now supports a top-bottom split in addition to the traditional side-by-side layout. You can also switch to single-pane mode (shortcuts: Ctrl+1 for single pane, Ctrl+2 for side-by-side, Ctrl+Shift+2 for top-bottom).

### 1-3. Nav Pane (Sidebar)
The area on the left side of the screen, where you switch between the following 4 modes using radio buttons on the left. App settings can be opened as a full-screen overlay "Control Deck" via the gear icon on the right (default: Ctrl+Shift+O).
- **Favorites View (default: Ctrl+Shift+1)**: Register and organize frequently used folders and files. You can register items via drag & drop and create hierarchies using virtual folders. Each folder can have an **optional description** to help distinguish similarly named folders (e.g., "BOX scripts (for weekly reports)"). Enter a keyword in the **search box** at the top of the list to filter the display (during search, the tree hierarchy is removed and matching items are shown as a flat list). **Search mode** can be toggled via the button at the bottom-right of the nav pane (to the left of the nav width lock). In **Name & Description** mode, items match when the keyword is found in the folder name or description. In **Full Path & Description** mode, items match when found in the full path or description. Clear the search with the Esc key or the X button on the right of the search box.
- **Tree View (default: Ctrl+Shift+2)**: Displays all drives and folder hierarchies on the PC in a tree format. Each folder is uniquely identified by its full path, preventing duplicates and ensuring a complete listing. When folders are created, renamed, moved, or deleted in the A/B pane file list, the tree is immediately updated to reflect the file system state. When switching to this view, the nav pane width expands with an animation to prevent deep paths from being truncated; switching back to favorites smoothly returns it to the original width. Only when the tree view is displayed, a **Tree View Lock** button (padlock) appears at the bottom-right, which when locked prohibits folder drag & drop, rename (F2), and delete (Delete). Attempting a prohibited operation follows the **nav pane lock specification**: a message "Could not perform operation because the view is locked." appears in the status bar, and a flashing padlock with an arrow prompt is shown.
  - **Tree view operations (click and display target)**: Each folder row consists of an **expand arrow** and the **row body (icon and folder name)**. Operations are as follows:
    - **Single click**: Clicking anywhere on the row only **selects** that folder. It is not displayed in the pane.
    - **Clicking the expand arrow / Double-click on arrow**: Clicking or double-clicking the arrow (triangles) only **expands or collapses the tree** without displaying in the pane. Use this when you want to toggle expansion regardless of whether the folder has children.
    - **Double-click on row body**: Double-clicking the icon or folder name area displays that folder in the **currently focused pane**. The tree's expansion state is not changed (to prevent accidental collapsing).
    - **Ctrl+Double-click**: Ctrl+double-clicking the row body displays that folder in the **opposite pane**. In single-pane mode, it automatically switches to dual-pane mode.
    - **Enter key**: With a folder selected, pressing Enter displays that folder in the **currently focused pane**.
    - **Shift+Click**: Shift+clicking a folder displays it in the **currently focused pane** in **large icon (icon view)** mode.
    - **Shift+Ctrl+Click**: Shift+Ctrl+clicking a folder displays it in the **opposite pane** in **large icon (icon view)** mode. In single-pane mode, it automatically switches to dual-pane mode.
    - **Right-click menu**: Right-clicking a folder shows options like "Show in Pane A" and "Show in Pane B". Use this to explicitly specify the display target.
  - Hovering over each folder shows a tooltip explaining the above operations.
- **Browse History (default: Ctrl+Shift+3)**: Displays a history of previously accessed folders organized by date. Date groups are shown with the day of the week (e.g., "2026/02/04 (Wed)"). Typing a keyword in the search box at the top searches the entire history and displays results in a flat list sorted by access date (descending) while input is active. When switching to this view, the nav pane width expands with an animation to prevent horizontal scrolling; switching back to favorites smoothly returns it to the original width. The width during favorites view can be changed with the splitter and is saved to settings. A trash can (clear history) button for deleting all browse history is located at the **bottom-right** of the history view. Width changes during view transitions are performed with a smooth animation of approximately 0.4 seconds.
- **Recently Opened Files**: Displays up to 100 files opened in the A/B panes. Click column headers (Name / Date Opened / Count) to toggle sort order between ascending and descending. Enter a keyword in the search box at the top to filter by file name or path (clear with Esc key or X button). From the right-click menu, choose "Open again" to reopen a file, "Open containing folder" to show the file's location in Explorer, or "Show parent folder in Pane A/B" to display the folder in the corresponding pane. Use the trash can button at the bottom-right to clear the history.
- **Index Search Settings (default: Ctrl+Shift+4)**: Register and manage folders to be included in index search. When switching to this view, the nav pane width expands with an animation, and switching back to favorites smoothly returns it to the original width. Use "Add Folder" to select a folder from the tree, or "Add Current Folder" to add the folder currently displayed in Pane A/B. When you select "Search this folder with index search" from the file list or folder context menu, unregistered folders are automatically registered, the view switches to this panel, and the added item is temporarily highlighted. Select an item in the list and use the "Delete" button or right-click menu to remove it. The right-click menu also offers "Rebuild Index" to delete and recreate that folder's index from scratch (reflecting deleted files), and "Incremental Update" to reflect only new and updated items without deleting existing ones. Selecting "Verify Index Registration" automatically lists the folder's registered contents in a new tab in Pane A (tab name: "Verification: (folder name)"; notified in the status bar when loading completes). The registered list is saved to settings and restored on next launch. Folders registered here are used as search targets for index search (Ctrl+Shift+F). The **Index Status** block displays the current state (Index Complete / Incremental Update In Progress / Paused) and total count. "Create Unindexed" manually indexes only folders that have never been indexed, "Pause" stops index creation, and "Resume" resumes it (search remains available while paused). For Box folders, a warm-up operation (prompting stub generation) is automatically performed before scanning begins, so indexing completes without manually opening the folder. From the menu (three dots), "Execute Full Rebuild..." re-indexes all folders from scratch, and "Open Index Settings" opens the index-related options in the settings view. Each folder row shows a folder icon on the left, the folder name (bold) with the last index completion date ("Last updated: 2026/02/27 08:05" format) in the center, and a status badge on the right. Statuses include "Creating... (count)" (spinning animation + blue emphasis), "Waiting" (light italic), count + checkmark (complete), and "Not Created" (amber color), letting you see at a glance which folder is being processed and when it was last updated.
- **App Settings (Ctrl+Shift+O)**: Click the gear icon on the right side of the nav pane (to the left of the manual icon) or press `Ctrl+Shift+O` to toggle. When switching to this view, the nav pane width expands with an animation, and switching back to favorites smoothly returns it to the original width. **1. General** includes **Context Menu** settings where you can select the menu displayed when right-clicking in the file list. "App Custom Menu (Recommended)" instantly shows basic operations like open, copy, delete, rename, favorites, and index search; you can access the Explorer-compatible menu via Shift+right-click or by selecting "Show Explorer Context Menu" within the menu. "Explorer Compatible Menu" shows Windows standard right-click menus including shell extensions like 7-Zip. Home addresses for Pane A and Pane B are also configured here. "Set to displayed folder" sets the currently displayed folder in A/B pane as home, and "Select folder" lets you choose a folder via dialog. **Operations** includes "Open folders with single click" (when on, single click navigates into folders; when off, double-click is required), "Show confirmation dialog when deleting files" (when off, items go to the recycle bin without shell confirmation), and "Restore previous tabs on startup" (when off, only the home folder opens on startup). **Display** includes "Show path in title bar" (shows the focused pane's full path in the title bar), "Show file extensions" (when off, hides extensions from file names), "Show hidden files and folders" (toggles display of Windows hidden attribute files), and "Sort Downloads folder by date modified" (when on, automatically sorts by newest modified date when navigating to the Downloads folder, reverting to the original sort when navigating elsewhere). **Resident mode**, when enabled, minimizes the app to the system tray instead of closing when the X button is clicked. Double-click the tray icon to restore, and use "Exit" from the right-click menu or `Ctrl+Alt+F4` to fully close. **Notification display duration** lets you choose from Short (1.5s), Standard (3s), or Long (5s). **2. Search (Search UI)** offers **Search behavior** with 3 patterns for where search results are displayed: "Same pane, new tab" opens results in a new tab with Enter (default behavior); "Same pane, instant search in current tab" shows results in the current tab with Enter, clearing the search returns to the list; "Opposite pane, new tab" shows results in the opposite pane with Enter, automatically switching to dual-pane when in single-pane mode. **Path click behavior in search results** offers 3 patterns for clicking the path column in search results: "Show in same tab" switches from search results to normal list view; "Same pane, new tab" opens a new tab in the same pane (traditional behavior); "Opposite pane, new tab" opens in the opposite pane (automatically switching to dual-pane in single-pane mode). **Search display settings** includes "Automatically switch to single-pane mode when searching" which, when enabled, automatically switches to single-pane mode during search to display results in a wider view. When searching from Pane B, the search tab is moved to Pane A. **3. Index (Indexing & Freshness)** offers **Index update timing and load** settings for when and at what intensity indexes are updated. "Automatically incorporate changes" monitors file changes and performs immediate incremental updates. "Update at regular intervals" rescans all registered folders at 1h/2h/4h/1day intervals. "Update only when needed" only updates when you press "Create Unindexed" or "Full Rebuild..." in the index view, without automatic indexing at startup or when folders are added. **Performance and load** includes "Update index in power-saving mode" to reduce CPU and disk usage with throttled processing, and "Process network drives gently" to process UNC and mapped drives more slowly than local drives, reducing network bandwidth and server load. **Full re-index minimum interval** prevents actual full scans from running more frequently than the specified interval (6h/12h/24h) even when manually triggered. **Search result freshness** includes "Keep as up-to-date as possible (freshness priority)" which, when enabled, starts background incremental updates and unindexed creation for all target folders in parallel with the search. "Show message when index may be stale" displays a warning message in the search results view when unindexed folders exist. Displayed warnings can be dismissed with the X button on the right. **6. Display** includes **Default view for new tabs** where you can set "Show folders first" and default sort order (Name/Date Modified/Size/Extension, Ascending/Descending). This applies to new tabs opened via Ctrl+T or by specifying a path, but not to search result tabs (existing tabs are unaffected). **File list row height** can be set to Ultra Compact (20px), Compact (24px), Standard (32px), or Relaxed (40px). Changes are immediately reflected in both A/B panes and persist after app restart. **7. Effects** categorizes visual effects into 9 categories, each controllable with ON/OFF toggles: **A. Startup & Global** (welcome animation, loading overlay), **B. GlowBar** (progress bar fade, interpolation, glow), **C. Scan Bar** (scan bar during folder loading), **D. Tab Operations** (tab indicator slide, content fade, D&D markers), **E. Pane Transitions** (pane fade, Control Deck open/close, sidebar width animation), **F. Theme** (theme transition overlay, theme toast notification), **H. Quick Preview** (preview open/close animation), **I. File List** (hover effects, context menu animation), **L. Drag & Drop** (drag adorner display). Turning off a category skips the corresponding effects, which may improve performance. Settings are restored on next launch. Automatic migration from legacy settings (micro-animations, list display animations, welcome animation) is supported. **8. Shortcut Keys** lets you customize keyboard shortcuts for 25 types of actions. Simply click an action's input field and press a key to change it, with individual reset options. The **Export** button writes current key binding settings to a JSON file, and the **Import** button reads from a JSON file for bulk application. Useful for migrating settings to other environments or creating backups. **9. AI** configures the API used for AI features such as automatic theme generation. **Provider** lets you choose from Claude, OpenAI, Azure OpenAI, or Gemini. Enter your provider's key in the **API Key** field and click "Save" to store it. Keys are encrypted with DPAPI and stored locally — they are never sent externally. Click "Clear" to remove a saved key. When Azure OpenAI is selected, an **Endpoint** field appears where you specify your Azure resource URL. The **Test Connection** button verifies the API key is valid. **Model** lets you select from available models for the chosen provider via a dropdown (if empty, the provider's default model is used). **10. Statistics** displays usage counts for 21 types of actions including search, file operations, tab operations, and theme changes. The "Reset" button clears all statistics. A Top 50 Folders ranking (most frequently viewed folders) is also displayed. **11. About** shows the current version, update notes for this version (automatically retrieved from the CHANGELOG), and auto-update settings. Use the "Enable auto-update" checkbox to toggle periodic checks ON/OFF, the "Check for updates" button for manual checks, and after a new version download completes, a "Restart and apply" button appears.
- **Favorites "Frequently Used" section**: When there are 6 or more favorite items, a "Frequently Used" section appears between the search bar and the tree. It compactly displays the top 5 items scored by access frequency and recency from the history DB. Double-click to navigate, middle-click to open in a new tab, right-click for Pane A/B selection. The pin icon (Pin/PinOff) in the toolbar toggles visibility, and the setting is restored on next launch. Automatically hidden during search.
- **Favorites "Recently Added" section**: Below the "Frequently Used" section, displays up to 5 favorite items registered within the last 7 days. Each item shows a relative date (Today, Yesterday, N days ago). Double-click to navigate, middle-click to open in a new tab, right-click for Pane A/B selection. The Clock icon in the header toggles visibility, and can also be toggled from the favorites settings dialog. The setting is restored on next launch. Automatically hidden during search.
- **Favorites alphabetical sort**: The Tree/ABC toggle icon (FolderTree/ArrowDownAZ) in the favorites view header switches between manual tree order and alphabetical flat list. In alphabetical mode, all non-container items are flattened and sorted alphabetically (Japanese kana-aware), with the file path shown as a subtitle below each item name. Double-click to navigate, middle-click to open in a new tab, right-click for Pane A/B selection, and drag operations are supported. The "Frequently Used" and "Recently Added" sections are hidden in alphabetical mode. The setting is restored on next launch.
- **Color Tags**: Assign one of 7 color labels (Red, Orange, Yellow, Green, Blue, Purple, Gray) to favorite items for visual categorization. Right-click an item and select a color from the "Color Tag" submenu to display a colored dot to the left of the item name. Select "None" to remove the tag. Color dots are shown across all views: tree, pinned (frequent), recently added, alphabetical sort, and search results. Type `tag:red` in the search box to filter items by color tag (use English color names: red, orange, yellow, green, blue, purple, gray). Typing just `tag:` shows all tagged items. Settings are persisted in JSON and restored on next launch.
- **Expand All / Collapse All**: Right-clicking in the empty area of the favorites tree shows "Expand All" and "Collapse All" menu items. These change the expansion state of all virtual folders (containers) in the tree at once.
- **Favorites search mode**: When in favorites view, a search mode toggle button (Type/Route icon) is located at the **bottom-right of the nav pane, to the left of the nav width lock**. When off, matches by "Name & Description"; when on, matches by "Full Path & Description". The state is restored on next launch.
- **Favorites settings dialog**: Open the dialog from the gear icon in the favorites view header. Allows changing font family, font size, toggling display of descriptions/tree lines/access count bars/item count badges, delete confirmation, and lock settings. Item count badges show the number of leaf items inside virtual folders (containers). Changes are applied in real time.
- **AI Favorites Organizer**: Open the dialog from the Sparkles icon in the favorites view header. Instantly displays statistics (total items, broken links, folders, ungrouped items) and provides the following actions:
  - **Remove broken links only**: No AI required. Batch removes items with non-existent paths.
  - **Organize with AI**: AI analyzes the tree structure and suggests removing broken links, grouping related items into folders, logical sorting, and auto-tagging descriptions for searchability. Review the change preview before applying. You can also provide instructions (e.g., "Group by project").
  - Tags are added to each item's Description in "AI: tag1, tag2" format, improving search discoverability. Existing descriptions are preserved with tags appended.
  - Pro feature (free version limited to 2 times per day).
- **Bottom dock**: When the nav pane is split into top and bottom sections, a dock toggle icon appears at the right end of the bottom section header. When enabled, the bottom section auto-sizes to fit its content (GridSplitter hidden) while the top section fills all remaining space. Useful for fixed-height views like Properties or Recent Folders. The setting is persisted per item and restored on next launch.
- **Properties view**: The "Properties" drop item in the nav pane displays properties (full path, size, type, modified date, created date, attributes) for the selected file or folder in the A/B pane. The full path field has a fixed 6-line height; longer paths can be scrolled. A copy button allows copying the path to the clipboard. When no item is selected, it automatically shows the active pane's current folder properties.
  - **Startup greeting**: For 5 seconds after launch, a time-based greeting message (6 patterns: morning, late morning, afternoon, etc.) is displayed, then fades out to show current folder properties.
  - **AI greeting**: Open settings via the gear icon in the Properties header and enable "Generate message with AI" to have AI create an original motivational message matching the time of day. The message is output in the language matching your app's language setting. While waiting for the AI response, "Preparing..." is shown, then the message smoothly fades in and displays for 5 seconds.
  - **Greeting tone adjustment**: Adjust the AI greeting tone across 7 levels (casual to formal). Configure this from the Overview tab in AI settings.
  - Settings are accessible from the gear icon in the Properties view header and are restored on next launch.
- **Nav pane auto-width**: The nav pane width can be adjusted manually, or set to auto-adjust to fit its content.
- **Nav pane bottom dock**: Views can be split into top and bottom sections in the nav pane. Docking a view to the bottom section keeps it always visible, unaffected by view switching in the top section.
- **Nav width lock**: Only in favorites view, a panel icon toggle (open panel / closed panel) is displayed at the bottom-right of the nav pane. When turned on, the nav pane width cannot be changed with the splitter. Automatic expansion when switching to tree or history views remains active even when locked. The state is restored on next launch.
- **Nav pane lock specification (common)**: Both favorites lock and tree view lock follow the same specification. When a prohibited operation is attempted while locked, **no popup is shown**; instead, the **status bar** displays "Could not perform operation because the view is locked." and a flashing arrow animation appears near the padlock icon for approximately 3 seconds, prompting unlock. Even during the animation, clicking the padlock immediately unlocks and stops the flashing.
- **Lock functions are independent per view**: **Favorites lock** restricts only virtual folder creation, deletion, and reordering within the **Favorites View (Ctrl+Shift+1)**. Registration, renaming, and description changes are still allowed when locked. **Tree view lock** is shown as a padlock icon at the sidebar bottom-right only when the **Tree View (Ctrl+Shift+2)** is displayed, prohibiting folder drag & drop move, rename (F2), and delete (Delete). You can lock favorites and still organize folders in tree view, and vice versa.
- **Terminal Tabs (A/B Pane)**: Click the SquareTerminal icon in the file list tab bar to add a terminal (PowerShell) tab within A/B panes. Launches with the currently displayed folder as the working directory, enabling seamless switching between file browser tabs and terminal tabs. Multiple terminal tabs can be open simultaneously and work with working sets. In the free version, creating new terminal tabs is limited to 3 times per day (shared count with nav pane terminal).
- **Terminal View (Nav Pane)**: Displays an embedded terminal (PowerShell) in the nav pane. You can directly execute CLI tools (Claude Code, etc.) using the folder currently viewed in the A/B pane as the working directory. In the free version, creating new terminal tabs is limited to 5 times per day.
  - **Tab management**: Manage multiple terminal sessions via the tab bar at the top. Use the "+" button to add a new tab, and the "X" button on each tab to terminate the session. Each tab has an independent PowerShell process.
  - **Full-featured terminal**: A full-fledged terminal emulator supporting ANSI colors, mouse operations, scrollback (5000 lines), URL clicking, and more.
- **Terminal Common Features (All Panes)**:
  - **A/B cd dropdown**: All terminals (A/B pane and nav pane) have "A cd" and "B cd" buttons in the action bar. Click to show a dropdown of the corresponding pane's folder tabs, then select a folder to instantly `cd` to it. Leveraging the dual-pane file manager design, any terminal can access folders from both panes.
  - **Per-pane settings**: Click the gear icon at the right end of the action bar to open a settings popup. Configure font family, font size, background color, foreground color, and theme sync independently per pane. Color picker provides real-time preview.
  - **Sync all terminals option**: The "Sync all terminals" checkbox in the settings popup toggles between sharing settings across all panes or keeping them independent. Default is shared (ON). Turn OFF to give the current pane its own independent settings.
  - **Theme integration**: Enable "Use theme colors" to automatically match terminal colors with the app theme. When disabled, custom colors are preserved.
- **View name headers and badges**: Each view displays its name as a header at the top. Views with AI features show a purple **AI badge** (Sparkles icon), and Pro (licensed) features show an orange **Pro badge** (Lock icon) in headers and the nav pane icon bar. Badge dot visibility can be toggled in Settings > General > "Show badge dots" (ShowBadgeDots).
- **AI Folder Organizer**: A view where AI analyzes the focused pane's current folder and suggests organization actions (folder creation, file moves, renames).
  - **Analyze**: Press the "Analyze" button to send all items in the folder (name, type, size, date) to AI for organization suggestions. You can also type additional instructions (e.g., "organize photos by year and month") in the text input.
  - **Proposed Actions**: AI proposals are displayed as a checklist. Three action types are available: folder creation, file move, and rename, each individually selectable. The "Select All" button toggles all at once.
  - **Execute**: Press "Execute" to batch-execute selected actions. A confirmation dialog appears before execution, and GlowBar shows progress.
  - **Undo**: Executed operations can be undone all at once with Undo (Ctrl+Z).
  - **Safety**: Validates that paths are within the current folder, checks for name conflicts at destinations, and verifies the folder path matches between analysis and execution time.
- **AI Manual**: A chat-style help view where you can ask questions about the app in natural language. It automatically searches the manual and generates answers. Responses are rendered in Markdown (headings, bold, bullet lists, code blocks), and long answers are split into multiple bubbles by section. Retains conversation history (last 3 exchanges). Pro feature (free version: 3 uses/day).
- **AI Tab Management**: A view that scores tab usage patterns (access frequency, dwell time, recency) and suggests tab organization. Visualizes each tab's status with lock recommendation (green indicator) / close recommendation (orange indicator). "Apply all" enables batch operations. Also performs working set auto-detection (A+B pane co-occurrence patterns) and related folder suggestions (detected from co-occurrence history). Each suggestion type can be individually toggled ON/OFF. Pro feature (free version: 3 uses/day).
- **Tab List View**: Lists all tabs from Pane A and Pane B, with drag-and-drop reordering. Tab activity (time spent) is visualized with progress bars, and AI-recommended tabs are marked with dot indicators. If the current tab layout matches a saved working set, a badge is displayed and you can save it with one click. In single-pane mode, only Pane A tabs are shown. Each pane header includes a + button for creating new tabs. Tabs can also be dragged from the pane tab bars into the Tab List view for reordering and cross-pane moves. You can drop folders from Explorer or the nav pane (favorites, history, frequent folders, tree) to create new tabs.
- **Preview View**: A persistent preview pane for the currently selected file. Supports images, text, PDF, Markdown, SVG, and video thumbnails. Code files are displayed with syntax highlighting via AvalonEdit, and Markdown files are rendered. For image files, EXIF metadata (capture date, camera info, etc.) is also shown in the properties pane.
- **Layout Presets**: Save and restore nav pane view arrangements as presets. Four built-in presets are available (Standard, Search-focused, AI-focused, and Minimal), and you can save the current arrangement as a custom preset.

### 1-4. Help & Document Viewer
You can open the app's help window (comprehensive document viewer) from the "Manual" icon on the right side of the main window's title bar. Alternatively, launching **ZenithDocViewer.exe** included in the distribution folder opens just the manual and changelog viewer without starting the main app (it doesn't load the DB or indexes, making it lightweight and convenient for reviewing documentation beforehand).

- **Comprehensive document viewer**: A viewer that lets you **switch between viewing "User Manual" and "Changelog" within a single window**. **Scroll positions are maintained independently** for the manual and changelog, so switching tabs resumes from where you left off.
- **Top header**:
  - The app name and document icon (BookOpen) are displayed on the left.
  - Two segment buttons, "Manual" and "Changelog," are in the center area; click to switch content. The selected mode is highlighted with the same accent color (blue) as the file list.
  - A keyword search box is on the right (for future highlight extensions). Entered text is retained as the search query within the document viewer.
  - The "X" button on the far right closes the window, just like the Esc key.
- **Left pane (Table of contents)**:
  - In manual mode, headings from `H1` to `H3` are automatically parsed and displayed as a hierarchical list (e.g., "1. Screen Layout", "2. Basic File Operations").
  - In changelog mode, version headings (e.g., `## [0.3.66] - 2026-02-06`) generate labels like `v0.3.66` for the list. Adding " : summary" at the end of the heading will also display that content in the table of contents. Items are listed from newest to oldest (descending).
  - In both modes, clicking an item smoothly scrolls the right pane to the corresponding section, and the currently viewed section is automatically highlighted as you scroll through the body text.
  - The left pane width is adjustable via splitter, and the scrollbar is positioned on the right edge. The window and left pane are displayed large by default, making long headings less likely to be truncated.
- **Right pane (Body text)**:
  - A common Markdown-based rendering engine is used for both the manual and changelog, providing unified styling with **a touch of blue accent color**, table padding, `kbd`-like shortcut notation, line spacing, and bullet design.
  - "Added," "Changed," "Fixed," and other list items in the changelog also have the same readable line spacing and blue dots as the manual, delivering a consistent documentation experience.
- **Controls and shortcuts**:
  - Press Esc or the "X" button on the header right side to close the window.
  - Manual/Changelog switching is done by mouse click (keyboard shortcuts do not interfere with those on the main window side).

### 1-5. Status Bar
The area at the bottom of the screen displays the following information and allows setting changes.
- **Notification messages (center)**: When operations such as file copy, move, or favorites registration are completed, a message fades in at the center. It automatically disappears after 3 seconds.
- **Window placement controls**: Buttons on the left end of the status bar let you quickly change window placement.
  - **Snap to left half**: Snaps the window to the left half of the screen.
  - **Maximize**: Expands the window to fill the screen (press again to restore original size).
  - **Snap to bottom half**: Snaps the window to the bottom half of the screen.
  - **Snap to right half**: Snaps the window to the right half of the screen.
  - **Snap to bottom-left (1/4 screen)**: Snaps the window to the bottom-left quarter of the screen.
  - **Snap to bottom-right (1/4 screen)**: Snaps the window to the bottom-right quarter of the screen.
- **Behavior when dragging out of maximized state**: When dragging the title bar to undock from maximized state, the window resizes to the previous normal size if available, or to approximately 75% of the current display's work area width with a roughly 16:10 aspect ratio. The window position is adjusted so the mouse cursor is near the horizontal center of the title bar, allowing seamless continued dragging.
- **Automatic rescue in multi-display environments**: Zenith Filer detects when the display configuration differs from the previous session. If the saved window position does not intersect any currently connected display, it is determined to be "off-screen" and the window is automatically repositioned to the center of the main display's work area at an appropriate size. This means you never need to use Alt+Space+M to find the window, whether transitioning from a 3-monitor home setup to a 2-monitor office or a single-monitor cafe.
- **Item information**: Displays the number of currently selected files and the total file size.
- **Screen split toggle**: Switch between single-pane mode (Pane A only) and dual-pane mode (both Pane A and Pane B) with a button. The default is dual-pane mode.
- **Layout toggle button**: A button at the right end of the status bar lets you cycle between single-pane, side-by-side dual-pane, and top-bottom dual-pane layouts. The current layout is indicated by an icon.
- **Nav pane visibility toggle**: Left and right nav panes can be independently shown or hidden. The status bar has two toggle buttons: "Left nav" (PanelLeft icon) and "Right nav" (PanelRight icon), each toggleable independently. The right nav button only appears when the right nav has items. When hidden, the file panes expand to fill the freed space.
- **Progress indicator types**: Zenith Filer uses 3 types of progress indicators depending on the nature of the operation.
  - **Spinner**: A small rotating animation on the right side of the status bar (to the left of the log folder button). Displayed during general async operations with indeterminate duration, such as file search, loading, and CSV export scanning.
  - **Scan bar**: A horizontally expanding line at the very top of the status bar. Accompanied by status messages like "[CSV Export Preparing] Physically scanning folder for latest information..." and displayed during large-scale scans where completion time is unpredictable. May appear simultaneously with the spinner.
  - **GlowBar**: A thin glowing progress bar (accent color + cyan glow) displayed at the very top of the status bar during file copy and move operations. Reflects progress in real time based on byte and item counts. When canceled, the bar rapidly accelerates back from its current position to 0% with a "vacuum" effect (reverse animation) before fading out.
- **Indexing indicator**: During index creation, a progress message ("Indexing: XX items (folder name)") with a rotating animation is displayed on the right side of the status bar. Separate from the general loading indicator, a dedicated progress display appears during creation. If resumed after interruption, the count continues from the previously registered number, making it clear that processing was resumed partway. Clicking this icon displays a confirmation dialog; selecting "Yes" cancels the index creation. After restarting the app, incomplete indexes for registered folders are automatically resumed. When creation completes, the status bar shows "Added XX items to index."
- **Always on top**: Click the pin icon to keep the window always in front of other windows. Popups opened from the app (rename input, manual, changelog, etc.) still appear in front of the main window when pinned.
- **View mode toggle**: In each pane's toolbar (icon group above the address bar), to the right of "Import Folder" and left of "Auto-fit Columns," there are buttons for list view (Rows3 icon) and three icon sizes (small, medium, large). Clicking list view switches to the detailed list (columns for Name, Date Modified, Type, Size, etc.). Clicking any of small/medium/large switches icon display size, with the selected mode highlighted on the button. Icon mode uses an Explorer-like layout with clear size differences between large/medium/small icons, with comfortable margins from pane edges. Items are packed together with whitespace collected at the right edge to avoid a cramped appearance. Text is normal size, and long names are truncated with "...". **Non-image items such as folders and documents** have a fixed card height, with icons and file names aligned at the same starting position. File names display up to 4 lines, with the rest truncated. **Image files** (jpg, png, gif, bmp, webp, etc.) show thumbnails filling the entire card; file names are hidden normally and smoothly fade in with an overlay at the bottom on hover. On hover, the card is emphasized with a border and shadow, and a bottom overlay shows the name and details. The full file name is displayed as a tooltip after hovering over the overlay area for approximately 2 seconds. **Files other than folders and images** (documents, etc.) display the icon at the top without a square border, with the file name always shown below at a fixed position, making them easy to distinguish. (Using the WindowsAPICodePack-Shell library for stable thumbnail display.) Thumbnails are reliably displayed even after folder navigation or icon view switching. When there are few files, they are packed from the top with the same layout density as when there are many. The selection highlight and click target only cover the card area (thumbnail + name); clicking whitespace outside cards does not select anything. **While in icon view**, F5 key, arrow keys, Enter, Back, and other keyboard operations are disabled. Use the "Refresh" button on the toolbar (mouse click) to refresh. List operations are mouse-only. Switching to detail view re-enables F5 and all keyboard operations. **View mode state persists across restarts**, with Pane A and Pane B saved independently (e.g., exiting with Pane A in list view and Pane B in icon view means both open in the same state next time). When opening a new tab, the current pane's view mode is automatically applied.
- **Tooltips**: Hovering over buttons and icons displays a tooltip concisely describing the action performed by clicking. For buttons whose state changes (lock, pin, view toggle, etc.), the tooltip text dynamically updates to reflect the current state.

### 1-6. Confirmation & Error Dialogs
Confirmation dialogs and error messages within the app are displayed using custom app dialogs rather than standard Windows MessageBoxes. They feature a modern design with a sepia background (#F5F1E3), rounded corners (8px), and drop shadow, unified with the overall app appearance. Icons (info, warning, error, confirm) and buttons (OK / OK-Cancel / Yes-No) automatically switch based on the dialog's purpose. You can press Esc to cancel and drag the title bar area to move the dialog.
- **Error feedback**: When an unexpected error occurs, the error dialog displays a "Send Feedback" button. Error details (stack trace, etc.) are automatically attached, allowing you to report directly to the developers.

---

## 2. Basic File Operations

### 2-1. Navigation
- **Open folder**: Double-click or press `Enter`.
- **Go back**: Toolbar "back" button or `Alt + Left Arrow`. In the returned list, the previously entered folder is focused, allowing you to continue navigation with arrow keys from that position.
- **Go forward**: Toolbar "forward" button or `Alt + Right Arrow`.
- **Go up one level**: Toolbar "up" button or `Backspace`. In the returned list, the previously entered folder is focused, allowing you to continue navigation with arrow keys from that position. Executing "Up" at a drive root (e.g., C:\) navigates to a "PC" view listing all drives.
- **PC (My Computer) view**: A virtual top-level hierarchy above drive roots. All drives on the PC (local disks, network drives, removable disks, etc.) are listed; double-click or press Enter to navigate to a drive root. A "PC" segment is always displayed at the beginning of the breadcrumb list, and clicking it navigates to the PC view. You can also select a drive from the dropdown via the arrow button to the right of "PC" in the breadcrumb. Typing "PC" in the address bar and pressing Enter also navigates there. The "Up" button is disabled in PC view.
- **Add to favorites**: Press the star button in the pane header's first row (action row) to register the currently displayed folder to favorites.
- **Navigate to home**: Click the home icon on the toolbar to navigate to the home folder set in app settings. If not configured, Pane A goes to Desktop and Pane B goes to Downloads.
- **Navigate to Desktop**: Click the monitor icon on the toolbar to navigate to the Desktop folder.
- **Navigate to Downloads**: Click the download icon on the toolbar to navigate to the Downloads folder.
- **Open in Explorer**: Click the open folder icon on the toolbar to open the currently displayed folder in Windows Explorer.
- **Import Explorer folder**: Click the import icon on the toolbar (to the right of the open folder icon) to import folders from currently open Windows Explorer windows. Imported folders are always shown in **new tabs**. If there is only 1, it opens in a new tab and the Explorer window closes. If there are 2 or more, a selection dialog lets you choose which to import; selected folders each open in new tabs and the corresponding Explorer windows close.
- **Copy path**: Click the copy icon on the right end of the address bar to copy the current folder's full path to the clipboard.
- **Refresh**: Press `F5` or click the toolbar refresh button (folder changes are auto-detected, but manual refresh is also available). In detail view, both F5 and the button work. In icon view, **only the button works** (F5 is disabled). When folder monitoring connection is lost on network drives, automatic reconnection is attempted with exponential backoff (1s, 2s, 4s... up to 30s). Reconnection progress is notified in the status bar ("Network disconnection detected. Attempting reconnection..." then "Folder monitoring resumed" on success). After reaching the maximum number of attempts (10), "Folder monitoring has stopped. Press F5 to refresh" is displayed, and F5 or the refresh button enables manual reconnection.

### 2-2. Tab Operations
- **Open new tab**: Click the "+" button to the right of the tab bar, or press `Ctrl + T`. Double-clicking the empty area of the tab bar also opens a new tab.
- **Close tab**: Click the tab's "X" button, or press `Ctrl + W`.
- **Show tab list**: Click the tab list button (List icon) at the right end of the tab bar (to the right of the "+" button) to display a dropdown menu listing all tabs instantly. The list appears directly below the list button, with each tab's "X" button vertically aligned with the list button. Clicking a tab in the list switches to it; clicking the "X" button on a tab deletes it. The currently selected tab is highlighted in blue, and locked tabs have their delete buttons hidden. The tab list menu closes automatically when clicking outside it or selecting a tab.
- **Lock tab**: Right-click a tab and select "Lock" to prevent it from being closed. A padlock icon appears on locked tabs and the "X" button is hidden. To unlock, right-click again and select "Unlock". Lock state persists across restarts.
- **Add all tabs in this pane to favorites**: Right-click a tab and select "Add all tabs in this pane to favorites" to register all tab paths in that pane as a new virtual folder in favorites. Enter a folder name and optional description in the dialog before saving. Non-existent paths and already-registered paths are skipped.
- **Move tab to opposite pane**: Right-click a tab and select "Move to opposite pane" to move that tab to the other pane. In single-pane mode, it automatically switches to dual-pane mode.
- **Switch tabs**: Click a tab or press `Ctrl + Tab` (next tab). On switching, content fades in and the tab header indicator (underline) slides to the selected tab.
- **Reorder tabs**: Drag tabs left or right to freely change their order.
- **Open via drag & drop**: Drag and drop a folder onto the empty area of the tab bar to open it in a new tab.
- **Tab list popup**: Press `Ctrl+Shift+A` to display a popup listing all tabs. Use the up/down arrow keys to select and Enter to switch. You can also open the list for each pane individually with `Ctrl+Shift+Q` (Pane A) / `Ctrl+Shift+W` (Pane B).
- **Tab switching shortcuts**: `Ctrl+Tab` switches to the next tab, `Ctrl+Shift+Tab` switches to the previous tab.

#### Tab Bar Display Settings
You can customize how tabs are displayed in the "Tab" category of settings:
- **Tab Width Mode**: Choose between equal width (divides the tab bar equally) or fixed width (specified in pixels).
- **Fixed Width Size**: Specify the tab width in pixels when using fixed width mode.
- **Wrap Mode**: Set the behavior when tabs don't fit in a single row. Choose between "Scroll" (horizontal scrolling) or "Wrap" (multi-row display).
- **Row Height Sync**: In wrap mode, automatically synchronize the tab bar height between Pane A and Pane B.
- **Hide tab bars when Tab List view is active**: When the Tab List view is displayed in the nav pane, the A/B pane tab bars can be hidden. Useful when managing all tabs centrally through the Tab List view.

### 2-3. Standard File Operations
The following operations are available via right-click menu or keyboard shortcuts. By default, an **app-specific lightweight menu** appears instantly, providing quick access to open, copy, delete, rename, favorites, and index search. See "**2-4. Custom Context Menu**" for details.
- **Copy, Cut, Paste**: Same as Windows standard (`Ctrl+C`, `Ctrl+X`, `Ctrl+V`). After the operation, focus remains on the file list. After copy/cut, focus stays on the operated items. After paste, focus moves to the pasted files. After pasting, the list auto-scrolls to the file for immediate visibility. Focus is maintained even after folder monitoring auto-refresh and is not stolen by the other pane.
- **New folder**: Press `Ctrl+Shift+N` to immediately show a rename dialog where you can type the folder name and press OK to create it in the current folder (the folder creation itself runs in the background, so the dialog display and input are not blocked even during high load on network drives). After creation, focus moves to the new folder. When creating from the Explorer context menu, the rename dialog opens after folder creation as usual.
- **Rename**: Press `F2` or use the menu. A dedicated rename dialog appears. For files, the file name and extension are displayed separately and can be edited independently. This prevents accidentally forgetting to change or mistakenly modifying the extension. For folders, the entire name is editable. The dialog is cached as a lightweight shared window within the app for instant display. At the top of the dialog, **template input buttons** are arranged: **3 date buttons** (`YYYYMMDD` / `YYYYMMDD_` / `_YYYYMMDD`) insert today's date instantly. Additionally, **2 context buttons** (parent folder name / `YYYYMMDD_MeetingLog_ParentFolderName`) let you quickly input template names using the current folder name (hidden at drive root). Focusing the text box automatically displays an **input history popup** showing previously used rename values for reuse (up to 100 entries, sorted by most recently used).
- **Delete**: Press `Delete`. A standard Windows confirmation dialog appears and items are sent to the recycle bin.
- **Create shortcut**: Creates a shortcut to the selected item in the current folder.
- **Show properties**: Displays the standard Windows properties dialog.
- **Open in Explorer**: Opens the current folder in Windows Explorer.
- **Process display on file operation error**: When a rename, delete, copy, move, or drag & drop operation fails because another application is using the file, the error message shows the name of the process locking the file (e.g., "EXCEL is using this file, so the operation could not be completed"). The Windows Restart Manager API is used to identify the process, making it immediately clear which application needs to release the file. Appropriate messages are also shown for insufficient access permissions or disk space.

### 2-4. Custom Context Menu

Zenith Filer offers two types of context menus displayed when right-clicking in the file list: an **app-specific lightweight menu** and an **Explorer-compatible menu**. By default, the app-specific menu is shown, prioritizing responsive feel.

#### 2-4-1. Menu Types and Switching

- **App Custom Menu (Recommended)**: A lightweight menu that instantly shows frequently used operations. Provides quick access to open, copy, delete, rename, favorites, index search, and other basic actions. Features a modern Windows 11-style design (rounded corners, spacing, translucent design) and appears instantly at the right-click position with no wait time.
- **Explorer Compatible Menu**: Shows the standard Windows right-click menu. Includes shell extensions like 7-Zip and app-specific context menu items.

**Switching methods**:
- **Change in app settings**: Go to Control Deck (default: Ctrl+Shift+O) > "General" > "Context Menu" to select. Settings persist across restarts.
- **Temporary switch**: When the app custom menu is default, **Shift+right-click** shows the Explorer-compatible menu. You can also select "Show Explorer Context Menu" within the custom menu.
- **Box folder share link auto-formatting**: When **Shift+right-clicking** an item within a Box Drive area, clipboard changes are monitored for up to 20 seconds in parallel with the Explorer menu display. When you select "Share" > "Copy shared link" from the menu and Box writes a URL containing `box.com` to the clipboard, it is automatically reformatted into a 2-line format: "Line 1: Box relative path, Line 2: Share URL". On success, a green flash appears on the pane and the status bar shows "Combined Box path and URL". If no URL is detected within 20 seconds, monitoring ends silently.

#### 2-4-2. App Custom Menu Items

The app custom menu automatically displays appropriate operation items based on the type and number of selected items. Items are organized by separators into 6 groups: **Open & Display** > **Clipboard** > **Copy Name & Path** (Copy File Name, Copy Full Path; "Copy Box Cooperation Path" also appears in Box areas) > **Edit & Modify** > **App-Specific** > **Other & System**.  When you need a Box real address (URL), **Shift+right-click** to show the Explorer menu, select "Share" > "Copy shared link," and the 20-second monitoring will auto-format it into a "Box path + URL" 2-line format.

**When file(s) or folder(s) are selected**:
- **Open**: Opens the file or folder (files open with the default application).
- **Open in new tab** (folders only): Opens the selected folder in a new tab.
- **Open in opposite pane** (folders only): Opens the selected folder in the opposite pane. Automatically switches to dual-pane mode when in single-pane mode.
- **Open in text editor** (text-type files only): Opens `.txt`, `.md`, `.json`, `.html`, and other text-type files with the default application for `.txt` (the app set as default for text files in the OS, such as Notepad or Sakura Editor). Shown when all selected items are text-type files.
- **Compare Text** (two text-type files selected only): Appears when exactly two text files are selected. Opens a side-by-side diff viewer with inserted lines (green) and deleted lines (red) highlighted. A diff minimap on the left edge provides an overview of diff positions across the entire file using color-coded indicators for insertions (green), deletions (red), and modifications (yellow). Click or drag the minimap to jump to any location. Close with `Esc` key or background click. Maximum file size is 5MB. Available 3 times on the Free plan.
- **Compare with \<filename\>** (dual-pane mode, one text-type file selected): Appears in dual-pane mode when one text file is selected in the right-clicked pane and another text file is selected in the opposite pane. Clicking this opens a side-by-side comparison of the files from both panes.
- **Open in painter** (image-type files only): Opens `.png`, `.jpg`, `.bmp`, and other image-type files with the OS-configured default image editing application. Shown when all selected items are image-type files.
- **Copy**: Copies selected items to the clipboard (same as `Ctrl+C`).
- **Cut**: Cuts selected items to the clipboard (same as `Ctrl+X`).
- **Paste**: Pastes clipboard contents into the current folder (same as `Ctrl+V`).
- **Copy file name**: Copies the name (file name/folder name) of selected items to the clipboard. Multiple selections are separated by newlines.
- **Copy full path**: Copies the full path of selected items to the clipboard. Multiple selections are separated by newlines.
- **Copy Box cooperation path** (Box area only): Shown only when the current folder is within a Box drive. Copies the "Box\~" format path used for sharing with other users (e.g., `Box\Folder\file.txt`) to the clipboard. Multiple selections are separated by newlines. For a 2-line format including the real address (URL), use **Shift+right-click** > "Share" > "Copy shared link" for auto-formatting via 20-second monitoring.
- **Delete**: Deletes selected items (same as `Delete` key). A standard Windows confirmation dialog is shown.
- **Rename**: Renames the selected item (same as `F2` key). Shown only for single selection.
- **Create shortcut**: Creates a shortcut to the selected item in the current folder.
- **Set this folder as Pane A home** (folders only): Sets the selected folder as Pane A's home folder.
- **Set this folder as Pane B home** (folders only): Sets the selected folder as Pane B's home folder.
- **Add to favorites** (folders and files): Registers the selected folder or file to favorites. If already registered, "Remove from favorites" is shown instead.
- **Convert to PDF and save to same folder** (single file, supported formats only): Converts the selected file to PDF and saves it in the **same folder** as "original filename.pdf". Supported formats include images (`.jpg`, `.jpeg`, `.png`, `.bmp`, `.gif`) and Office documents (`.docx`, `.doc`, `.docm`, `.xlsx`, `.xls`, `.xlsm`, `.pptx`, `.ppt`, `.pptm`). Microsoft Office installation is required for Office document conversion. A GlowBar and progress message are displayed during conversion.
- **Convert to PDF, merge, and save to same folder** (multiple files, all supported formats): Converts each selected file (images and Office documents) to PDF, then merges all pages into a single file and saves as "Combined_yyyyMMddHHmmss.pdf" in the **same folder**.
- **Search this folder with index search** (folders only): Searches the selected folder as an index search target.
- **Export list of this folder to CSV** (folders only): Scans all files including subfolders starting from the selected folder and generates a CSV (same specification as the background right-click version).
- **Export list of this folder to Excel** (folders only): Scans all files including subfolders starting from the selected folder and generates an Excel (.xlsx) file (same specification as the background right-click version).
- **Properties**: Displays the standard Windows properties dialog. Shown only for single selection.
- **Show Explorer Context Menu**: Switches to the Explorer-compatible menu.

**When right-clicking the background (empty space)**:
- **New folder**: Creates a new folder in the current folder (same as `Ctrl+Shift+N`). A rename dialog automatically appears right after creation. Canceling automatically deletes the created folder.
- **New text file**: Creates an empty text file (`.txt`) in the current folder. A rename dialog automatically appears right after creation. Canceling automatically deletes the created file.
- **New (submenu)**: A submenu for creating files from templates of applications installed on Windows (Word, Excel, PowerPoint, etc.). Entries are automatically retrieved with icons from registry ShellNew entries. Selecting one copies the template to create a new file, and a rename dialog automatically appears. Templates are scanned in the background at app startup, so they may not appear on the first right-click if still loading.
- **Paste**: Pastes clipboard contents into the current folder.
- **Copy full path**: Copies the current folder's full path to the clipboard.
- **Copy folder listing (names)**: Copies the names (file names/folder names) of items displayed in the current folder to the clipboard, separated by newlines. Respects active file type filters and sort order. In search result tabs, copies the names from the search results.
- **Copy folder listing (full paths)**: Copies the full paths of items displayed in the current folder to the clipboard, separated by newlines. Same display-based behavior as "names".
- **Copy Box cooperation path** (Box area only): Shown only when the current folder is within a Box drive. Copies the current folder's "Box\~" format path to the clipboard.
- **Search this folder with index search**: Searches the current folder as an index search target.
- **Export list of this folder to CSV**: Scans all files including subfolders starting from the current folder directly from the file system and generates a UTF-8 BOM CSV file (columns: No., File Name, Relative Folder Path, Date Modified, Size). The path column outputs relative paths from the current folder (`.\Sub\` format), making filters shareable across Box environments with different usernames. During scanning, the **scan bar** at the top of the status bar and the **spinner** on the right are displayed simultaneously. Files without extensions are excluded (no item count limit).
- **Export list of this folder to Excel**: Scans all files including subfolders starting from the current folder and generates an Excel (.xlsx) file (columns: No., File Name, Relative Folder Path, Date Modified, Size, Open Folder). The path column outputs relative paths from the current folder (`.\Sub\` format), making filters shareable across Box environments with different usernames. The "Open Folder" column outputs HYPERLINK formulas using relative paths, ensuring links work from any PC when the Excel file and folder structure are shared together. The header row is frozen with auto-filter enabled.
- **Properties**: Displays properties for the current folder.
- **Show Explorer Context Menu**: Switches to the Explorer-compatible menu.

**Cloud service integration menu** (Box / SharePoint / OneDrive folders only):
- When right-clicking files or folders within a Box Drive or SharePoint/OneDrive sync folder, cloud service-specific menu items ("Share on Box", "Version History", etc.) are automatically appended at the bottom of the menu. Items are asynchronously fetched from shell extensions, so they may appear slightly delayed after the menu opens. Items that cannot be retrieved within 1.5 seconds are not shown.
- **Box share link rich copy**: When selecting "Share > Copy shared link" within a Box folder, individual Box share URLs are retrieved sequentially for each selected item, and both HTML and plain text formats are placed on the clipboard. When pasting into rich editors (Teams, Outlook, Slack, etc.), item names appear as clickable hyperlinks that open the file directly in Box. In plain text editors (Notepad, etc.), it falls back to "Item Name ( URL )" format. The structure is a 3-layer format: "Parent folder Box relative path > Parent folder share URL > Each item name (with individual links)". When right-clicking the background, all item names in the folder are included. A "Copied Box share information" notification and green flash are shown when formatting completes.

#### 2-4-3. Menu Position and Style

- **Position**: The menu appears at the right-click position. If it would extend beyond the right or bottom edge of the screen, it is automatically shifted left or up to prevent clipping.
- **Speed**: The app custom menu appears instantly with no wait time, designed to prioritize responsive feel.
- **Design**: Unified with a modern Windows 11-style design (rounded corners, spacing, translucent design). Each item has an icon, and separator lines group items for quick identification.

#### 2-4-4. About the Explorer Compatible Menu

The Explorer compatible menu displays the standard Windows right-click menu as-is. It is useful in the following cases:
- When you want to use shell extensions like 7-Zip
- When you need to use context menu items added by specific applications
- When you are accustomed to standard Windows behavior

In the Explorer compatible menu, operations like rename and delete are still properly handled by the app, so the operational experience is similar to the app custom menu.

### 2-5. Drag & Drop
- **Multi-select and drag**: Use `Ctrl` or `Shift` keys to select multiple items in the file list simultaneously. Starting a drag with items selected includes all selected files and folders as copy/move targets.
- Files can be copied or moved between panes, or between the app and external applications, via drag & drop.
- **URL drop from browser**: Drag and drop a URL from a browser's address bar or link onto the file list or breadcrumb bar to create and save an internet shortcut (`.url` file) for that URL.
- **Drag guide display**: When you start dragging files or folders, a guide message like "Drop n item(s) to copy/move destination" (e.g., "Drop 5 item(s) to copy/move destination") appears next to the mouse cursor. This makes it visually clear that a drag operation is in progress and shows the number of items being dragged.
- **Operation types** (following Windows standard):
  - **Drop without Ctrl** > Move
  - **Drop while holding Ctrl** > Copy
- **Navigation drop**: Dropping items from favorites, browse history, or folder tree onto the file list navigates to that folder. This works even when search results or history are displayed; the search is automatically cleared, the view returns to normal, and the dropped folder's contents are immediately shown.
- **Drop from list to nav pane**: Dropping from the file list onto the **favorites view** registers the folder or file as a favorite (registration is allowed even when favorites are locked). Dropping onto the **tree view** moves files/folders to the drop target folder (this does not register favorites). When tree view lock is ON, drops from the list to the tree are also disabled, with a "Cannot perform operation while locked" message in the status bar.
- **Drop from list to breadcrumb**: Drag selected items from the file list and drop them on **any breadcrumb level** (e.g., "Downloads", "Users") to copy or move them to that folder. Left-drag without Ctrl to move, with Ctrl to copy. Right-drag drop shows a menu with "Copy here", "Move here", and "Cancel".
- **Drive drag & drop**: Drag a drive from the PC (My Computer) view's drive list and drop it onto a pane to open that drive's root folder.
- Dragging only initiates when the mouse moves approximately 10px or more, preventing accidental operations from slight movements during clicks.
- Standard Windows dialogs are displayed, so overwrite confirmations and progress bars work safely.
- **Right-click drag & drop (right-drag)**: **Right-click and hold** while dragging a file, then drop to display a menu at the drop position.
  - **Copy here**: Copies to the drop target.
  - **Move here**: Moves to the drop target.
  - **Create shortcut here**: Creates a shortcut (e.g., `Original Name - Shortcut.lnk`) referencing the original file at the drop target.
  - **Cancel**: Does nothing.
  - Available within the same pane or between left/right (or top/bottom) panes. When dropped on a folder row, that folder is the target; otherwise, the currently displayed folder is the target.

### 2-6. Text Comparison (Diff)
A feature that compares two text files side by side, highlighting the differences.

- **How to launch**: Select a file in Pane A, then choose "Text Compare" from the context menu. Select the file to compare against, and the Diff view opens.
- **Diff minimap**: A minimap of the entire file's differences is displayed on the right edge of the screen, providing an overview of where changes are located.
- **Synchronized scrolling**: The left and right panels scroll in sync, keeping corresponding lines aligned side by side.

---

## 3. Advanced Features

### 3-1. Favorites Management
- **Save location**: Favorites are saved in `settings.json` in the app's execution folder. Backing up this file makes it easy to transfer favorites and other settings to another PC or a new version.
- **Automatic backup**: On app exit, the current `settings.json` is automatically copied to the `backups` folder. The file name format is `settings_yyyyMMdd_HHmmss.json` (e.g., `settings_20260205_092500.json`). From the "4. Settings File Recovery" section in app settings, you can view the list and restore to any point in time.
- **Adding**:
  - Click the star button on the address bar to open an "Add to Favorites" dialog, where you can enter a name and optional description to register the current folder.
  - Drag and drop a folder or file from the file pane to the **favorites view** (when "Favorites" is displayed in the sidebar) to register it as a favorite (no name/description dialog appears; it is registered with the folder/file name as-is; registration is allowed even when favorites are locked). Dropping onto the **tree view** moves the file/folder to the drop target folder instead of registering a favorite (when tree view lock is ON, all operations including moves are disabled).
  - Right-click a file in the file list and select "Add to favorites" to register that file as a favorite (shown only when selected, same as folders).
  - Right-click empty space in the favorites view and select "New Folder" to create a virtual folder at the **end of the root level** of the tree, which immediately opens a "New Folder" dialog. Enter a name and optional description to register. The default name is "New Folder" or "New Folder (n)", and the description can be left empty.
  - Right-click any item in favorites and select "New Folder" to insert a new virtual folder **immediately below that item at the same level** (it is added beside the item, not inside it). The created folder is automatically selected, and you can enter a name and description in the "New Folder" dialog.
  - Click the **leftmost icon** (spreadsheet icon) in the icon group at the bottom of the favorites view to export favorites data in Excel format. Specify the save location via SaveFileDialog. Output columns are No., Group, Display Name, Full Path, Type, and Open Link, with group hierarchy expanded in "Parent > Child" format. The "Open" column outputs a HYPERLINK formula referencing the Full Path column. All items including organizational folders are included. GlowBar shows progress during processing.
  - Click the download icon at the bottom of the favorites view to import items from Explorer's **Quick Access** (pinned folders, etc.) into favorites. Imported items are added inside a folder named "Import" with the description "Imported from Explorer Quick Access" (created automatically if it doesn't exist; appended if it does). Already-registered paths are skipped.
- **Organization**: Create "New Folders (virtual folders)" within favorites and organize them hierarchically. Names are automatically numbered considering existing folder names in favorites: "New Folder", "New Folder (2)", "New Folder (3)", etc.
- **Description**: Each favorite folder can have an optional description (e.g., "For weekly reports"). It is subtly displayed next to the folder name to help distinguish similarly named folders. Select "Edit Description" from the right-click menu to open a description-specific dialog ("Enter description:") where you can add, change, or delete descriptions at any time. The full path and description can be viewed in a tooltip on mouse hover.
- **First-level folders as category headers**: **Virtual folders at the first level** of the favorites tree are rendered as "slim full-width bands" spanning from the left edge to just before the right edge (excluding the scrollbar area) of the nav pane. These bands are slightly taller than normal rows but remain slim, with a subdued dark gray background, a left-side accent line, white semi-bold folder names, and light gray descriptions, making category divisions easy to identify at a glance while remaining elegant. Subtle margins and rounded corners on all sides create a "floating band" appearance that harmonizes with Windows 11's modern UI.
- **Tree relation lines**: Child items within categories display subtle guide lines (vertical lines + horizontal connectors) showing parent-child relationships. The last child item has an L-shaped connector, while others have full-height vertical lines, making it easy to identify which items belong to which category. No lines are shown on first-level category headers themselves. Collapsing a category automatically hides the lines.
- **File environment icons**: Files registered in favorites display an environment (location) icon to the left of the file icon (Local/Network/Box/SPO), making it easy to identify which storage the file is from at a glance.
- **Invalid path visual warning**: When a registered favorite path no longer exists due to deletion, rename, etc., a warning icon (caution) is subtly displayed to the right of the name. When the path is valid, the icon is completely hidden and does not occupy any width.
- **Automatic check on path not found**: When opening a folder from favorites, if the path is not found due to rename or deletion, a confirmation message asks "Path not found. Remove this item from favorites?" Selecting "Yes" immediately removes it, even if favorites are locked. This applies to both files and folders. For cloud drive paths (BOX Drive, OneDrive/SPO, etc.), up to 2 automatic retries are performed before determining the path is not found, accounting for on-demand download (hydration) delays.
- **Differences between folder and file operations**: Double-clicking a folder in favorites displays it in the A/B pane. Double-clicking a file opens it with the associated application. **Virtual folders (organizational folders)** expand/collapse on row double-click (arrow click also toggles). When selecting a file via "Open in Pane A" or "Open in Pane B," the file's parent folder is displayed in the pane. **Middle-click (wheel click)** opens folders directly, or files' parent folders, in a **new tab** in the active pane (works in both tree and search results).
- **Nav width lock**: Only in favorites view, the panel icon on the **left side** at the sidebar bottom-right locks the nav pane width so it cannot be changed with the splitter. An open panel icon indicates resizable, a closed panel icon indicates fixed. Automatic expansion for tree/history remains active when locked. State is saved and restored on next launch.
- **Favorites lock**: Only when the **favorites view is displayed**, a padlock icon appears at the sidebar bottom-right. Clicking it temporarily prohibits **virtual folder creation, deletion, and reordering within the favorites view**, preventing accidental changes. Registration, renaming, and description changes are still allowed when locked. Operations in the tree view or file panes are unaffected. When a prohibited operation is attempted while locked, the **nav pane lock specification** is followed: "Could not perform operation because the view is locked." is shown in the status bar, and a flashing padlock with arrow prompts unlock. Even during the animation, clicking the padlock immediately unlocks and stops the flashing.
- **Tree view lock**: Only when the **tree view is displayed**, a padlock icon (tree view lock) appears at the sidebar bottom-right. Separate from the favorites lock, this prohibits folder drag & drop move, rename (F2, right-click "Rename"), delete (Delete, right-click "Delete"), and **drag & drop from the file list to the tree** when locked. **When unlocked**, dropping a folder onto another folder in the tree (as a child) or before/after it moves the actual folder, and dropping from the file list onto a tree folder moves files/folders to that folder. When a prohibited operation is attempted while locked, the **nav pane lock specification** is followed: "Could not perform operation because the view is locked." is shown in the status bar, and a flashing padlock with arrow prompts unlock. State is restored on next launch.
- **Delete confirmation**: The message icon at the sidebar bottom-right toggles the display of delete confirmation messages.
- **Color tags**: Assign one of 7 color labels to favorite items. Select a color from the context menu to visually categorize items at a glance. You can also filter by color name in the nav pane search box (e.g., `tag:red`).
- **Custom icons**: Choose from 64 preset icons to assign to favorite containers (folder groups). Icons are also automatically assigned when using AI favorites organization.
- **Item count badge**: A badge showing the number of items is displayed next to each container name.
- **Access count display**: The number of times each favorite item has been accessed is shown.
- **"Recently Added" section**: Recently added favorites are displayed in a dedicated section.
- **Alphabetical sort**: A toggle button lets you switch to alphabetical sorting.
- **Drag & drop from Explorer**: Drag folders from Windows Explorer directly onto the favorites area in the nav pane to register them.
- **"Frequently Used" pin count customization**: From the favorites settings dialog (gear icon), adjust the number of frequently used items displayed from 3 to 15.
- **Favorites settings dialog**: From the gear icon, toggle various display settings including color tags, item count badges, access counts, and the "Recently Added" section.

### 3-2. View Options
- **Adaptive columns**: As the window narrows, columns are automatically hidden in this order: "Size", "Type", "Date Modified", "Location", leaving ultimately only the file name for a resilient layout (in search results, the order is "Size", "Date Modified", "Location", "Name", keeping the Path column visible last).
- **Folders first**: Toggle between always showing folders above files or mixing them in name order.
- **Per-folder view settings auto-restore**: Automatically remembers sort order, view mode, and folders-first settings for each folder, and auto-applies them when revisiting. Can be toggled ON/OFF in settings.
- **Dynamic column auto-hide**: When the window is narrow, lower-priority columns (Type, Attributes, etc.) are automatically hidden while ensuring at least 250px for the Name column. Columns are automatically restored when the window is widened.
- **Second search bar row**: An option in settings to always display size and date filters on the second row of the header. Allows quick configuration of filter conditions when searching.

### 3-3. Search Features
Zenith Filer has 2 search modes for different use cases.

- **Normal search (on-demand file system search)**:
    - **Purpose**: Quickly find items within the currently open folder (and its subfolders).
    - **Behavior**: An on-demand search that scans the file system in real time, recursively searching within the target folder's hierarchy. Enter a keyword in the search box and **press Enter** to start searching in a new tab. Within search result tabs, instant search executes as you type, without needing to press Enter. The display target for clicking folders or paths in search results can be configured in app settings under "Path click behavior in search results" (show in same tab / same pane new tab / opposite pane new tab).
    - **Query syntax**: Supports AND search with multiple keywords (space-separated), OR search (`|` separator), exclusion (`-keyword`), and extension filters (`ext:pdf`).
    - **Second search bar row**: Enable the second row of the search bar in settings to keep size and date filters always visible.
    - **Results**: Both files and folders are matched, displayed with newest modified date first. Files without extensions (temporary files, caches, etc.) are excluded from results. Click column headers to change sort order.
- **Index search mode (cross-folder search)**:
    - **Purpose**: A mode for searching across **multiple pre-registered folder groups** regardless of the current folder.
    - **Search targets**: All paths registered in the nav pane's **"Index Search Settings" (default: Ctrl+Shift+4)**. Both files and folders are indexed and included in results. This view displays the total number of files/folders in the index, and shows the status and count for each folder.
    - **Operation**: Click the magnifying glass icon on the left of the search bar or press `Ctrl+Shift+F` to enter index search mode (lightning icon, background color change).
    - **Search scope selector**: In index search mode, a folder icon with a badge (e.g., 3/10) appears to the right of the lightning icon in the search bar. Clicking this button shows a popup listing registered folders, where you can individually include or exclude folders from the search scope via checkboxes. While filtering, the icon and badge turn amber. "Select All" and "Deselect All" buttons enable bulk operations. Changing the selection redraws search results in real time. The selection state is automatically saved on app exit and restored on next launch. Locked folders are also included in the selection and can be searched against their frozen data. The popup auto-closes on outside click or window deactivation (smart close).
    - **Results**: Both files and folders are matched, displayed with newest modified date first. Click column headers to change sort order.
- **Index technical specifications**:
    - **Storage location**: A shared index is maintained in the `index` folder within the app execution folder (changed from the previous `%AppData%\ZenithFiler\Index` for better portability).
    - **Japanese search**: Precision has been improved for Japanese keyword searches (e.g., searching for a compound word) so that files containing all split tokens are matched. A `name_raw` field with untokenized wildcard search is also used to ensure partial matches hit even on parse errors.
    - **File structure**: Composed of `segments_N`, `_N.cfs`, `write.lock`, and `zenith.db` (history DB) files.
    - **Automatic updates**: Indexes for registered folders are automatically updated in the background in response to file operations (add, delete, rename).
    - **Search target filtering**: Files without extensions (temporary files, caches, application-internal hash-named files, etc.) are not registered in the index and do not appear in search results. This makes it easier to quickly find files that users typically work with, such as Excel, PDF, and images.
    - **Performance considerations**: When multiple folders are registered, index creation processes them one at a time sequentially. This stabilizes the status bar progress display and reduces load on network drives. During index creation, "throttling" inserts wait times at regular intervals, and large intermediate folders like `.git` and `node_modules` are automatically skipped. Enabling "Power-saving mode" and "Process network drives gently" in app settings increases these wait times, further reducing CPU, disk, and network load.
    - **Searching during index creation**: Even while folder indexing progresses in the background, the search index is updated every 100 items, so already-indexed items appear in search results. The animated icon in the status bar confirms indexing is in progress; clicking it allows cancellation after confirmation.
    - **Confirming creation results and counts**: When index creation completes, the status bar shows "Added XX items to index." The "Index Search Settings" view in the nav pane displays the total number of indexed files/folders.
    - **Creation progress**: During index creation, progress is shown in the status bar as "Indexing: XX items (folder name)", updated every 100 items.
    - **Per-folder status and counts**: The index search settings list shows each folder's status as "Creating", "Not Created", or the indexed count. Locked (archived) folders display their frozen count and date with a padlock icon. Even with multiple registered folders, the list updates immediately as each folder's indexing completes.
    - **Per-folder manual update**: Right-click a folder in the list, and select "Rebuild Index" to delete and recreate that folder's index from scratch (also reflects deleted files), or "Incremental Update" to reflect only new and updated items without deletion. Incremental update is fast but deleted files remain in the index. Choose rebuild when you need to reflect deletions.
- **Size and date filters**: To the right of the scope button in the search bar are a size filter button (balance icon) and a date filter button (calendar icon). Clicking opens a popup for the following filtering. When a filter is active, the icon turns dark (#1A1A1A) and a 1px charcoal gray underline appears below the icon (0.1s fade). Filter state is automatically saved on app exit and restored on next launch. Works consistently in both normal and index search modes.
    - **Size filter**: Text input for Min (minimum size) and Max (maximum size). Supports suffixes `k` (KB), `m` (MB), `g` (GB); unsuffixed values are interpreted as MB (e.g., `500k` = 500 KB, `2.5g` = 2.5 GB). A real-time conversion preview is shown during input. Quick tips (< 100 KB / 100 KB ~ 10 MB / 10 MB ~ 1 GB / > 1 GB) can be clicked to auto-fill Min/Max. The Min text box is auto-focused when the popup opens, and Enter closes it. Folders are not affected by the size filter.
    - **Date filter**: Text input for start and end dates. Supports flexible formats including `yyyyMMdd` (e.g., `20260228`), `MMdd` (e.g., `0228` = this year), `yyyy/M/d`, etc., with a real-time conversion preview during input. 9 business-oriented preset chips are arranged in 3 rows: Short-term (Today / Yesterday / Last 3 Days), Medium-term (Last 7 Days / Last 14 Days / Last 30 Days), Period (This Month / Last Month / This Year). Click to instantly apply to start/end. A Calendar is always displayed at the bottom of the popup, with bidirectional synchronization between text input and calendar selection (text updates calendar selection, calendar writes back to text). The start text box is auto-focused when the popup opens, Tab moves to end, and Enter closes it.
    - **Lucene-level filter**: In index search mode, NumericRangeQuery / TermRangeQuery are applied at the query level to exclude unnecessary documents upfront.
    - **ICollectionView filter**: In normal search mode, applied as a post-filter on search results.
    - The "Reset" button within the popup clears the filter.
    - **Right-click reset**: Right-clicking the size filter icon (balance) or date filter icon (calendar) instantly clears only that filter (underline is also removed).
- **Search presets**: Click the star icon in the search bar to open the search preset popup. Use "Save current conditions" to save the current search conditions (keyword, size filter, date filter, extension filter, sort settings, scope) as a named preset. Click a saved preset name to restore all conditions at once and automatically execute the search. Presets are automatically categorized as normal search or index search, and only presets matching the current mode are displayed. Hovering over a preset shows an X button on the right for deletion. Presets persist after app restart. When presets are saved, the star icon turns dark with an underline. Hovering over a preset shows a preview popup with keyword, size, date, filter, scope, and sort details (size in `1 GB` format, date in `yyyy/MM/dd` format). When applying a preset, size and date filter icon underlines are immediately synchronized to the correct state.
- **File content search (grep)**:
    - **Purpose**: Search for keywords within the **contents** (text) of files in the currently open folder. Unlike normal search which targets filenames, this mode searches inside file text.
    - **Engine**: Uses ripgrep (rg.exe) for high-speed search with Japanese text support (UTF-8 / Shift-JIS, etc.).
    - **Operation**: In normal search mode, click the FileSearch icon to the right of the magnifying glass icon on the left side of the search bar, or press `Ctrl+Shift+G` to enter content search mode (teal icon glow and background color change). The grep toggle is hidden during index search mode.
    - **Search results**: Results display files that contain matches. The Match column shows the first matched line preview (line number + text) and the number of matches within the file.
    - **Limitations**: Binary files are automatically skipped. Default maximum file size is 50MB. If rg.exe is not placed in the tools/ folder, grep mode is automatically disabled.
- **Search history**: Normal search (magnifying glass), index search (lightning), and content search (FileSearch) maintain separate histories (up to 100 entries each). When size or date filters were set during the search, "Preset: [name]", "Size: [abbreviation]", "Date: [abbreviation]" are displayed in column format to the right of the keyword in the history. Preset names are dynamically matched against saved preset conditions and automatically displayed even for manual settings that match. Selecting an item from history automatically restores the search mode, size filter, and date filter to the state at the time of search and re-executes.

#### 3-3-1. Search Behavior (Configurable in Control Deck)

In Control Deck (default: Ctrl+Shift+O) > "Search" > "Search behavior," you can select from 3 patterns for where and how search results are displayed. **The default is "Same pane, new tab".**

| Option | Behavior | Best suited for |
| :--- | :--- | :--- |
| **Same pane, new tab** | Enter executes search. Creates a new search result tab in the same pane. Pressing X on the search bar in the results tab closes it and returns to the original tab. | Results stay within the same pane, keeping context predictable. Recommended default for beginners. |
| **Same pane, instant search in current tab** | Enter executes search. Shows results in the current tab. Pressing X on the search bar clears the search view and auto-reloads the current folder listing. | Quick switching between search and normal view without adding tabs. |
| **Opposite pane, new tab** | Enter executes search. Results from Pane A appear in Pane B and vice versa. Automatically switches to dual-pane when in single-pane mode. Pressing X on the results tab closes it and returns to the original tab in the same pane. | For comparison work and advanced users. Useful when viewing search results alongside the original listing. |

#### 3-3-1-1. Search Display Settings (Configurable in Control Deck)

In Control Deck (default: Ctrl+Shift+O) > "Search" > "Search display settings," you can configure additional options for screen mode during search.

- **Automatically switch to single-pane mode when searching** (default: off): When enabled, automatically switches to single-pane mode when executing a search to display results in a wider view. When searching from Pane B, the search tab is moved to Pane A. When all search result tabs are closed, the original dual-pane mode is automatically restored.

#### 3-3-2. Path Click Behavior in Search Results (Configurable in Control Deck)

In Control Deck (default: Ctrl+Shift+O) > "Search" > "Path click behavior in search results," you can select from 3 patterns for what happens when clicking the path column in search results. **The default is "Same pane, new tab".**

| Option | Behavior | Best suited for |
| :--- | :--- | :--- |
| **Show in same tab** | Switches from search results view to normal listing, showing the path in the same tab. | Navigate quickly to folders without adding tabs. |
| **Same pane, new tab** | Opens a new tab in the same pane (traditional behavior). | Keep the search results tab while opening clicked paths in separate tabs. Default recommended for use alongside search. |
| **Opposite pane, new tab** | Results from Pane A open in Pane B and vice versa. Automatically switches to dual-pane when in single-pane mode. | For comparison work and advanced users. View search results and opened folders side by side. |

#### 3-3-3. Size Filter Details

Click the **balance icon** to the right of the scope button in the search bar to open the size filter popup. Specify a file size range to narrow search results. Folders are not affected by the size filter. When a filter is active, the icon turns dark with an underline below. Filter state is automatically saved on app exit and restored on next launch. Works in both normal and index search.

##### Input Method

Specify a range with two text boxes: Min (minimum size) and Max (maximum size). The Min text box is auto-focused when the popup opens.

- **Unit suffixes**: Append `k` (KB), `m` (MB), or `g` (GB) after the number to specify the unit
- **Default unit when unspecified**: Values without a suffix are interpreted as MB
- **Decimal values**: Decimals like `2.5g` (= 2.5 GB) are supported
- **Examples**:

| Input | Interpretation |
| :--- | :--- |
| `500k` | 500 KB |
| `10` | 10 MB (no suffix = MB) |
| `2.5g` | 2.5 GB |
| `100m` | 100 MB |

##### Real-time Preview

As you type, the conversion result is shown in real time on the right (e.g., `500k` shows `-> 500 KB`). Invalid input turns the text box border red. When Min exceeds Max, an error message "Min exceeds Max" is displayed.

##### Quick Tips

Four buttons for commonly used size ranges are provided for one-click input.

| Chip | Range set |
| :--- | :--- |
| **< 100 KB** | Max = 100 KB (Min is empty) |
| **100 KB ~ 10 MB** | Min = 100 KB, Max = 10 MB |
| **10 MB ~ 1 GB** | Min = 10 MB, Max = 1 GB |
| **> 1 GB** | Min = 1 GB (Max is empty) |

##### Keyboard Operations

- `Tab`: Move from Min to Max text box
- `Enter`: Close the popup and return focus to the search bar
- `Escape`: Close the popup

##### Reset

Click the "Reset" button in the upper right of the popup to clear Min and Max values and remove the filter.

#### 3-3-4. Date Filter Details

Click the **calendar icon** to the right of the size filter button in the search bar to open the date filter popup. Specify a date range for file modification dates to narrow search results. When a filter is active, the icon turns dark with an underline below. Filter state is automatically saved on app exit and restored on next launch. Works in both normal and index search.

##### Input Method

Specify a date range with two text boxes: Start and End. The Start text box is auto-focused when the popup opens. The following flexible date formats are supported.

| Format | Example | Interpretation |
| :--- | :--- | :--- |
| `yyyyMMdd` (8 digits) | `20260228` | 2026/02/28 |
| `MMdd` (4 digits) | `0228` | 02/28 of the current year |
| `yyyy/M/d` | `2026/2/28` | 2026/02/28 |
| `yyyy-MM-dd` | `2026-02-28` | 2026/02/28 |
| `M/d` or `MM/dd` | `2/28` | 02/28 of the current year |

##### Real-time Preview

As you type, the conversion result is shown in real time on the right (e.g., `20260228` shows `-> 2026/02/28`). Invalid input turns the text box border red. When the start date exceeds the end date, an error message "Start exceeds End" is displayed.

##### Preset Chips

Nine business-oriented preset chips for commonly used date ranges are arranged in 3 rows. Click to instantly apply to the start and end text boxes.

| Category | Chips |
| :--- | :--- |
| **Short-term** | Today / Yesterday / Last 3 Days |
| **Medium-term** | Last 7 Days / Last 14 Days / Last 30 Days |
| **Period** | This Month / Last Month / This Year |

##### Calendar Integration

A calendar is always displayed at the bottom of the popup. Text input and calendar operations are bidirectionally synchronized.

- **Text to Calendar**: When a valid date is entered in a text box, the corresponding date range on the calendar is automatically highlighted
- **Calendar to Text**: When a date is clicked or dragged on the calendar, it is written back to the text box in `yyyyMMdd` format. It is reflected in the currently focused text box (start or end)

##### Keyboard Operations

- `Tab`: Move from Start to End text box
- `Enter`: Close the popup
- `Escape`: Close the popup

##### Reset

Click the "Reset" button in the upper right of the popup to clear start and end values and remove the filter.

#### 3-3-5. Search Preset Details

Click the **star icon** in the search bar to open the search preset popup. The popup has two sections: **Built-in Presets** (upper) and **User-Created Presets** (lower), visually distinguished by dividers and labels. Eight built-in presets are included: "Updated Today", "7 Days", "30 Days", "Large Files", "Images", "Office Documents", "Executables", and "Small Files"; these cannot be deleted. Date-based built-in presets dynamically calculate dates at application time, always searching with the latest date range. User-created presets let you save current search conditions with a name and restore them with one click. Presets persist after app restart.

##### Saved Conditions

The following search conditions are saved in a preset.

| Item | Content |
| :--- | :--- |
| **Mode** | Normal search or Index search |
| **Keyword** | Search text |
| **Size** | Min / Max size filter values |
| **Date** | Start / End date filter values |
| **Extension filter** | Enabled state for each type: Folders, Excel, Word, PPT, PDF, TXT, EXE, BAT, JSON, Images, Others |
| **Sort** | Sort column (Name / Date Modified / Size / Extension) and direction (Ascending / Descending) |
| **Scope** | Target folder selection state for index search |

##### Saving a Preset

1. Set search conditions, then click the star icon to open the popup
2. Click the "Save current conditions" button at the bottom of the popup
3. A preset name input dialog appears
4. Enter a name and confirm; a confirmation dialog shows the conditions to be saved (mode, keyword, size, date, filter, scope, sort)
5. Click "OK" to save the preset; a toast notification confirms the save

Presets are automatically categorized as normal search or index search. The popup only shows presets matching the current mode.

##### Applying a Preset

Click a preset in the list to restore all saved conditions at once and automatically execute the search. On application, size and date filter icon states (underlines, etc.) are immediately synchronized.

##### Preset Preview

Hover over a preset in the list to view its saved conditions in a tooltip. Displayed items include keyword, size, date, filter, scope, and sort; only items with values are shown. Size is displayed in `1 GB` format and dates in `yyyy/MM/dd` format.

##### Deleting a Preset

Hover over a user-created preset to reveal an X button on the right. Clicking it immediately deletes without confirmation, and a toast notification confirms deletion. Built-in presets cannot be deleted.

##### Condition Reset

Click the "Reset conditions" button on the lower left of the popup to reset all current search conditions to their initial state at once.

| Item | State after reset |
| :--- | :--- |
| **Keyword** | Cleared to empty |
| **Size filter** | Min / Max both cleared |
| **Date filter** | Start / End both cleared |
| **Sort** | Date Modified descending (default) |
| **Extension filter** | All types re-enabled |
| **Search mode** | Not changed (maintained) |
| **Scope** | Not changed (maintained) |

A toast notification "Reset all search conditions" is displayed upon completion.

### 3-4. Themes (Color Customization)

You can change the app's color theme from Control Deck (default: `Ctrl+Shift+O`) > "Theme." Simply selecting a theme instantly applies the colors across the entire UI without requiring a restart. The selected theme is automatically restored on next launch.

#### Choosing a Theme
The theme list is displayed as tiled cards. Each card shows the **theme name** (bold), **author**, and **4 representative color chips** (background, sidebar, accent, text), letting you compare color schemes at a glance. The selected theme is highlighted with an accent-colored border.

#### Theme Customization (GUI)
**Right-click** a theme card > "**Customize Theme**" to open a customization dialog for editing all color keys individually. In the free version, theme customization is limited to 5 uses per day. Color keys are organized into 7 tabbed sections (Base UI Elements, File List, Search, Accent/Error, Context Menu, Navigation Pane/Control Deck, and Misc). Within each section, color items are classified into subgroups (backgrounds, text, buttons, etc.) with group headers, making it easy to locate the color you want to adjust. Clicking the color swatch on each row opens a color picker. Changes are immediately live-previewed, so you can verify the result before saving.

Changes do not overwrite the original theme; only the differences are saved to `themes/_custom/{ThemeName}.json`. Customized themes are identified by a palette icon on the card, and right-click > "**Reset to Default**" removes all customizations at once.

#### Theme Export (Advanced)
Press the "Export Theme" button below the theme list to export the currently applied color scheme as a JSON file in the `themes/` folder. Edit this file with a text editor and change color codes (`#RRGGBB` / `#AARRGGBB` / color names) to create original themes. Simply adding a `.json` file to the `themes/` folder automatically displays it in the theme list.

Editing the `Description` and `Author` fields at the top of the JSON file updates the theme list card display.

#### Theme List (50 Themes, 5 Categories)

Themes are organized into 5 categories.

##### Standard — Universal practical workspace
| Theme Name | Description |
| :--- | :--- |
| **standard** | Zenith Filer's default calm beige-based theme |
| **SolarizedLight** | A scientifically calculated color design that supports extended text browsing |
| **Nordic** | Clear palette combining glacier-like cleanliness and silence |
| **PaperWhite** | A theme specialized for organizing text information, recreating paper-and-ink contrast |
| **Daylight** | A bright, open theme like working under natural light |
| **CloudGray** | A neutral gray theme like an overcast sky, easy on the eyes |
| **Snowfield** | A refreshing theme based on snow-white tones |
| **Limestone** | A warm gray-beige theme inspired by limestone |
| **SilverBirch** | A soft silver-gray theme inspired by birch bark |
| **Graphite** | A sharp theme based on pencil-lead dark gray |

##### Lifestyle — Soft, colorful living atmosphere
| Theme Name | Description |
| :--- | :--- |
| **Espresso** | Dark roast coffee and latte colors. A theme for calm, focused work in a study |
| **MilkTeaPearl** | Rose beige and pearly textures. A warm "grown-up cute" cozy style |
| **Sakura** | Soft pink and white with a Japanese aesthetic for an elegant, calming palette |
| **MintSorbet** | Mint green and pure white. A clean, light, and active style |
| **LavenderMist** | Elegant lavender and misty gray for a refined, calm feminine style |
| **Horizon** | A warm gradient theme inspired by a sunset horizon |
| **Apricot** | Soft orange and cream tones like apricot fruit |
| **SkyCanvas** | A refreshing blue theme like a canvas painted with clear sky |
| **Honeydew** | A natural, easygoing theme in pale honeydew green |
| **RoseDust** | An elegant muted pink theme like faded rose petals |

##### Professional — Dark mode for focus
| Theme Name | Description |
| :--- | :--- |
| **midnight** | A gentle dark mode that enhances concentration in low-light environments |
| **SlateBlue** | Deep navy blue evoking the silence of a late-night office and advanced information processing |
| **Monochrome** | A workspace that eliminates color bias for focusing solely on data structure |
| **blueprint** | Intellectual design inspired by blueprints, composed of drafting blue and white |
| **Obsidian** | An immersive dark theme based on deep obsidian black |
| **Pewter** | A dark theme with sophisticated metallic gray like pewter |
| **IronSteel** | A cool dark gray theme with the hardness of wrought iron |
| **Basalt** | A theme based on the heavy dark gray of basalt rock |
| **DarkAmber** | A warm dark theme with amber accent highlights |
| **Nightfall** | A deep dark blue theme inspired by post-sunset twilight |

##### Premium — Bold dark themes
| Theme Name | Description |
| :--- | :--- |
| **ImperialGold** | Gold gleaming in jet black darkness. A supreme theme combining overwhelming gravitas and elegance |
| **CrimsonPeak** | Bold contrast of dark gray and vivid crimson. An executive dark theme that inspires decisiveness |
| **Forest** | Easy on the eyes with deep green and earthy brown, providing a calm environment |
| **Sapphire** | A noble dark theme with deep sapphire blue radiance |
| **Amethyst** | A mystical, refined dark theme based on amethyst purple |
| **Copper** | A calm dark theme with warm metallic copper tones |
| **Jade** | An oriental dark theme with beautiful deep jade green |
| **Burgundy** | A rich dark theme in deep red-purple like Burgundy wine |
| **RoseGold** | A theme with beautiful contrast between rose gold glamour and a dark background |
| **Mahogany** | A classical dark theme in deep reddish-brown like mahogany wood |

##### RetroTech — Retro or cyber
| Theme Name | Description |
| :--- | :--- |
| **Terminal** | A high-tech dark theme that enhances immersion in programming and system administration |
| **CyberNeon** | High-energy cyberpunk style with neon lights shining in pitch darkness |
| **AmberConsole** | Retro console with amber glowing on jet black, reminiscent of 80s terminals |
| **Retro95** | Nostalgic palette that reimagines classic OS UI with a modern interpretation |
| **DeepSea** | A cyber palette where important information surfaces from deep, quiet blue |
| **PhosphorBlue** | A retro blue-screen theme recreating old monitor phosphor displays |
| **Vaporwave** | A retro-futuristic theme in pink and cyan with vaporwave aesthetics |
| **LaserRed** | A cyberpunk theme with vivid red laser light cutting through darkness |
| **Ultraviolet** | A fantastic theme combining deep ultraviolet purple with neon |
| **HoloGrid** | A futuristic cyberspace theme with floating hologram grids |

#### Theme Schedule Switching
Automatically switch between a daytime theme and a nighttime theme based on time of day. Select "Schedule" mode in theme settings, then configure the switching times and assign a theme to each time slot.

#### Theme Store
An online store where you can browse, download, and rate community-created themes. Access it from the "Theme Store" tab in theme settings. You can also upload and share your own custom themes (Pro feature). Sort by download count, rating, or newest first, and preview themes before applying them.
- **Theme author display**: Theme cards show the author name (Design by XX).
- **Store theme comparison**: Check differences between installed themes and their store versions.

#### Automatic Updates for Default Themes
Built-in themes are automatically updated by downloading the latest versions from the store.

#### Theme Customization Auto-Navigation
Clicking a color item in the theme customization screen automatically highlights the UI area where that color is used. Every color key includes a "-> Used in" description.

#### AI-Generated Themes
You can have AI automatically generate themes. Generate theme colors from text instructions or images, preview the result, and install it.

---

### 3-5. AI-Powered Features

Zenith Filer includes 8 types of AI-powered assistance features. Configure the API provider and key in Control Deck > AI before use.

#### 3-5-0. AI Provider Settings
- **Location**: Control Deck > AI
- **Supported providers**: Claude / OpenAI / Azure OpenAI / Gemini / Ollama
- **API key management**: Encrypted with DPAPI and stored locally only (never sent externally). Use "Clear" to remove saved keys
- **Test connection**: Verify API key validity with the "Test Connection" button in the API key section. On failure, displays HTTP status code-specific guidance (invalid key, insufficient permissions, rate limit, etc.)
- **Model selection**: Choose from a dropdown per provider (defaults used when empty)
- **Model validation**: Use the "Validate Model" button in the model section to verify whether the selected model is actually available. Catches model name typos and access permission issues before use
- **AI ON/OFF**: Toggle AI features via the Sparkles icon in the status bar. Long-press to open settings directly
- **Ollama (local LLM) provider**: Supports the Ollama provider for local execution without an API key. Features one-click automatic installation, recommended model download management, and automatic server start/stop. When Ollama is not installed, the Ollama tab displays a step-by-step setup guide:
  1. **Install Ollama** — One-click automatic download and installation
  2. **Start the server** — Start the server after installation completes
  3. **Download a model** — Select and download from recommended models

  Each step updates its display based on completion status. Once the server is running, the guide disappears and the normal settings screen (endpoint, model selection, recommended model list) is shown
- **6-tab AI settings layout**: AI settings are divided into 6 sub-tabs: Overview, Ollama, Gemini, Azure OpenAI, OpenAI, and Claude. The Overview tab provides per-feature toggles for automatic AI functions (greeting, rename suggestions, epithet generation, backstory generation, and backup summaries)

#### 3-5-1. AI Theme Diagnosis
- **Operation**: Control Deck > Theme > AI Theme Diagnosis
- **How it works**: Answer 3-5 multiple-choice questions to receive a best-match recommendation from 50 themes
- Suggests a theme with an explanation of why it matches, ready to apply
- Pro feature (free version: 3 uses/day, shared with theme generation)

#### 3-5-2. AI Theme Generation
- **Operation**: Control Deck > Theme > AI Theme Generation
- **How it works**: Describe in natural language (e.g., "a dark theme inspired by outer space") to generate an original 52-color theme
- Live preview for instant verification > request adjustments > save
- Generated themes are added to the "AI Generated" category, with automatic category classification based on color analysis
- Automatic WCAG contrast validation ensures readability

#### 3-5-3. AI Theme Adjustment
- **Operation**: Right-click a theme card > "Adjust with AI"
- **How it works**: Give natural language instructions for color changes (e.g., "make it darker," "change accent to red tones")
- Changes are immediately reflected in the preview
- The customization dialog is non-modal, so you can interact with the app's file lists and nav pane while the dialog remains open, allowing you to verify the applied theme before saving
- Automatic WCAG contrast validation ensures readability

#### 3-5-4. AI Folder Analysis
- **Location**: AI Folder Organizer view in the nav pane
- **Analysis**: Press "Analyze" for an AI-generated 3-section report (📊 Current State / ⚠️ Issues / 💡 Improvement Suggestions)
- **Action generation**: Approve with YES/NO to generate specific actions (folder creation, moves, renames, up to 30 items)
- **Execution**: Select individually via checkboxes > batch execute > Undo (Ctrl+Z) supported
- Additional instructions can be given in chat format. Markdown export of chat history is also supported
- Pro feature (free version: 3 uses/day)

#### 3-5-5. AI Manual (Help Q&A)
- **Location**: AI Manual view in the nav pane, or from the document viewer dialog
- **How it works**: Ask questions about app usage in natural language; the system automatically searches the manual and provides accurate answers
- Covers app settings, key bindings, theme lists, and more
- Markdown rendering supported; long answers displayed in split bubbles
- Pro feature (free version: 3 uses/day)

#### 3-5-6. AI Tab Management
- **Location**: AI Tab Management view in the nav pane
- **Scoring**: Evaluates tabs using frequency 30% + dwell time 30% + recency 40%, suggesting lock/close actions
- **Working set detection**: Automatically detects working sets from A+B pane co-occurrence patterns
- **Related folder suggestions**: Suggests related folders based on co-occurrence history
- Indicators displayed on tab headers; "Apply all" for batch operations
- Pro feature (free version: 3 uses/day)

#### 3-5-7. AI Usage Statistics Analysis
- **Operation**: Control Deck > Statistics > "AI Usage Statistics Analysis" section at the top
- **How it works**: Press "Analyze" to cross-analyze 7 data sources and provide up to 7 types of insights
- **Insight examples**: Unregistered frequent folders, hidden workflows, search optimization, quick-flip tabs, underutilized features, dead favorites, operation style bias, dual-pane utilization
- Each insight is presented as a "finding + specific action suggestion" pair
- Pro feature (free version: 3 uses/day)

#### 3-5-8. AI File Name Suggestions
- **Location**: "AI Suggestions" section within the file/folder rename dialog
- **How it works**: Considers parent folder structure, sibling file naming conventions, and rename history to suggest 3-5 candidates
- No usage limits (free)

#### 3-5-9. AI Favorites Organization
- **Location**: AI Favorites Organization view in the nav pane
- **How it works**: Let AI analyze and optimize your favorites structure. Supports container classification suggestions, name improvements, and automatic custom icon assignment

#### 3-5-10. AI Backup Summary
- **Location**: Runs automatically during settings backup
- **How it works**: When backing up settings, AI automatically generates a natural-language summary of the changes. You can review a summary of each backup version's changes in the backup list

#### 3-5-11. AI Folder Creation
You can request AI to generate a folder structure by clicking the ✨ button next to the new folder icon in the pane header.

- **Prompt input**: Describe the purpose or intended use of the folders you want to create in natural language. The more specific you are (target time period, classification criteria, naming convention preferences, etc.), the better the results
- **Priority chips**: Use four chip buttons — "Relevance," "Structure," "Naming," and "Scalability" — to adjust the AI's proposal strategy. If none are selected, the AI decides automatically
- **Self-evaluation**: The AI self-evaluates its proposal across 4 axes (relevance, structure, naming, scalability) plus an overall score, displaying star ratings and comments at the top of the preview
- **Integration with existing folders**: When existing folders are present, the AI proposes three types of actions: create new (🟢), keep (🔵), and rename (🟡). Renames are only proposed for unifying naming conventions (e.g., adding number prefixes)
- **File pattern analysis**: The AI analyzes existing file names and timestamps in the folder to detect patterns such as year-month or sequential numbering, and proposes a comprehensive folder structure
- **Regeneration with additional instructions**: After the preview is displayed, use the "Additional instructions" button to add conditions and regenerate (e.g., "Create folders for all months from 2024 to 2026")
- **Individual exclusion via checkboxes**: Uncheck individual folders to exclude them from execution
- **Undo support**: Created folders can be batch-deleted with Undo

#### AI Token Statistics
- In the Overview tab of AI settings, you can check monthly and per-model token usage and estimated costs

#### AI/Pro Badges
- AI features display a purple **Sparkles badge**, and Pro (licensed) features display an orange **Lock badge**
- Shown in the nav pane icon bar, view headers, and settings screens
- Toggle with Settings > General > "Show badge dots"

---

## 4. How Index Search Works and Tuning

This section explains the concepts, settings details, and technical workings of index search. It includes both beginner-friendly content for understanding operations and configuration, and advanced technical explanations for those interested in implementation and tuning.

### 4-1. What Is Index Search

**Index search** is a feature that pre-stores file information from folders in a database (index), enabling **instant search results even from massive numbers of files**.

| Search Mode | Characteristics | Best suited for |
| :--- | :--- | :--- |
| **Normal search** | Scans the folder on the spot. Always current, but slow for large folders. | Searching within small to medium folders that are currently open. |
| **Index search** | Uses a pre-built index. Extremely fast, but requires tuning for "when and how much to update." | Cross-folder searching across multiple registered folders. |

Zenith Filer's index feature uses a full-text search engine based on **Lucene.NET** (the .NET port of Apache Lucene), tuned for high-precision searching of Japanese file names and paths.

### 4-2. Index Lifecycle

Indexes are managed through the following flow, from folder registration to updating and rebuilding.

- **Registration**: Adding a folder in "Index Search Settings" (default: Ctrl+Shift+4) registers it as a search target. No index is created at this point.
- **Initial indexing**: Pressing "Create Unindexed" scans disk files and creates indexes only for folders that have never been indexed.
- **Incremental update**: Depending on the configured update mode, indexes are updated via FileSystemWatcher instant detection, periodic rescanning, or manual execution only.
- **Full rebuild**: Selecting "Execute Full Rebuild..." from the menu (three dots) deletes and recreates all folder indexes from scratch. If re-executed within the "Full Re-index Minimum Interval" setting, the actual full scan is skipped.
- **Pause and Resume**: "Pause" stops new index creation, and "Resume" resumes it. Existing indexes remain usable, and searching is available while paused.

**Index states** are displayed in the index search settings view as follows.

| State | Meaning |
| :--- | :--- |
| **Not Indexed** | Index has never been created. May not be included in search results. |
| **Index Complete** | Index creation for current content is complete. |
| **Incremental Update In Progress** | Catching up to the latest state via change detection or periodic scanning. |
| **Paused** | Index updating is paused. Existing indexes remain usable. |

### 4-3. Index Search Settings View Details

The index search settings view (default: Ctrl+Shift+4) is where you register/remove search target folders, check status, and manually update.

- **Adding and removing folders**: "Add Folder" lets you select from the tree, "Add Current Folder" adds the folder currently displayed in Pane A/B. Select an item in the list and use the "Delete" button or right-click menu to remove.
- **Right-click menu**:
  - **Rebuild Index**: **Completely deletes** the folder's index and rescans disk files from scratch. Use this when you **need to reflect deleted files** or when the index structure has changed (e.g., after a version upgrade).
  - **Incremental Update**: Maintains the existing index and reflects only **new and updated items**. For routine "I want to pick up recent changes" cases, prefer this option.
- **Index Status block**: Displays the current state (Index Complete / Incremental Update In Progress / Paused) and total count. If no search target folders are registered, the total count shows as 0. "Create Unindexed" manually indexes only unindexed folders, and "Pause" / "Resume" control index creation. "Execute Full Rebuild..." and "Open Index Settings" are accessible from the menu (three dots).

### 4-4. App Settings "Indexing & Search Result Freshness" Details

In Control Deck (default: Ctrl+Shift+O) > "Index" category, you can configure options for index update timing, load, and freshness.

#### 4-4-1. Index Update Timing and Load

| Option | Best suited for | Internal behavior |
| :--- | :--- | :--- |
| **Automatically incorporate changes** | Directories that update frequently (development folders, documents) where you always want the latest search results. | Uses FileSystemWatcher to detect changes and **incrementally updates** the target folder's index each time. If many updates occur continuously, update frequency increases; consider "Update at regular intervals" mode if load is a concern. |
| **Update at regular intervals** | Shared folders with batch changes overnight, or frequently updated but real-time accuracy not needed. | Scans all target folders at the specified interval (1h / 2h / 4h / 1day) to bring indexes up to date. CPU/disk load spikes temporarily but update frequency is controlled. |
| **Update only when needed** | When you want to minimize background processing or avoid loading shared servers. | No automatic updates; indexes are only updated when "Create Unindexed" or "Full Rebuild..." is executed. |

#### 4-4-2. Performance and Load

- **Update index in power-saving mode**: Adjusts background processing granularity by inserting wait times at regular intervals to avoid sustained CPU/disk usage.
- **Process network drives gently**: Applies longer wait times when scanning UNC and mapped drives compared to local disks, **reducing network bandwidth and server load** while updating indexes.

#### 4-4-3. Search Result Freshness

- **Keep as up-to-date as possible (freshness priority)**: When ON, executing an index search triggers the following background operations on a separate thread. For each search target folder, if already indexed, performs an **incremental update**; if never indexed, automatically executes processing **equivalent to "Create Unindexed."** The goal is to gradually bring the index up to date while maintaining search result delivery speed.
- **Show message when index may be stale**: When ON, a yellow warning bar is shown at the top of the search results screen only when all of the following conditions are met: (1) index search mode is active, (2) the freshness setting above is ON, (3) the search target folders include **folders that have never been indexed**. When OFF, the warning bar is never shown regardless of index state. Displayed warnings can be **temporarily dismissed with the X button** (effective only within that search tab).

### 4-5. Search Execution Flow (Normal Search vs. Index Search)

**Flow when pressing Enter in an index search tab (overview)**:

1. First, **existing indexes only** are used to quickly retrieve hit candidates and display results.
2. (Normal search mode only) If needed, the folder's index is recreated, and if results change, the list is refreshed.
3. When "freshness priority" is ON, background incremental updates run separately from the foreground search, improving accuracy and freshness for subsequent searches.

**Normal search**: If the folder is not yet indexed, creates the index first, then executes the search. If already indexed, search results appear immediately.

### 4-6. Search Result Freshness Warning Bar

The yellow bar displayed at the top of index search results is a **notice that "search results may be outdated."**

- It appears only when some target folders have not yet been indexed.
- The index itself is safe to use, but creating indexes once with "Create Unindexed" will stabilize future search results.
- If the message is unnecessary, **close it with the X button** on the right of the bar, or turn off "Show message when index may be stale" in app settings.

### 4-7. Troubleshooting and Best Practices

| Issue | Possible Cause | Action |
| :--- | :--- | :--- |
| File not found in search results | Index has not been created yet, or the target folder is not registered. | Register the folder in Index Search Settings and execute "Create Unindexed." |
| Results are clearly outdated | Deleted or moved files still remain in the index. | Right-click the folder and execute "Rebuild Index." |
| Warning bar appears frequently | Unindexed folders are registered. | Close the warning with "X," or turn off "Show message when index may be stale" in app settings. Alternatively, execute "Create Unindexed" once to prevent future warnings. |
| Server becomes slow / concerned about background load | Freshness priority or automatic updates are running frequently. | Set to "Update only when needed," turn OFF "freshness priority," and enable "Process network drives gently" for network drives. |
| Keyboard shortcuts stop responding | Focus is stuck on the terminal pane or a specific control. | Restart the app. Clicking on another pane or file list to return focus may also resolve the issue. |

### 4-8. Technical Details (For Developers and Advanced Users)

This section is for those interested in technical details. It is not required for understanding operations or settings.

#### 4-8-1. Libraries and Versions

| Library | Version | Purpose |
|---|---|---|
| Lucene.Net | 4.8.0-beta00017 | Full-text search engine core |
| Lucene.Net.Analysis.Kuromoji | 4.8.0-beta00017 | Japanese morphological analysis (tokenization) |
| Lucene.Net.QueryParser | 4.8.0-beta00017 | Query string parsing |
| sqlite-net-pcl | 1.9.172 | SQLite async database access |
| SQLitePCLRaw.bundle_green | 2.1.11 | SQLite native bindings |
| .NET 8 / WPF | -- | Application framework |
| CommunityToolkit.Mvvm | 8.2.2 | MVVM framework |

#### 4-8-2. Index Physical Structure

Indexes are stored in the `index/` directory within the app execution folder. Uses Lucene's `FSDirectory` (file system-based) and opens in `CREATE_OR_APPEND` mode.

**Directory file structure:**

| File | Description |
|---|---|
| `segments_N` | Lucene segment manifest (N is the generation number) |
| `_N.cfs` | Compound File Storage (segment data body) |
| `write.lock` | Lucene writer exclusive lock file |
| `indexed_roots.json` | Persisted data for indexed roots |
| `last_full_rebuild.txt` | ISO8601 timestamp of the last full rebuild |
| `zenith.db` | SQLite database (history, search history, usage statistics, etc.) |

**indexed_roots.json format:**

```
{
  "C:\\Users\\example\\Documents": "2026-03-07T10:30:00|locked|5428"
}
```

The value is pipe-delimited with 3 elements: ISO8601 timestamp (last index date), `locked` flag (only when archive-locked), and document count snapshot.

#### 4-8-3. Document Schema (Lucene Field Definitions)

Each file/folder is registered as a single Lucene document. The field structure is as follows.

| Field Name | Type | Tokenized | Stored | Purpose |
|---|---|---|---|---|
| `path` | StringField | No | Yes | File/folder full path. Used as the `UpdateDocument` Term for unique identification. Also used for `PrefixQuery`-based path scope filtering |
| `name` | TextField | Yes (JapaneseAnalyzer) | Yes | File/folder name. Main search target. Tokenized via Kuromoji morphological analysis |
| `name_raw` | StringField | No | Yes | Lowercased copy of the file name (not tokenized). Fallback for `WildcardQuery` partial matching |
| `size` | Int64Field | -- | Yes | File size in bytes. 0 for folders. Used in `NumericRangeQuery` for size filtering |
| `modified` | StringField | No | Yes | Last modified date. Converted to SECOND precision string via `DateTools.DateToString`. Used in `TermRangeQuery` for date filtering |
| `is_dir` | Int32Field | -- | Yes | Directory flag (0=file, 1=folder) |

#### 4-8-4. Japanese Tokenization

The `name` field uses `JapaneseAnalyzer` (Kuromoji morphological analysis engine) for searching. This splits Japanese text into meaningful word units, enabling natural searches like finding "3rd Meeting Minutes.docx" when searching for "meeting minutes."

**Tokenization flow:**

1. Call `JapaneseAnalyzer`'s `GetTokenStream("name", keyword)`
2. Get `ICharTermAttribute` and read tokens sequentially with `IncrementToken()`
3. Build a `PhraseQuery` (for multiple tokens) or `TermQuery` (for a single token) from the resulting token sequence

This processing is executed in the `BuildQueryFromTokenized()` method as a fallback when `QueryParser.Parse()` throws a `ParseException`. Even when queries containing wildcard characters (`*`, `?`) or boolean operators cause parse errors, the search automatically falls back to tokenization-based search.

#### 4-8-5. Query Construction Pipeline

This explains the full process from search keyword to Lucene query construction.

**Step 1: Query Parse**

Parses the keyword with `QueryParser` (field: `name`, analyzer: `JapaneseAnalyzer`). Initial settings:

- `DefaultOperator = Operator.AND` (only results containing all keywords)
- `AllowLeadingWildcard = true` (allows leading wildcards like `*report`)

**Step 2: Parse Error Fallback**

If a `ParseException` occurs, `BuildQueryFromTokenized()` morphologically analyzes the keyword and builds a token-based query (see 4-8-4).

**Step 3: Hybrid Query Construction**

In addition to the parse result, a `WildcardQuery` (`*keyword*`) on the `name_raw` field is combined as a SHOULD condition.

```
BooleanQuery {
  SHOULD: parsedQuery        <- name field (morphologically analyzed)
  SHOULD: WildcardQuery      <- name_raw field (partial match)
}
```

This ensures partial matches for alphanumeric characters and katakana that morphological analysis cannot split.

**Step 4: Path Scope Application**

- **Normal search**: The current folder path is added as `PrefixQuery("path", "C:\\current\\path\\")` with MUST condition, limiting to that folder's descendants
- **Index search**: Multiple index roots from `GetScopePathsForSearch()` are combined as `PrefixQuery` SHOULD clauses in a `BooleanQuery` with MUST condition

**Step 5: Filter Application (`ApplySearchFilter`)**

When search filters are set, the following queries are added with MUST condition.

- **Size filter**: `NumericRangeQuery.NewInt64Range("size", min, max, true, true)`
- **Date filter**: `TermRangeQuery("modified", minStr, maxStr, true, true)` -- dates are converted to SECOND precision strings via `DateTools.DateToString`

**Step 6: AND to OR Fallback**

When AND search returns 0 results and the keyword contains spaces, `DefaultOperator` is switched to `Operator.OR` for automatic re-search. Even if "meeting report" yields no AND hits, files containing "meeting" or "report" will be shown.

**Result limits and sorting:**

- Normal search: Maximum 500 results
- Verification (no keyword): Maximum 1,000 results
- CSV export: Limit specifiable via `maxResultsOverride` parameter
- Sort order: Date modified descending (`SortField("modified", SortFieldType.STRING, true)`)

**Examples:**

| Input | Constructed Query | Description |
|---|---|---|
| `minutes` | `name:minutes OR name_raw:*minutes*` | Morphological analysis + partial match OR |
| `meeting materials` | `(name:meeting AND name:materials) OR name_raw:*meeting materials*` | AND search, falls back to OR if 0 results |
| `*.xlsx` (in folder C:\Work) | `name_raw:*.xlsx* AND path:C:\Work\*` | Wildcard + path scope |
| Size >= 1 MB + this month | Main query `AND size:[1048576 TO *] AND modified:[20260301... TO 20260307...]` | Lucene-level filter application |

#### 4-8-6. Implementation Differences Between Normal and Index Search

| Item | Normal Search | Index Search |
|---|---|---|
| Scope | Single current folder (`PrefixQuery` limited) | All registered roots (multiple `PrefixQuery` OR combination) |
| Data Source | Lucene index (same engine) | Lucene index (same engine) |
| Filter Method | Size/Date: Lucene query level | Size/Date: Lucene query level |
| Extension Filter | UI level (`ICollectionView` filter, 11 categories) | UI level (`ICollectionView` filter, 11 categories) |
| Max Results | 500 | 500 |

Both normal and index search use the same Lucene engine, but differ in scope breadth. Normal search is limited to a single folder's descendants with `rootPath = CurrentPath`, while index search spans all registered roots.

#### 4-8-7. Indexing Pipeline

The processing flow from folder registration to index completion.

1. **Registration**: Add folder to `_pendingRoots` queue
2. **Exclusive control**: `SemaphoreSlim(1,1)` limits to 1 concurrent task. After acquisition, move to `_inProgressRoots`
3. **Box Drive warm-up**: For Box Drive paths, `WarmUpBoxDirectoryAsync()` recursively enumerates all directories beforehand, promoting stub file materialization and preventing "access denied" errors during the main scan
4. **Tree traversal**: Stack-based non-recursive depth-first traversal of the folder tree
5. **Enumeration options**: `EnumerationOptions` with `IgnoreInaccessible = true`, `AttributesToSkip = FileAttributes.System | FileAttributes.Temporary`
6. **Document registration**: `UpdateDocument` (upsert) adds/updates files/folders as Lucene documents
7. **Commit**: `IndexWriter.Commit()` at regular intervals. Commit frequency varies by drive type:
   - Local drive: Every 500 items
   - Network drive: Every 100 items
   - Box Drive: Every 50 items
8. **Throttling**: Wait times inserted after batch processing to control CPU, disk, and network load:
   - Local: 15ms (50ms in power-saving mode)
   - Network: 50ms (100ms in power-saving mode)
   - Box Drive: 200ms (+150ms in network low-priority mode, +50ms in power-saving mode, max 400ms)
9. **Thread priority**: During scanning, `Thread.CurrentThread.Priority = ThreadPriority.BelowNormal` is set and restored on completion
10. **Completion**: Added to `_indexedRoots` and persisted to `indexed_roots.json`. Timestamp and document count are recorded

**Exclusions (automatically skipped):**

The following folders and files are automatically excluded from indexing.

- **Folders**: `.git`, `.svn`, `.hg`, `node_modules`, `bower_components`, `.vs`, `obj`, `bin`, `.nuget`, `__pycache__`, `.mypy_cache`, `venv`, `.venv`, `.next`, `.nuxt`, `.gradle`, `$Recycle.Bin`, `System Volume Information`, `Recovery`, `PerfLogs`, all folders starting with `$`
- **Files**: `desktop.ini`, `Thumbs.db`, `.DS_Store`, `NTUSER.DAT`, Office temporary files starting with `~$`, extensions `.tmp`/`.temp`/`.bak`/`.swp`/`.swo`, files without extensions

#### 4-8-8. Concurrency Control and Thread Management

- **SemaphoreSlim(1, 1)**: Limits index creation tasks to 1 concurrent task. Ensures stable status bar progress display and reduces server load
- **lock(_lockObj)**: Protects concurrent access to `IndexWriter` and collections (`_indexedRoots`, `_inProgressRoots`, etc.)
- **Thread.Priority = BelowNormal**: Lowers thread priority during scanning to maintain UI responsiveness
- **CancellationToken chaining**: `CancellationTokenSource.CreateLinkedTokenSource` combines the global cancellation token with user-operation cancellation tokens, allowing cancellation from either source
- **CpuIdleService integration**: When `IdleOnlyExecution` is enabled in Interval mode, index execution waits until CPU usage drops below the threshold (default 20%)
- **Fire-and-forget exception handling**: Auto mode incremental update tasks use `ContinueWith(OnlyOnFaulted)` to observe exceptions and prevent `UnobservedTaskException`

#### 4-8-9. SQLite Database (zenith.db)

Various app history and statistical data is stored in `index/zenith.db` (SQLite).

| Table Name | Purpose | Key Columns |
|---|---|---|
| `HistoryRecord` | Folder browse history | `Path` (PK), `LastAccessed`, `SourceType` (Local/Server/Box/SPO), `AccessCount` |
| `SearchHistoryRecord` | Search history | `Key` (PK), `Keyword`, `IsIndexSearch`, `IsGrepSearch`, `LastSearched`, `PresetName`, `MinSizeText`, `MaxSizeText`, `StartDateText`, `EndDateText` |
| `RenameHistory` | Rename history | `Name`, `LastUsed` |
| `CustomRenameButton` | Custom rename button definitions | User-defined rename templates |
| `UsageRecord` | License usage records | `Id` (PK, AutoIncrement), `FeatureKey` (indexed), `UsedAt` (ISO8601) |
| `ActionStat` | Usage statistics | `ActionKey`, `Count`, `LastUsedAt` |

The `SearchHistoryRecord` `Key` is a composite key of `keyword + "\u0001" + (isIndexSearch ? "1" : "0")`, distinguishing between normal and index search for the same keyword. Filter condition columns (`PresetName`, size/date text) were added in V2 migration.

#### 4-8-10. FileSystemWatcher Integration (Folder Monitoring)

Each tab monitors the current folder with `FileSystemWatcher`, reflecting external file changes in real time.

**Monitoring settings:**

- `NotifyFilter`: `FileName`, `DirectoryName`, `LastWrite`, `Size`
- `InternalBufferSize`: 64KB (65,536 bytes)
- Monitored events: `Created`, `Deleted`, `Changed`, `Renamed`

**Index integration in Auto mode:**

When the index update mode is Auto, indexes are immediately updated in response to file change events.

- `Created` / `Changed` -> `AddFileToIndex(fullPath)`
- `Deleted` -> `RemoveFileFromIndex(fullPath)`
- `Renamed` -> `RemoveFileFromIndex(oldPath)` + `AddFileToIndex(newPath)`

In Interval / Manual modes, indexes are updated only by scheduled intervals or manual triggers.

**Automatic reconnection on error:**

When monitoring errors occur, automatic reconnection is attempted with exponential backoff.

- Wait times: 1s -> 2s -> 4s -> 8s -> ... -> max 30s
- Maximum retries: 10
- After all retries fail, monitoring stops and is supplemented by refresh when the tab becomes active

### 4-9. Settings Backup & Recovery

From Control Deck (default: Ctrl+Shift+O) > "Recovery" category, you can manage settings backup and restoration.

#### Creating Backups

| Timing | Behavior |
| :--- | :--- |
| **On app exit (automatic)** | `backups/settings_yyyyMMdd_HHmmss.json` is automatically generated each time the app closes |
| **"Back up now" button** | Immediately backs up the current `settings.json`. The summary reads "Manual backup" |

#### Change Summary (Diff Summary)

Each backup has a summary in Japanese showing the differences from the previous backup, saved in a `.desc` file (e.g., "Updated Pane A home, search behavior"). The first backup is recorded as "Initial backup."

#### Backup List (Inline Display)

Opening the "Recovery" category displays the backup list within the settings screen.

- **Columns**: Date/Time / Lock status (lock icon) / Change summary / Edit button / Restore button
- **Edit summary**: Click the pencil button to edit the change summary inline. Enter to confirm, Escape to cancel. Locked backups cannot be edited
- **Restore**: Click the rotate-arrow button to display a confirmation dialog and restore to the selected point in time. After restoration, a restart prompt dialog appears; selecting "Yes" triggers automatic restart
- **Lock / Unlock**: Click the lock icon to toggle lock status. Locked backups are excluded from the 30-day auto-deletion policy. Lock important settings for protection

#### Automatic Cleanup

On app startup, backups older than **30 days** are automatically deleted. However, backups with a `.lock` file (locked) are not deleted.

#### Feedback Reporting from Error Dialogs
When an unexpected error occurs, you can send feedback directly from the error dialog. Error details are automatically attached.

---

## 5. Working Sets

A powerful feature that saves the entire state of the A/B panes (tab paths, locks, view modes, sort settings, selected items, scroll positions) as a "working set," allowing instant switching between "projects." Display it via the briefcase icon in the nav pane (default: Ctrl+Shift+5). A guide text briefly describing the feature's purpose is shown at the top of the view.

### 5-1. Saving
Click the "Save current state" button at the top of the nav pane and enter a name to save the complete state of both A/B panes. Data is persisted in `settings.json` and the entire list is preserved even after app exit and restart.

### 5-2. Preview and Commit (Rollback Feature)
Click a saved set in the list to instantly switch the A/B pane contents to that set's state. The key feature is that **"the original state is not affected until you commit."**

- **Preview state**: Clicking a set enters a temporary "preview" state, and a dedicated footer bar in the brand charcoal black color (#545B64) appears at the bottom of the screen.
- **Apply**: Press the "Apply this set" button in the footer to commit that state as your current working state.
- **Cancel (Rollback)**: Press the "Restore original state" button in the footer, or switch to another view (favorites, etc.) in the nav pane, to **automatically restore to the state immediately before loading the working set (all tabs, selection positions, scroll state)**. This makes context switching extremely smooth, such as "checking Project B materials while working on Project A and quickly returning."

### 5-3. Management
- **Rename**: Right-click a set and select "Rename" to edit the set name.
- **Delete**: Right-click a set and select "Delete," or select the item and press the delete button (trash can icon) to remove the set.

### 5-4. Quick Jump
Press `Ctrl+P` to open the Quick Jump dialog. It performs incremental search across favorites, frequently used folders, and recent folders, allowing you to navigate to the selected item with a single click.

- **Search**: As you type, candidates are filtered in real time based on name, path, and description. Name prefix matches receive the highest score.
- **Source badge**: A badge showing the source ("Favorites," "Frequent," or "Recent") is displayed on the right side of each candidate.
- **Keyboard navigation**: Use Up/Down arrows to move between candidates, Enter to confirm, and Escape to close.
- **New tab / overwrite toggle**: A slide toggle lets you choose between opening the selected folder in a new tab or overwriting the current tab. Defaults to new tab.
- **Click outside**: Clicking outside the dialog automatically closes it.
- The dialog appears near the mouse cursor position.

---

## 6. Keyboard and Mouse Interaction

- **Pane and nav focus switches on click**: To move keyboard focus to the **nav pane** (favorites, tree, browse history) or **Pane A/Pane B**, **click** the target area with the mouse, or use `Tab` or `Left Arrow`/`Right Arrow` on the keyboard. Hovering (just moving the mouse over) does not move focus, ensuring operations target the intended pane.
- **Focus to list**: When Pane A or Pane B has focus but the file list does not (e.g., immediately after startup or after clicking a tab or toolbar), pressing arrow keys, Enter, Delete, F2, or similar keys moves focus to the list and the pressed key takes effect immediately. When focus is on the path input field or search box, key input is used by those fields as usual.
- **Mouse interference prevention during keyboard operation**: When keyboard operations begin (arrow keys, Enter, shortcuts, etc.), the app automatically enters "keyboard operation mode" and the mouse cursor is hidden. During this time, hovering the mouse over the list or nav pane does not move selection or focus (preventing accidental focus jumps to items under the mouse cursor).
- **Automatic return to mouse operation**: During keyboard operation mode, physically moving the mouse approximately 3 or more pixels from its previous position automatically restores the mouse cursor, returning to normal mouse operation. A dead zone prevents recovery from slight vibrations. Opening modal dialogs (like the rename dialog) also auto-restores the cursor when window focus changes, allowing mouse operation within the dialog.

---

## 7. Keyboard Shortcut Reference

> The following are the default key assignments. They can be changed from **Settings > Shortcut Keys**.

| Key | Action |
| :--- | :--- |
| `Tab` | Toggle focus between Pane A and Pane B |
| `Left Arrow` | When focus is on Pane B, switch to Pane A |
| `Right Arrow` | When focus is on Pane A, switch to Pane B (in dual-pane mode) |
| `Ctrl + Tab` | Switch to the next tab |
| `Ctrl + T` | Open a new tab |
| `Ctrl + W` | Close the current tab |
| `Space` | **Quick Preview**: Overlay preview of the selected file's contents (supports text, images, PDF, HTML, Excel/CSV, Office documents; press Space again or Esc to close) |
| `Left Arrow` / `Right Arrow` (during preview) | Switch to previous/next file during Quick Preview (directories are skipped, stops at list edges) |
| `Enter` | Open folder / Execute file / Folder shortcuts (.lnk) open the link target folder in a new tab |
| `Backspace` | Go up one level |
| `Alt + Left Arrow` | Go back to the previous folder |
| `Alt + Right Arrow` | Go forward to the next folder |
| `F2` | Rename |
| `Ctrl + Shift + N` | Create a new folder (focus moves to it with rename ready) |
| `F5` | Refresh folder contents |
| `Ctrl + C` | Copy |
| `Ctrl + X` | Cut |
| `Ctrl + V` | Paste |
| `Ctrl + Z` | Undo (rename, move, copy, create, etc.) |
| `Delete` | Delete (to recycle bin) |
| `Ctrl + Shift + E` | Force focus to the active file pane |
| `Ctrl + Shift + 1` | Switch sidebar to "Favorites" |
| `Ctrl + Shift + 2` | Switch sidebar to "Tree View" |
| `Ctrl + Shift + 3` | Switch sidebar to "Browse History" |
| `Ctrl + Shift + 4` | Switch sidebar to "Index Search Settings" |
| `Ctrl + Shift + 5` | Switch sidebar to "Working Sets" |
| `Esc` (in search bar) | **Multi-stage reset**: 1st press clears keyword, 2nd press also clears size/date/scope filters and exits search |
| `Ctrl + F` | Focus on the active pane's search bar (exits index search mode if active) |
| `Ctrl + Shift + F` | Focus on the search bar and enter index search mode |
| `Ctrl + Shift + G` | Switch to file content search (grep) mode |
| `Ctrl + Shift + Q` | Switch to single-pane mode (Pane A only) |
| `Ctrl + Shift + W` | Switch to dual-pane mode (Pane A + Pane B) |
| `` Ctrl + Shift + ` `` | Toggle between single-pane and dual-pane mode |
| `Ctrl + Shift + 6` | Switch sidebar to "Recent Folders" |
| `Ctrl + Shift + 7` | Switch sidebar to "Recently Opened Files" |
| `Ctrl + Shift + 8` | Switch sidebar to "Properties" |
| `Ctrl + Shift + D` | Duplicate tab |
| `Ctrl + L` | Focus on the address bar |
| `Ctrl + Shift + A` | Show tab list |
| `Ctrl + Shift + Tab` | Switch to the previous tab |
| `Ctrl + P` | Quick Jump |
| `Ctrl + 1` | Single-pane mode |
| `Ctrl + 2` | Side-by-side dual-pane mode |
| `Ctrl + Shift + 2` | Top-bottom dual-pane mode |
| `Ctrl + A` | Select all |
| `A`-`Z` / `0`-`9` | **Incremental search**: In detail view, moves selection to a file/folder starting with the pressed key. Pressing the same key repeatedly cycles through items with the same initial letter. Pressing different keys within 500ms performs a prefix jump (excludes Ctrl/Alt combinations) |
| `Ctrl + Alt + F4` | Full exit in resident mode |
| `Esc` | Close breadcrumb dropdown menus / Close sub-windows like changelog and manual |

---

## 8. Challenge & Achievement System

A gamification feature that visualizes how extensively you use Zenith Filer. Access it from the "Challenge" page in settings.

### 8-1. How Challenges Work
Your everyday file operations are automatically tracked, and achievements are recorded across 15 categories. Each category has 10 tiers, and you advance to the next tier upon meeting the requirements (150 challenges in total).

**15 Challenge Categories**: File Operations, Search, Theme Changes, AI Usage, Favorites, Tab Operations, Settings Customization, Working Sets, Text Comparison, Terminal, Index Search, Drag & Drop, Keyboard Operations, Preview, Time Usage

### 8-2. Level and XP
Completing challenges earns experience points (XP), which increase your level. Your current level is displayed in the level banner on the title bar. When you level up, the banner pulses with a glow effect.

### 8-3. Titles
When you complete a challenge, the AI generates a "title" (epithet). Earned titles are displayed in the title banner on the title bar. Each title comes with an AI-generated backstory that you can read by hovering over the banner. On startup, your title is shown as a welcome greeting.

**Title History**: The achievement history dialog includes a "Title History" tab where you can browse all previously generated titles with their acquisition date, source badges, and backstory (up to 200 entries saved). Click the title banner in the title bar to open the title history directly.

### 8-4. Challenge Cards
Each challenge is displayed in a dedicated card UI. You can check the progress bar, current tier, completion conditions, and backstory. Each challenge comes with an AI-generated narrative backstory (140 entries across 10 languages). Click a card to read the full story. Challenges that have reached the highest tier (Tier 10) display a crown icon with a gentle pulsing glow animation.

### 8-5. Feature Recommendation System (Just-in-time Tips)
A system that analyzes your usage patterns and recommends features you haven't tried yet at opportune moments. Hints are periodically displayed in the properties pane.

---

## 9. Installation & Build Configuration

After building (or in the distribution package), the following files and folders are included.

### 9-1. Folder Structure
- **apps/**: Contains external integration programs and related tools. The EULA (End User License Agreement) Markdown file is also placed here.
- **backups/**: Automatic backups of the settings file (`settings.json`) are stored here. Auto-generated on app exit and auto-deleted after 30 days (except locked backups).
- **index/**: Contains search indexes (Lucene) and the history database (SQLite). Backing up this folder along with `settings.json` allows migrating all settings and data.
- **logs/**: Application operation logs and detailed error information (exception type, message, stack trace, HResult) are stored here. On startup, diagnostic information (app version, OS, .NET runtime, architecture, PID) is automatically recorded. Useful when reporting issues.
- **runtimes/**: Contains OS and platform-specific system libraries (DLLs).
- **lang/**: Contains display language JSON files (10 languages). Languages other than Japanese (ja) are AI machine-translated. Custom language files can be added to this folder as `.json` files for automatic detection.
- **themes/**: Contains theme JSON files (50 themes). Custom themes can be added by placing `.json` files in this folder.
- **scripts/**: Contains distribution package creation scripts (`pack.ps1`) and code signing scripts (`sign.ps1`). For developers and distribution managers.

### 9-2. Key Files
- **ZenithFiler.exe**: The application executable.
- **ZenithDocViewer.exe**: A standalone document viewer for viewing the manual and changelog. Use when you want to check documentation without starting the main app.
- **settings.json**: Stores user settings including favorites, tab states, window placement, key bindings, and search presets.
- **.zenith_license**: License key file (generated when a license is applied).
- **ZenithFiler.pdb**: Debug information file. Not required for execution.
- **Dependency libraries (.dll)**: Components required for application operation.
  - `e_sqlite3.dll`: Database engine used for managing history and search indexes.
  - `WebView2Loader.dll`: Browser component used for displaying the manual and changelog.
  - `wpfgfx_cor3.dll` / `PresentationNative_cor3.dll`, etc.: Libraries related to the WPF rendering engine.

### 9-3. Auto-Update

Zenith Filer features automatic updates via GitHub Releases.

- **Automatic check**: Initial check 30 seconds after app launch, then background checks every 4 hours (can be toggled ON/OFF in Control Deck > About > "Enable auto-update").
- **Manual check**: Instantly check via the "Check for updates" button in Control Deck > About.
- **Download and apply**: When a new version is detected, the ZIP is automatically downloaded and extracted. Download progress is shown with a GlowBar. After download, use "Restart and apply" to apply immediately, or it is automatically applied on next app exit.
- **Skip**: You can skip specific versions. Skipped versions will not be notified in future automatic checks.
- **Application mechanism**: A batch script overwrites files after app exit and restarts. On first launch after an update, a toast notification shows "Update completed."
- **Update type selection**: When auto-updating, you can choose from 3 download types: "Delta patch" (smallest size), "Patch", or "Full" (complete package).

### 9-4. EULA (End User License Agreement)

On first launch, EULA acceptance is requested within the welcome window's EULA page. Turning on the checkbox enables the "Next" button to proceed to the ready page. For existing users who have not yet agreed, a separate EULA dialog is displayed as before. The agreed version is recorded in `settings.json` and is not shown on subsequent launches.

---

*Zenith Filer -- File management that achieves both efficiency and beauty.*
