feat(windows): 新增“仅在录屏软件中显示”模式(桌面隐藏,采集软件仍可见) - #71
Open
Fid-falling wants to merge 222 commits into
Open
Fid-falling wants to merge 222 commits into
Fid-falling wants to merge 222 commits into
Conversation
Add Traditional Chinese README with project details and setup instructions.
Create README in Traditional Chinese
Add French README translation
docs: add French README translation
docs:update readme
Added Japanese README with installation and usage instructions. Ciallo~(∠・ω< )⌒★
Create Japanese README for BongoCat. Ciallo~(∠・ω< )⌒★
docs: add Korean README translation
docs: add Indonesian README translation
需求: 桌面宠物只在 OBS 之类的录屏软件里出现, 桌面上不显示。 实现: 用 DWM 隐藏 (DWMWA_CLOAK) 把主窗口从桌面合成里摘掉 —— 窗口照常渲染、 照常呈现: 游戏采集直接读交换链/GL 呈现, 窗口采集读窗口自己的内容, 所以采集 侧的画面不变, 而桌面侧完全看不到这个窗口。 - 新设置 window.capture_only (settings.json 的 captureOnly), 10 种语言都补了文案; - 设置界面"窗口"页新增开关, 只在支持的平台显示 (当前仅 Windows); - 窗口在桌面上不可见时必须整体穿透点击, 否则用户会点到一只隐形的猫。这里特意 不走 forced 分支: 那条路会启用 layered presenter, 用代理窗口把画面重新显示到 桌面上, 正好和"桌面不显示"冲突; - 驱动/系统拒绝隐藏时记警告并返回失败, 不影响其它功能; - Linux/macOS 明确返回"不支持", 界面因此不显示这一项。 顺带把交换链的重建/尺寸/垂直同步三个函数拆到 vk_swapchain_rebuild.c: 预乘 alpha 合成那次改动让 vk_swapchain.c 超过了单文件 500 行的策略上限。 验证 (build-cubism, clean1 存储, Vulkan 与 OpenGL 两条路径): - 截屏对比: captureOnly=1 时窗口区域只有桌面 (完全看不到猫), =0 时猫正常显示; - WindowFromPoint(窗口中心) 命中其它进程的窗口, 说明点击穿透生效; - 渲染没有中断: 10 s 内 13518 帧, 采集侧画面照旧; - 日志可断言: [runtime] capture-only=1 (...)。
…options for model rendering quality
vladelaina
force-pushed
the
main
branch
2 times, most recently
from
September 29, 2026 13:33
804363a to
f429c0f
Compare
TianMengLucky
added a commit
to TianMengLucky/BongoCat-X
that referenced
this pull request
Oct 1, 2026
Source: vladelaina/BongoCat#71 Author: Fid-falling (branch feature/capture-only) Title: feat(windows): 新增"仅在录屏软件中显示"模式(桌面隐藏,采集软件仍可见) Brings the Windows-only capture-only feature (DWM cloaking hides the pet window from the desktop while screen-recording software such as OBS can still capture it) together with the upstream main history the branch had absorbed. The merge also adds the keep-in-screen toggle and its locale keys that the branch carried. Completion on top of the PR, which does not compile as submitted: it uses BONGO_CAT_PREF_ICON_KEEP_IN_SCREEN without declaring it; the enum value and a monitor-with-window row icon are added here. Conflicts resolved: resources/icons/icon.ico and the icon OBJECT_DEPENDS in cmake/ApplicationResources.cmake kept from this branch (new X-mark artwork, variable-based icon path).
TianMengLucky
referenced
this pull request
in TianMengLucky/BongoCat-X
Oct 1, 2026
- CHANGELOG.md records this fork's changes vs upstream (Keep a Changelog format): PR #71 capture-only merge, the three feature branches, the manual SDK download requirement, SDK-missing toast, new icon, doc fixes - Root README.md now serves the Simplified Chinese content (with the missing Project Status and Sponsors sections translated and appended); the English README moves to docs/README.en-US.md and the superseded docs/README.zh-CN.md is removed - Language switchers in the two swapped files use relative links; .gitignore exception list follows the rename - AGENTS.md docs convention updated to match the new layout
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.
新增设置项 window.capture_only(settings.json 的 captureOnly)。开启后用 DWM 把主窗口从桌面合成里摘掉(DWMWA_CLOAK):桌面上完全看不到宠物,但 OBS 的窗口采集 / 游戏采集仍然拍得到画面。
动机:桌面宠物常常只想出现在直播 / 录屏里,不想占着桌面。
改动:
Add a new setting, window.capture_only (captureOnly in settings.json). When enabled, use DWM to remove the main window from desktop composition (DWMWA_CLOAK): the pet is completely invisible on the desktop, but OBS window capture / game capture can still capture it.
Motivation: desktop pets often should appear only in livestreams/recordings, without taking up desktop space.
Changes:
config.h / config_io.c / config_settings_save.c: add the setting field;
windows_transparency.c: bongo_cat_platform_set_capture_only() (DwmSetWindowAttribute; use the window attribute for an idempotency check; if the driver rejects it, log a warning and return failure);
windows_pointer.c: when the window is invisible on the desktop, clicks must pass through completely; otherwise clicks will hit an invisible cat;
platform.h: platform interface + capture_only state; linux.c / macos.m explicitly return "not supported", so the UI does not show this item;
preferences_pages.c: add a toggle to the "Window" page; complete copy for all 10 languages.