sublime text 不支持原生无边框模式,因其基于系统原生 gui 工具包构建,无 frame: false 等 api;替代方案是组合 distraction free 模式、系统级全屏及 ui 隐藏设置实现视觉简化。

Sublime Text 本身不支持真正意义上的“无边框窗口”(即去掉系统标题栏和边框),它不是 Electron 应用,也没有 frame: false 或 titleBarStyle 这类 API。所谓“无边框模式”,其实是通过隐藏 UI 元素 + 全屏/无干扰模式 + 窗口管理器配合,达成视觉上接近无边框的效果。
为什么 Sublime Text 没有原生无边框模式
Sublime Text 是基于原生 GUI 工具包(Windows 上是 Win32,macOS 上是 Cocoa,Linux 上是 GTK)构建的桌面应用,其窗口行为由操作系统控制。它不暴露窗口装饰控制接口,Preferences.sublime-settings 中也不存在 borderless、frame 或 title_bar 类配置项。试图搜索“sublime text borderless mode”得到的多数方案,本质是误传或混淆了 Electron 应用(如 VS Code)的机制。
替代方案:用 Distraction Free 模式 + 系统级隐藏标题栏
最接近“无边框感”的实操路径是组合使用:
- 启用
Distraction Free模式(View → Enter Distraction Free Mode 或快捷键F11) - 在系统层面隐藏标题栏:Windows 可用第三方工具如
AutoHotkey脚本;macOS 可通过defaults write NSGlobalDomain AppleWindowTabbingEnabled -bool FALSE配合全屏化缓解;Linux(GNOME/KDE)通常支持窗口装饰自定义或“无边框”窗口规则 - 关闭所有非必要 UI:在
Preferences.sublime-settings中设"side_bar_visible": false、"status_bar_visible": false、"minimap_enabled": false、"draw_centered": true、"wrap_width": 0
常见错误:把“无干扰模式”当成“无边框”
很多人打开 F11 后以为成功了,但实际遇到这些坑:
-
F11在部分 Linux 桌面环境(如 Wayland 下的 GNOME)会触发系统级全屏,导致无法呼出任务栏或快捷键失效 - 退出 Distraction Free 模式后,
side_bar_visible等设置不会自动恢复,需手动重开或写切换脚本 - 某些主题(如
Adaptive)在无干扰模式下仍保留顶部浅色标题栏区域,这是主题 CSS 渲染残留,不是 Sublime 的窗口边框 —— 修改需编辑Packages/Theme - Default/Widget.sublime-settings中的"widget_control"相关样式
真正能控制窗口边框的只有操作系统或窗口管理器
如果你坚持要“彻底无边框”,唯一可靠路径是:
- Windows:用
PowerShell调用 Win32 API 设置WS_POPUP样式(风险高,可能破坏 Sublime 的 DPI 缩放和多显示器适配) - macOS:无法绕过 AppKit 的
NSWindow装饰约束;可尝试defaults write com.sublimetext.4 NSFullScreenMenuItemOrder -int 0强制全屏优先,但仍是系统级全屏,非无边框 - Linux:在
~/.config/gtk-3.0/gtk.css中加规则屏蔽 Sublime 的标题栏(需确认其WM_CLASS,通常为subl或sublime_text),例如:.window.subl { border: none; box-shadow: none; }
这类操作不具备跨平台性,且每次 Sublime 升级都可能失效。真正的“极致简约”,建议接受 Distraction Free 模式 + 精简 UI 的组合,而非强求视觉上的像素级无边框 —— 因为那从来就不是 Sublime Text 的设计目标。











