phenax / bsp-layout

Manage layouts in bspwm (tall and wide)
MIT License
373 stars 30 forks source link

Can't create autostart layout #49

Closed lictw closed 2 years ago

lictw commented 2 years ago

Sub-command once didn't work at other desktop image

Very interesting behaviour At desktop 1 i enter these commands:

[tw@arch-ng ~]$ bspc rule -a kitty:bspl desktop=6
[tw@arch-ng ~]$ bsp-layout set grid 6
[25695]
[tw@arch-ng ~]$ kitty --name bspl &
[1] 25724
[tw@arch-ng ~]$ kitty --name bspl &
[2] 25766
[tw@arch-ng ~]$ kitty --name bspl &
[3] 25808
[tw@arch-ng ~]$ kitty --name bspl &
[4] 25850

After that desktop 6 looks (no layout): image After that i create new node at desktop 6 and layout begins: image I think about events, so i create nodes at desktop 1 and layout listen for nodes at desktop 6, but can i create some layouts at boot via scripts with bsp-layout? If i create nodes first, bsp-layout set didn't organize them before new node appears, and bsp-layout once didn't work.

Info Latest bsp-layout from AUR:

[tw@arch-ng ~]$ bsp-layout version

[tw@arch-ng ~]$

o_O

phenax commented 2 years ago

@lictw, Thanks for reporting the issue. Could you try bsp-layout-git AUR package and let us know if this issue exists there as well?

amtoine commented 2 years ago

hi @lictw :yum:

Sub-command once didn't work at other desktop

this looks like a duplicate of #44 to me :thinking:

Very interesting behaviour

i am not able to reproduce that behaviour... see this and i'm using

$ bsp-layout version
0.0.10-1

installed with sudo make install

Info Latest bsp-layout from AUR:

[tw@arch-ng ~]$ bsp-layout version

[tw@arch-ng ~]$

as i'm able to see the version with my installation of bsp-layout and, in addition to what @phenax just said, too quick for me... could you try to install the script manually? :yum:

lictw commented 2 years ago

Yes, i did.

And AUR bsp-layout-git (version 0.0.10) and manual (version 0.0.10-1) the same issues.. Error when once and set start to work only after new node at current&target desktop.

lictw commented 2 years ago

@a2n-s

i am not able to reproduce that behaviour

Are you use 2 displays? Try to create nodes at INACTIVE desktop and switch to it after that. If I create terminals while see the target desktop it works for me too))

phenax commented 2 years ago

My bad. I misunderstood the issue. Seems like this is related to #12 and #44. Desktops that aren't in focus don't get layout applied to them. From what I remember, calculating layout for an inactive desktop is a bit complicated. A good middleground as I mentioned in that issue will be to listen to desktop_focus event and recalculate then.

The problem with that however is that once doesn't listen to those events so, the solution for that seems to be to if it's not the currrent desktop, wait for it to be focused and apply layout.

@lictw, let me know if #50 fixes this for you

lictw commented 2 years ago

Nice, works all!!

The problem with that however is that once doesn't listen to those events so

Once works perfectly: create 4 window and apply layout with once - ideal for startup script.

Thanks you!

lictw commented 2 years ago

With 'set' i don't have time to notice how layout applies at switch - very fast, like it works in background.

amtoine commented 2 years ago

@lictw

Are you use 2 displays? Try to create nodes at INACTIVE desktop and switch to it after that. If I create terminals while see the target desktop it works for me too))

yep, sorry about that, i am able to reproduce that error :+1: