Repository navigation
feat: files tree, panel chrome, and window behavior - #1220
Closed
liao666brant wants to merge 9 commits into
Closed
liao666brant wants to merge 9 commits into
liao666brant wants to merge 9 commits into
Conversation
- 关掉分隔线后侧栏与终端贴齐,拖动边缘仍可调整宽度 - 关掉标题栏搜索后,随处搜索仍可用快捷键打开
- 默认左右 8、上下 4,范围 0–64 - 旧的 shell_padding_x/y 在四边仍为默认时折进两侧
- 完全退出会结束本程序启动的进程,并先把工作区标为已关闭 - 没有托盘时,最小化只退出界面,shell 继续运行
Preview approval requiredThis pull request comes from a fork, so Mintlify won't build a preview until someone with write access approves commit |
- 紧凑 40/24、标准 48/28、宽松 56/36,标准档外观保持不变 - 搜索框中线对齐整条标题栏,含底部 1px 边框 - 设置放在外观里,位于界面字体和光标之间
- 头部视图菜单与行右键菜单给出两个独立开关,默认均显示并写回配置 - 名字与内容搜索跟随同一组开关,`.git` 任何情况下都不参与 - 修正嵌套忽略目录的判定,补齐跨宿主用例与面板文档 Co-Authored-By: Claude Code <noreply@anthropic.com>
- WSL 工作区视作本机,彻底退出时按已记录工作区逐发行版收停 - 只停 WSL 报告为运行中的发行版,不在退出时唤醒虚拟机 - 收停在清理子进程之后启动,避免辅助进程被当作自有进程杀掉 Co-Authored-By: Claude Code <noreply@anthropic.com>
- 内置 Material Icon Theme v5.39.0,按精确名与最长扩展名匹配,含浅色变体 - 文件树改为 22px 行高、8px 缩进、16px 独立 chevron,根目录可折叠 - 图标默认开启且仅设置页可关;补齐设置搜索、修改标记与重置 Co-Authored-By: Claude Code <noreply@anthropic.com>
- 新增 show_right_panel_divider,默认开启,关闭后边缘仍可拖动调整宽度 - 面板与标题栏补丁同步受开关控制,避免隐藏后残留一段竖线 - 设置页 General → Tabs 提供开关,并接入搜索、修改标记与重置 Co-Authored-By: Claude Code <noreply@anthropic.com>
- 退出后延时在 WSL 内定位 daemon 并调用 --stop - 移除运行状态查询,避免退出流程受 WSL 文本解析影响 - 使用快速探测缩短 WSL 工作区首次连接耗时
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Four batches on one branch:
Files tree
files_show_hiddenandfiles_show_ignoreddefault to on and are flipped from the panel's view menu and a row's context menu. The name and content searches follow the same pair, and.gitis never listed either way.The icons are the MIT Material Icon Theme v5.39.0, vendored as the npm package publishes it, with its
LICENSEand aREADMEcarrying the re-sync notes. A row matches by exact name, then the longest dotted extension the pack knows, then the pack's default; folders match by name and carry both of their states; the pack's light-theme variants are used when the theme is light.files_show_iconsis on by default and is set only in Settings → Appearance — the panel's own single-ink glyphs stay as the fallback.The pack's drawings are coloured, so these rows go through the image path rather than the SVG mask path, which would flatten them to one ink.
Rows are 22px on an 8px step with a 16px disclosure chevron of the tree's own. The root row starts open, folds like any other folder, and stays folded across a refresh that still lists it.
Panel chrome
show_sidebar_divider,show_titlebar_search, andshow_right_panel_dividerall default to on.Shell padding
shell_padding_left/rightdefault to 8.shell_padding_top/bottomdefault to 4. Each side clamps to 0–64.A saved
shell_padding_xorshell_padding_yis copied onto both sides of that axis while those sides are still at the default, then dropped on the next save. An explicit non-default on either side of a pair blocks that copy.The terminal surface, composer, and the absolute overlays (scrollbar, input bar, reverse search) use the same insets.
Last-window close
close_behaviorisminimize(default),quit, orask. This applies only to the last workspace window.confirm_closestill governs tabs and panes only, and does not suppress this dialog. Menu and tray Quit still ask before stopping sessions.tty7-updaterand its subtree are left alone.A saved
quit_on_close: trueis read once asquitwhileclose_behavioris stillminimize, then dropped on the next save. An explicitaskorquitnext to that old key wins.Title bar height
title_bar_heightiscompact(40),standard(48, the default), orrelaxed(56).standardis the bar the window has always drawn. Anything else is read asstandard.The centred Search Everywhere field is 24, 28, or 36 on those steps. Standard stays 28, so the default look does not change. The field's middle is the middle of the whole bar, including the 1px bottom border. The sidebar's own search field stays 28.
The control is in Appearance, after the interface font and before the cursor. Showing or hiding the title-bar search stays under General → Tabs.
On macOS the traffic lights move down with a taller bar and keep their horizontal inset.
WSL quit
A WSL workspace is presented as this computer, so Quit and Stop used to leave the server inside the distributions running. The stop now walks every distribution the app has a workspace on — open or closed, this computer's first, then theirs — and skips distributions WSL reports as not running, so quitting never wakes a VM just to find nothing there. The in-distro stop runs after the child-process cleanup, so its own helpers are not mistaken for ours.
Testing
cargo fmt --all -- --checkcargo check -p tty7 --bin tty7-appcargo test -p tty7 --bin tty7-app file_icons— 6 passedcargo test -p tty7 --bin tty7-app settings::tests— 44 passedcargo test -p tty7 --bin tty7-app i18n— 8 passedcargo test -p tty7 --bin tty7-app file_tree— 39 passedcargo test -p tty7 --bin tty7-app assets— 7 passedcargo test -p tty7-core panel_chrome_visibility— 1 passedcargo test -p tty7-core --lib -- shell_padding_defaultscargo test -p tty7-core --lib -- close_behavior_defaultscargo test -p tty7-core --lib -- title_bar_heightcargo test -p tty7-core --lib -- descendants_are_deepestcargo test -p tty7-core --lib -- a_full_quit_takescargo test -p tty7 --bin tty7-app -- covering_and_dockedcargo test -p tty7 --bin tty7-app -- close_retires_to_traycargo test -p tty7 --bin tty7-app -- every_key_is_translated_in_every_localecargo test -p tty7 --bin tty7-app -- a_taller_bar_lowers_the_lightscargo test -p tty7 --bin tty7-app -- the_search_field_sits_on_the_middle_of_the_bandChecked in a running window: the file tree's icons and layout, the root fold, the chevrons, and both divider switches. The detail panel's title-bar residue was found there and fixed. The shell-padding steppers and the close-behavior dialog were not clicked through.
🤖 Generated with Claude Code