some features i always have dreamt of - #460
Conversation
…ty settings. Introduces visual drop outcome cues, anti-nesting split behavior, drag/drop edge-case fixes, accent-consistent cue rendering, and new settings for auto panel creation, hover action-menu visibility, and preserving window positions on exit, plus resume-time layout stabilization and exact-modifier hotkey handling.
|
I have read the CLA Document and I hereby sign the CLA 0 out of 2 committers have signed the CLA. |
Introduces a new boolean field to track if the current gesture is a border resize, suppressing drag-drop preview cues accordingly. Updates related methods to account for this new behavior, enhancing user interaction during window resizing.
…nnects Enhances MultiDisplayTilingService and TilingService to track windows that were auto-floated due to transient placement failures. Introduces a scheduled retry for these windows to re-attempt tiling once display geometry stabilizes, improving layout consistency after events like hibernation or display changes.
Improves the robustness of the TilingService by adding error handling for COM exceptions during virtual desktop operations. This includes safe defaults for window management when pin state cannot be determined, and handling transient failures when retrieving the current desktop after sleep/wake events. These changes aim to prevent crashes and improve stability during display changes.
Improves the handling of window styles in the OverlayHost class by separating the logic for enabling and disabling windows. Adds comments to clarify the impact of WS_EX_TRANSPARENT on hit-testing and the decision to avoid using WDA_EXCLUDEFROMCAPTURE to preserve overlay visibility in screenshots. This enhances the clarity and maintainability of the code.
|
This is really cool. Thanks. One thing I'd like is dragging a window while holding |
|
Hey @purr thanks for this contribution. I am very busy with life things during month, but will definitely have a look as soon as is possible. Since you say this is LLM-generated code, I wanted to know if you are prepared to make any changes to make this mergeable/maintainable or fix any bugs? Or is this code bring submitted as-is with expectation that I will make the changes before we are ready to merge? Also, can you share which LLM model you used? |
hi no worries and thank you aaaaaand......'I have read the CLA Document and I hereby sign the CLA'....let's hope it's signed now...by me adding this.... |
…n settings Drag-drop cues: - Only windows actually in the tiling tree trigger drop cues. Floating, topmost, non-resizable, pinned, off-display windows (and windows owned by another display's service) no longer light up cues, since they cannot be tiled. - Clear the gesture state when the dragged window vanishes mid-drag (e.g. closes itself), and hide cues directly on mouse-up rather than relying on the layout recompute path, which can be throttled or skipped when a window never emits PositionChangeEnd. Both previously left cues stuck on screen. Single instance: - Replace the main-window-handle process scan with a named mutex. A backgrounded window-manager process has no main window, so the old check let a second instance start; the two then fought over every window's position. Sibling-drag behavior: - Add the SiblingDragMode setting. EdgeSplit (default) makes every edge drop create a split and center stack; Hybrid reorders same-panel edges instead. Restores flat-reorder semantics that an earlier rewrite had broken. Other: - Add ShowTabCloseButton setting (default hidden) to avoid closing windows by accidentally clicking a tab's close button. - NcHitTest uses SendMessageTimeout so a hung target window can't block the gesture thread. - Coalesce overlapping placement-retry passes after display reconnect / resume, and log instead of swallowing exceptions from the retry task. - Log (throttled) virtual-desktop COM failures instead of failing silently. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Administrator mode previously relaunched with the runas verb on every start, showing a UAC prompt at each logon. An elevated instance now registers an on-demand scheduled task (RunLevel=HighestAvailable); non-elevated launches run that task instead, which starts the app elevated without a prompt. The prompt appears only the first time, when the task has not been registered yet. ElevationTask owns the whole lifecycle (administrator-mode marker, task registration, promptless start) with absolute state paths, so the feature is immune to working-directory drift from file dialogs. The launcher confirms the task-started instance is actually alive before trusting schtasks, falling back to runas otherwise, and the task passes --from-elevation-task so a task-launched instance can never re-trigger the task in a loop if the user loses admin rights. Re-registration on every elevated start keeps the task's executable path current across moves and updates and recreates it if deleted. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
been using fancywm for like 2 years now, there are some things that always annoyed me, so i used my cursor credits and wasted some time, instead of going outside, to make it perfect for my needs:
i tested the added features, they work fine :D
im unsure if this AI slop is ready to be pulled, but i think it gives a good base on what can be implemented...?
i wont be able to answer any code-related questions, because i am stupid :/
but hey....it WORKS!! ITS COOL!!!!