feat: add multi-monitor support to desktop bar#10
Open
Just-Utkarsh wants to merge 2 commits into
Open
Conversation
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.
The desktop bar previously rendered only on the primary display with no screen targeting. This change adds multi-monitor support by introducing a
targetScreenproperty to bothBar.qmlandBarHacker.qml, and updatingNavbar.qmlto instantiate each bar face twice — once per monitor.The second instance guards itself with
Quickshell.screens.length > 1so it stays hidden when only one display is connected, preventing the double-bar issue that occurred with the previous staticscreens[1]approach.Files changed:
desktop/Bar.qml— addedtargetScreenproperty; bindsscreen:to itdesktop/BarHacker.qml— same as abovedesktop/Navbar.qml— instantiates twoBarand twoBarHackerinstances, each targeting a specific screen, with the second pair gated onQuickshell.screens.length > 1Tested on
eDP-1(primary) +HDMI-A-1(secondary). Both bars render correctly when the external monitor is connected, and only one bar renders when it is not.