FullHeight is a small Windows utility built for ultrawide monitor users.
On an ultrawide screen, horizontal space is abundant, but every window still needs to use the available height well. Windows makes this surprisingly awkward: resizing a window to the full usable height while keeping a custom width usually takes careful dragging, snapping, or repeated adjustment.
FullHeight solves that problem. When a normal window already takes up at least 60% of the screen height, FullHeight automatically stretches it to the full work-area height. While you drag the window around, it keeps that height locked. When you want to adjust the width, just hover the title bar and scroll the mouse wheel.
FullHeight 是一个为带鱼屏 / 超宽屏用户准备的 Windows 小工具。
带鱼屏的横向空间很充裕,但窗口更应该尽可能占满屏幕高度。Windows 默认想把窗口调整成“最大高度 + 自定义宽度”并不顺手,通常需要小心拖拽边缘、反复吸附、再重新调整。
FullHeight 就是为了解决这个问题:当一个普通窗口高度已经达到屏幕工作区高度的 60% 以上时,它会自动把窗口撑到最大可用高度;拖拽窗口时也会保持这个高度不变;如果想改宽度,只要把鼠标放在标题栏上滚动滚轮即可。
Ultrawide monitors are great for side-by-side work:
- browser + editor
- chat + document
- spreadsheet + reference
- terminal + IDE
But if windows are not full height, the screen quickly becomes visually messy and less efficient. FullHeight keeps windows tall by default, then lets you decide how wide each window should be.
带鱼屏很适合多窗口并排工作:
- 浏览器 + 编辑器
- 聊天窗口 + 文档
- 表格 + 参考资料
- 终端 + IDE
但如果窗口高度参差不齐,桌面很快就会变乱,也浪费了有效阅读空间。FullHeight 的思路很简单:高度尽量自动占满,宽度按你的需要灵活调整。
-
Automatically expands eligible windows to full work-area height.
-
Keeps window height locked while dragging.
-
Uses a 60% height threshold by default to avoid affecting small dialogs.
-
Resizes window width by scrolling on the title bar.
-
Handles edge-snapped windows intelligently.
-
Includes layout hotkeys for common ultrawide arrangements.
-
Respects taskbars and multi-monitor work areas.
-
自动把符合条件的窗口撑满屏幕工作区高度。
-
拖拽窗口时保持全高,不会越拖越矮。
-
默认只处理高度达到屏幕 60% 以上的窗口,避免影响小弹窗。
-
鼠标停在标题栏上滚动滚轮即可调整窗口宽度。
-
对贴边窗口做了特别处理,缩放方向更符合直觉。
-
提供常用窗口布局快捷键,适合带鱼屏并排使用。
-
自动避开任务栏,并适配多显示器工作区。
Move the mouse over a window title bar, then scroll:
- Scroll up: make the window wider.
- Scroll down: make the window narrower.
- If the window is attached to the left edge, only the right edge moves.
- If the window is attached to the right edge, only the left edge moves.
- If the window is floating, both sides resize symmetrically.
把鼠标放在窗口标题栏上,然后滚动滚轮:
- 向上滚动:窗口变宽。
- 向下滚动:窗口变窄。
- 如果窗口左边贴住屏幕边缘,只移动右边。
- 如果窗口右边贴住屏幕边缘,只移动左边。
- 如果窗口没有贴边,则左右两侧同步伸缩。
This makes it easy to keep windows full height while quickly tuning width for different tasks.
这样可以让窗口始终保持最大高度,同时快速调整成适合当前任务的宽度。
| Action | Shortcut | Layout |
|---|---|---|
| Left half | Win + Left |
Left 50% |
| Right half | Win + Right |
Right 50% |
| Left third | Win + Shift + Left |
Left 1/3 |
| Right third | Win + Shift + Right |
Right 1/3 |
| Left two-thirds | Win + Ctrl + Left |
Left 2/3 |
| Right two-thirds | Win + Ctrl + Right |
Right 2/3 |
| Full work area | Win + Up |
Full width and full work-area height |
Settings are stored in FullHeight/settings.json and are copied next to the app when built.
配置位于 FullHeight/settings.json,构建后会复制到程序输出目录。
{
"HeightThreshold": 0.6,
"EnableDragLock": true,
"EnableTitleBarScroll": true,
"ScrollStep": 100
}-
HeightThreshold: minimum window-height ratio required before FullHeight takes effect. -
EnableDragLock: keeps eligible windows full height while dragging. -
EnableTitleBarScroll: enables title-bar wheel width adjustment. -
ScrollStep: width change per wheel step, in pixels. -
HeightThreshold:窗口高度达到屏幕工作区高度的这个比例后才会触发。 -
EnableDragLock:拖拽窗口时是否保持全高。 -
EnableTitleBarScroll:是否启用标题栏滚轮调宽。 -
ScrollStep:每次滚轮调整的像素步长。
Requirements:
- Windows
- .NET 9 SDK
需要:
- Windows
- .NET 9 SDK
dotnet build
dotnet test
dotnet publish FullHeight\FullHeight.csproj -c Release -r win-x64FullHeight/
AppSettings.cs
HeightLockService.cs
HotkeyService.cs
LayoutManager.cs
ScreenService.cs
TitleBarScrollService.cs
Win32Interop.cs
FullHeight.Tests/
LayoutManagerTests.cs
FullHeight only affects normal visible top-level windows with a standard title bar. Small dialogs, child windows, and windows below the configured height threshold are intentionally ignored.
FullHeight 只处理可见的普通顶层窗口,并要求窗口具有标准标题栏。小对话框、子窗口,以及低于配置高度阈值的窗口会被主动忽略。