You are not logged in.
^ It's all you fault, HoaS. You pulled the trigger. LOL
This is the first tiler that made me want to go beyond checking what's in the box. All tiling WMs I've tried before need an extensive array of keystrokes, I hate missing the Super key to launch most of my apps or having conflicts with programs' keystrokes. bspwm doesn't need a lot of them and only found a few conflicts so far. The automatic mode is more than enough. No need for all those fancy modes though some might see it as a disavantage. Having just two; automatic and manual, is all I need. In fact, automatic is all I'm using. Well combined with monocle and forcing certain apps to specific desktops got me going. Gonna spend some time with pseudo-tiling today. It seems that's what most bspwm users are using.
Last edited by Snap (2016-03-29 06:52:05)
Offline
@ Hoas and @Snap - Thanks for all of these fine posts. I've been reading along w/ most of your ideas and techniques. I've been using i3wm on a refurbished desktop lately (kind of a test machine).
Great work you all!!!
Offline
@o9000 - The Gitlab cheat sheet is great! Thanks for sharing this.
Offline
So I've been following this thread with interest and tonight I downloaded this and gave it a go. So far so good! Now I'm desperate to customise the crap out of it. So I'm trying to get the hang of configuration... one thing I'd like to do is be able to move a window to an adjacent desktop and simultaneously move to that desktop.
Example, I have Ctrl+Alt+{Left,Right} assigned to switch desktops, that works fine. I want Ctrl+Alt+Shift+{Left,Right} to include the currently active window, but everything I try doesn't give me the behaviour I expect. Here's what I have at the moment, it sends the window one direction, and me in the other:
ctrl + alt + shift + {Left,Right}
bspc node -d {prev,next}; bspc desktop -f {prev,next}
I figure it's down to the repetition of the {prev,next} bit, but I'm not sure how to approach this successfully. Any ideas?
Lenovo IdeaPad Yoga 13 | BunsenLabs Hydrogen (x64)
Intel Core i7-3537U | Intel HD4000 | 8GB DDR3 | 256GB SSD
Offline
^ that's working for me - send the focused window to the next/previous desktop and follow.
Do you have a second entry for "ctrl + alt + shift + {Left,Right}" by chance?
You must unlearn what you have learned.
-- yoda
Online
Nope, the only other similar rule I have is:
ctrl + alt + {Left,Right}
bspc desktop -f {prev,next}
This is to switch desktops without moving the active window. This does work as expected, I wouldn't expect this to interfere. I'll try this when I get home, unfortunately VNC has logged in to an OpenBox session at work!
Lenovo IdeaPad Yoga 13 | BunsenLabs Hydrogen (x64)
Intel Core i7-3537U | Intel HD4000 | 8GB DDR3 | 256GB SSD
Offline
Now I'm desperate to customise the crap out of it.
Sounds familiar, LOL.
Your setting works fine here too. You might be having some sort of conflict in your config.
BTW, this is a cool bit too for fast surfing:
# Cycle desktops:
# used desktops only
super + {Left,Right}
bspc -f desktop {prev.occupied,next.occupied}
# all desktops
super + shift + {Left,Right}
bspc -f desktop {prev,next}
It can be adapted to the mouse buttons if you have one of those mice with a zillion of them. Now I miss my broken Logitech Performance MX and its zoom (thumb) buttons for this...
Offline
Hold on. This only works right in one direction.
ctrl + alt + shift + {Left,Right}
bspc node -d {prev,next}; bspc desktop -f {prev,next}
Going backwards (Left prev) works as expected, but when moving forward the node jumps (teleports?) to the next desktop, but the desktop focus moves backwards to the previous desktop. It keeps using prev instead of next, or it never reaches the next code for some reason. Splitting it in two commands works fine.
ctrl + alt + shift + Left
bspc node -d prev; bspc desktop -f prev
ctrl + alt + shift + Right
bspc node -d next; bspc desktop -f next
We seem to like these combos to get shorter, cleaner and simpler config files, though I think I'm starting to understand why most sxhkdrc files for bspwm I've seen have separated commands mostly and only a few of this kind of combos. In my short experience I've found these issues a few times already. Single commands always work. Combos like this sometimes work fine, sometimes act weird. How is your experience with this, folks?
Last edited by Snap (2016-03-31 08:37:40)
Offline
Wrong post. sorry
Last edited by Snap (2016-03-31 09:01:02)
Offline
Splitting it in two commands works fine.
ctrl + alt + shift + Left bspc node -d prev; bspc desktop -f prev ctrl + alt + shift + Right bspc node -d next; bspc desktop -f next
Success indeed!
One final quirk here, when moving something to another desktop, focus is given to a window that already exists on that desktop, rather than keeping focus on the window that was moved. I wonder if anyone knows how to maintain the focus?
Lenovo IdeaPad Yoga 13 | BunsenLabs Hydrogen (x64)
Intel Core i7-3537U | Intel HD4000 | 8GB DDR3 | 256GB SSD
Offline
Yes, that can be annoying. Let me check if a combo works for that.
EDIT: No luck for now. Tried different strings and combos and they work in one direction but not in the other. Same as above. Will keep struggling on this one later.
Last edited by Snap (2016-04-01 07:18:19)
Offline
One final quirk here, when moving something to another desktop, focus is given to a window that already exists on that desktop, rather than keeping focus on the window that was moved. I wonder if anyone knows how to maintain the focus?
I bet that has been done -
You can read through the Arch linux bspwm thread and see if it's there - the bspwm, sxhkd developer is active in that thread.
You may need to create an external command for bspwm in order for that to work.
You must unlearn what you have learned.
-- yoda
Online
BUMP!
I have used the OpenSUSE Build Service to create my own repository for the bspwm packages:
https://software.opensuse.org/download. … kage=bspwm
I will update the OP presently...
EDIT: Updated
Last edited by Head_on_a_Stick (2016-04-15 21:07:47)
Offline
I had some problems setting up the repository but it should all be sorted now.
To add the repository to your sources, use:
sudo tee /etc/apt/sourceslist.d/HoaS.list <<< 'deb http://download.opensuse.org/repositories/home:/Head_on_a_Stick:/bspwm/Debian_8.0/ /'
This creates a file at /etc/apt/sources.list.d/HoaS.list containing the repository line, simply delete this file if you ever want to remove the repository.
Then update the APT package database:
sudo apt update
Then install the packages:
sudo apt install bspwm sxhkd xdo
I will update the packages as upstream make the releases and these should be delivered as part of the regular `apt update && apt upgrade` routine.
EDIT: We don't need no stinkin' PPAs...
8)
Last edited by Head_on_a_Stick (2016-04-17 11:43:29)
Offline
Amazing, so we now have a repo. Thanks a bunch, HoaS. I was about installing it on a fresh Jessie install on metal to try this WM for a dedicated DAW system routine. I bet it will be a killer workflow impovement and an important resources saver.
Last edited by Snap (2016-04-18 07:52:02)
Offline
A script to tag and fetch windows in bspwm.
tagandfetch.sh
#!/bin/bash
# nice little help message
function usage(){
cat << EOF
Usage: tagfetch.sh action tag
tag: any valid filename.
actions:
tag: tag the current (focussed) window
fetch: fetch the tagged window to the current desktop
switch: switch to the desktop of the tagged window
remove: remove the tag
EOF
exit 101
}
# check for sufficient arguments
[[ $# -lt 2 ]] && usage
# create a directory for storing tag info
tagdir="/tmp/tagdir"
[[ -d $tagdir ]] || mkdir "$tagdir"
# use one file per tag
tagfile="$tagdir/$2"
case $1 in
tag)
echo -n $(bspc query -N -n) > "$tagfile"
;;
fetch)
[[ -f $tagfile ]] && bspc node $(< $tagfile) -d $(bspc query -D -d)
;;
switch)
[[ -f $tagfile ]] && bspc desktop -f $(bspc query -D -n $(< $tagfile))
;;
remove)
[[ -f $tagfile ]] && rm -f "$tagfile"
;;
*)
usage
;;
esac
You can then bind the actions in sxhkd (or any other program) like so. This uses the sxhkd chaining feature, allowing us to start a chain with Super + m, and then follow up with other keys.
# tag and fetch
super + m;{_,apostrophe,s,r};{1-9}
tagandfetch.sh {tag,fetch,switch,remove} {1-9}
Offline
^ Beautiful!
Thanks easysid
Offline
^ +1
^^ Thanks a bunch!
Offline
Version 0.9.2 of bspwm has just been released
Changelog here:
https://github.com/baskerville/bspwm/bl … ANGELOG.md
I have just uploaded the new package to my OBS repository and it seems to have built them (after a bit of a fight) and they are now ready for installation or upgrade.
Installation instructions here:
https://software.opensuse.org/download. … kage=bspwm
If you have already installed the packages from the OBS repository then you can update to the new version with:
sudo apt update && sudo apt upgrade
Please let me know if there are any problems.
Offline
I have just noticed that bspwm has (finally) made it into testing/unstable:
https://packages.debian.org/sid/bspwm
\o/
Once the new version makes it into sid, I will host a backport of that so users don't have to suffer my Mickey Mouse packaging skills...
EDIT: lemonbar is also in sid, that is so awesome
I will host that as well
Last edited by Head_on_a_Stick (2016-10-31 07:18:22)
Offline