Comments (3)
The behaviour when dragging a window container onto an empty monitor workspace is clear for me; it should be appended to that (empty) workspace.
I'm not sure what the defeat behaviour should be when dragging to another monitor with an already populated workspace. Should the window being dragged be swapped with the window it ends up over (ie. across monitors)? Or should the window just be appended (or prepended) to the focused workspace of the target monitor?
Open to suggestions for defining the default behaviour.
from komorebi.
@LGUG2Z we could define behaviour similar to that of SwayWM:
-
dragging a (source) window onto the left or right side of another (destination) window will split the destination window, placing the source window tiled to the left or right of the destination window
-
dragging a source window into the center area of another destination window will swap that window with the source window
SwayWM actually displays a coloured rectangle guide above the destination window (where the source window is being dragged to) in order to show which action will be taken:
swaywm_example.mp4
So when dragging over a window, you would split the destination window into 5 sections and decide the action based on which section the cursor lands in when releasing the mouse:
I do think a visual rectangle guide would be very useful if this were to be implemented
from komorebi.
The way that Sway handles this is very elegant. I think being able to do this also depends to some extend on what I mentioned in this issue, in order to be able to resolve sibling nodes, parent nodes and child nodes quickly and easily for any layout: #59 (comment)
In order to have this case handled in a minimal way until then, when dragging a window between monitors to a destination monitor that already contains 1+ visible window containers, I will have the source window container inserted at the index of the window container the mouse drags ends on the destination monitor/workspace.
For the Sway-like zones, let's create a new issue from your comment that can be tracked as a feature request.
from komorebi.
Related Issues (20)
- [BUG]: `monitor-madness` window snapping does not work after sleep HOT 23
- [BUG]: When mouse_follows_focus is off, Workspace switching shorcuts fail to respect focused monitor HOT 2
- [BUG]: Stacked windows are not moved together using `komorebic move` commands HOT 9
- [BUG]: Moving windows between monitors on `UltrawideVerticalStack` layout HOT 2
- [FEAT]: Alt+Tabbing to a window obscured by the monocle should disable monocle and focus the alt+tabbed window HOT 12
- [BUG]: autostarted komorebi does not respect app specific configuration HOT 2
- [BUG]: Stackbar stays visible when changing workspace HOT 1
- [BUG]: focused_container ignores monocle containers HOT 2
- [FEAT]: Border anti-aliasing HOT 1
- [BUG]: Some applications resize off-screen HOT 18
- [BUG]: Stackbar's real-time title update limitation
- [BUG]: Stackbar and window edge are misaligned HOT 5
- [FEAT] Color options based on the desktop wallpaper (or a custom list) HOT 5
- [REGRESSION]: v0.1.26 does not work with virtualized monitors HOT 7
- [FEAT]: Allow use of `komorebic stack` when focused on stack
- [BUG]: Pressing ALT + SHIFT + l breaks cycling between workspaces HOT 8
- [BUG]: Komorebic is not able to load configuration symlinked from WSL. HOT 2
- [BUG]: Norton 360's Data Protector blocked a suspicious action HOT 6
- [BUG]: AHK fail with username contains "space" HOT 2
- [BUG]: Impossible to use komorebi-client due to transitive dependency features conflict HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from komorebi.