My bspwmrc is configured like this:
bspc monitor LVDS1 -d I II III IV V
bspc monitor HDMI1 -d VI VII VIII IX X
And my _sxhkdrc_ like this:
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '^{1-9,10}'
When I press super + 1, 2, 3, 4, or 5, it goes to the monitor HDMI1, not LVDS1. And when I press super + 6, 7, 8, 9, or 0 it goes to LVDS1. This was working correctly until recently.
which one is your primary monitor, using xrandr output?
LVDS1, but bspc query --monitors outputs
0x600002
try bspc monitor LVDS1 --reset-desktops I II III IV V and similarly for HDM1
addendum: if that doesn't work, try just
bspc monitor LVDS1 --reset-desktops ...
bspc monitor HDMI1 -d ...
i.e. drop the reset-desktops flag for HDMI1
Tried both in current session and after adding it to the bspwmrc, same problem.
bspc desktop -f '^1'
bspc desktop -f 'V'
these two are now the same but number "1" should be "I" as this is how I setup my bspwmrc
bspc monitor Monitor1 -d I II III IV
bspc monitor Monitor2 -d V VI VII VII
however bspc query -M gives output
Monitor1
I had to solve it with:
focus or send to the given desktop
super + {_,shift + }{1-9,0}
bspc {desktop -f,node -d} '{I,II,III,IV,V,VI,VII}'
added output of bspc wm -d | jq '.monitors[]|{name, rectangle}'
{
"name": "DVI-D-0",
"rectangle": {
"x": 0,
"y": 56,
"width": 1280,
"height": 1024
}
}
{
"name": "DVI-I-1",
"rectangle": {
"x": 1280,
"y": 0,
"width": 1920,
"height": 1080
}
}
DVI-D-0 = monitor2/left monitor
DVI-I-1 = monitor1/center monitor
@dasith-gunawardhana @faiden Please format code excerpts using code blocks.
@dasith-gunawardhana What's the output of bspc wm -d | jq '.monitors[]|{name, rectangle}'?
{
"name": "HDMI1",
"rectangle": {
"x": 0,
"y": 0,
"width": 1920,
"height": 1080
}
}
{
"name": "LVDS1",
"rectangle": {
"x": 0,
"y": 1080,
"width": 1366,
"height": 768
}
}
Well, the ordering looks fine to me.
I'm afraid you'll have to resort to sorcery: bspc monitor '^1' -s '^2'.
Most helpful comment
Well, the ordering looks fine to me.
I'm afraid you'll have to resort to sorcery:
bspc monitor '^1' -s '^2'.