Comments (16)
How could a node exist in multiple trees?
from bspwm.
A node can't but it should (maybe, I don't know much about how this part of bspwm works) be possible for a client to exist in multiple nodes.
from bspwm.
If a window is sticky in all desktops, then it will be visible at more than one place if there is more than one monitor.
from bspwm.
*All desktops on one monitor. As the ewmh spec puts it, sticky windows should "stick to the glass [of the monitor]".
Of course, might cause some problems when moving a desktop from one monitor to the other. A reasonable solution would be to make all sticky windows float (thereby following the spec even more closely as sticky windows are supposed to maintain geometry across multiple desktops). This could be accomplished by putting sticky windows in a separate per-monitor sticky window list instead of in the per-desktop window trees.
from bspwm.
Actually, after looking at the code, I realized that this would probably be a major pain in the a** to implement and would require quite a bit of refactoring (everything assumes that client's are contained in nodes). I'm closing this for now because I feel like I'm the only one who would use this. I'll reopen it if I can come up with a reasonable patch.
from bspwm.
In fact, it might not be as hard as I thought:
If a desktop is focused, I could simply transfer to it the sticky windows from the previously focused desktop.
So the sticky windows would always be in the tree of the focused desktop.
from bspwm.
That does make it much easier. It also solves the problem of transferring a desktop from one monitor to the other.
from bspwm.
Should be working as of c6ceca7.
from bspwm.
Thanks. Works great.
from bspwm.
Sorry to bug you but can you make it so that sticky windows aren't transferred between monitors on focus? That is, transfer sticky windows from the previously focused desktop on the current monitor.
from bspwm.
Fixed by 35e9927?
from bspwm.
Better but now switching desktops on an unfocused monitor doesn't transfer the sticky window. In other words, the following happens:
# * = focus; (s) = sticky window
#
# Mon A Mon B
--------- ----------
| A1* | | B1 (s) |
--------- ----------
$ bspc desktop -f B2
--------- ----------
| A1 | | B2* |
--------- ----------
# Sticky window still on B1 after B2 focused.
from bspwm.
Fixed by 0d1ad51?
from bspwm.
Thanks! Only one tiny (ridiculously low priority) bug remaining: control --adopt-orphans
doesn't appear identify sticky windows (sticky windows loose their stickiness when bspwm is restarted).
from bspwm.
It should be working as of c5d4c65.
However, control --adopt-orphans
shall only be used if restore -T
fails.
from bspwm.
Fixed. Thanks.
from bspwm.
Related Issues (20)
- chromium ui breaks while opening booksmarks popup HOT 3
- ghost windows caused by picom
- My bspwm takes like a second or two to respond to every keybinding followed by the modkey. HOT 8
- How to use multiple hotkeys for the pointer_modifier?
- Cannot open tmuxifier on bspwm config reload
- Window coordinates are out-of-sync after config event
- Mouse input freezes on games like minecraft
- Desktop Assignment Swaps Unexpectedly in Dual Monitor Setup HOT 19
- Spawning a node on a certain desktop HOT 4
- [Kinda Bug?] No "node_transfer" events before or after a "desktop_remove" event
- Rules for Floating Windows not setting correctly for multi-monitor setup
- BSPWM and XFCE4 not agreeing on workspaces HOT 1
- Floating windows that meant to be moved around with their title bars move on focused LMB
- Changing border of floating window breaks it HOT 1
- Segfault in `_apply_name` because xcb's strings aren't null-terminated
- Marble-qt windowing issue & `external_rules_command` HOT 1
- xfce4-panel appears behind the bspwm windows.
- Not starting (Ubuntu 22.04)
- Floating window is always the first one on the rofi window list HOT 1
- DPI issues in a multi-monitor setup 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 bspwm.