You are not logged in.
Offline
cju wrote:A general question: Is there a way to get back to the previous windows arrangement after having used --balance?
It might be possible (via restore -T) if you save the tree of the involved desktop beforehand (the list of windows must be identical, otherwise you'll end up with a corrupted tree).
Yap, that does what I was looking for, thank you.
Offline
A general question: Is there a way to get back to the previous windows arrangement after having used --balance?
I use this to reset the window panels to the default split ratio, placing the current window into the max sized window..
# reset desktop to default layout
alt + shift + e
D=$(bspc query --desktops --desktop focused); \
W=$(bspc query --windows --window focused); \
bspc desktop --rename Z; \
bspc monitor --add-desktops $D; \
bspc desktop $D --focus; \
for i in $(bspc query --windows --desktop Z); do bspc window $i --to-desktop $D; done; \
bspc desktop --flip vertical; \
bspc desktop --equalize; \
bspc window $W --focus; \
bspc window --swap biggest; \
bspc desktop Z --remove
It won't necessarily give you your original window/app placement but will provide a window layout equivalent to populating a fresh desktop.
Offline
Hspasta wrote:I remember there being a way to restart bspwm with the new config without killing the current session.
examples/loop
Hspasta wrote:None of my rules appear to be working.
bspwm -v?
0.8.8
Edit: Oh, the syntax changed.
Last edited by Hspasta (2014-02-27 04:40:36)
Offline
cju wrote:A general question: Is there a way to get back to the previous windows arrangement after having used --balance?
I use this to reset the window panels to the default split ratio, placing the current window into the max sized window..
nice code
It won't necessarily give you your original window/app placement but will provide a window layout equivalent to populating a fresh desktop.
Thanks for your suggestions, I'll take them as an inspiration for another mega-script.
Offline
I'm having troubles getting wine to work properly with bspwm. Yesterday I installed native steam, then wine, then steam under wine. Linux steam works well, it obeys my rules and the only problem with it is there's a tiny bit of flickering when you hover over menus. Wine and the two applications I tried running with it, winecfg and steam seem to be incredibly buggy for me.
bspwmrc
#! /bin/sh
bspc monitor -d ⮫ ⮬ ⮭ ⮮
#bspc monitor -d term web nsfw misc
bspc config top_padding 17
bspc config border_width 1
bspc config window_gap 12
bspc config split_ratio 0.50
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config normal_border_color "#beab8a"
bspc config active_border_color "#beab8a"
bspc config focused_border_color "#9e7f52"
bspc config urgent_border_color "#beab8a"
bspc config focus_follows_pointer true
bspc rule -a Gimp desktop=^4 follow=on floating=on
bspc rule -a Chromium desktop=^2
bspc rule -a mpv floating=on
bspc rule -a Kupfer.py focus=on
bspc rule -a Screenkey manage=off
bspc rule -a Steam desktop=^4 floating=on
bspc rule -a Wine desktop=^4 floating=on
panel &
Winecfg behaves pretty normally, navigating between tabs is fast. However trying to close the program using OK or Cancel takes around 3 seconds.
Steam through wine is horrible me for, for some reason. When you hover over a menu it appears in the middle(ish) of the screen instead of under the mouse. It's almost if bspwm recognizes it as a separate floating window and moves it to the middle of the screen as it does when I open other floating windows. The steam window itself actually moves away from the mouse when I move the pointer near it. When I'm able to interact with it, it's very slow to respond also. It takes 3-5 seconds to do anything.
It's very likely that perhaps I installed wine wrong or am missing some sort of library as I'm very new to linux. However when I tried to use openbox instead both winecfg and steam through wine ran perfectly.
I also tried adjusting the rule for wine to fullscreen or tiling instead of floating, however the same problems are still present.
Offline
First of all, thanks for the great work, I love bspwm.
I've been configring it just as I like it, but I've run into a few questions that I couldn't find answers to.
First, when I create a rule, if a window has more than one string in it's WM_CLASS field, I can only seem to use one of them. Is it possible to somehow use the other one? For example, I want to always start Google Music on my 7th desktop, it's WM_CLASS is
WM_CLASS(STRING) = "crx_icppfcnhkcmnfdhfhphakoifcfokfdhg", "Chromium"
However, this rule doesn't work:
bspc rule -a crx_icppfcnhkcmnfdhfhphakoifcfokfdhg desktop=^7
The other thing I'm having problems with is sending windows to my 4th desktop. In my sxhkdrc, I have
super + {_,shift + }{1-9,0}
bspc {desktop -f,window -d} ^{1-9,10}
I can send windows using super + shift + number to any desktop except the fourth one, if I try that, nothing happens. Strangely, switching using super + number works to all desktops, including the 4th one. Any ideas on how I could figure out what's going on here?
Offline
However, this rule doesn't work:
bspc rule -a crx_icppfcnhkcmnfdhfhphakoifcfokfdhg desktop=^7
Hello,
Truncate the name to 32 characters.
I had the same problem with hangouts extension. When I did a bspc query -T to see the name as seen by bspwm I noticed the name was truncated.
Offline
Can someone help me track down what's wrong with my config file? bspwm starts
only with default settings. This file is `~/.config/bspwm/bspwmrc`. (I've also tried starting with `bspwm -c /path/to/configfile` and it still doesn't work.)
#!/bin/sh
bspc desktop ^1 -n I
bspc monitor -a II III IV V VI
bspc config focused_border_color '#426797'
bspc config normal_border_color '#444444'
bspc config presel_border_color '#449966'
bspc config border_width 1
bspc config window_gap 2
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
bspc config focus_follows_pointer false
bspc config top_padding 22
# browser desktop
bspc desktop ^2 -l monocle
bspc config -d ^2 border_width 0
bspc config -d ^2 window_gap 100
# floating desktops
bspc desktop ^3 -t floating=on
bspc desktop ^6 -t floating=on
# application rules
bspc rule -a Gimp desktop=^6 follow=on floating=on
bspc rule -a Firefox desktop=^2
bspc rule -a Google-chrome desktop=^2
bspc rule -a mplayer2 floating=on
bspc rule -a feh floating=on
bspc rule -a gifview floating=on
bspc rule -a RANGER floating=on
bspc rule -a CENTRED floating=on
bspc rule -a MAILTO floating=on
panel &
In xinitrc:
sxhkd &
exec bspwm -s "$PANEL_FIFO" -p W
"panel" is currently identical to the one in the examples/ directory; It runs
if I start it manually.
Offline
Can someone help me track down what's wrong with my config file? bspwm starts
only with default settings. This file is `~/.config/bspwm/bspwmrc`. (I've also tried starting with `bspwm -c /path/to/configfile` and it still doesn't work.)#!/bin/sh bspc desktop ^1 -n I bspc monitor -a II III IV V VI bspc config focused_border_color '#426797' bspc config normal_border_color '#444444' bspc config presel_border_color '#449966' bspc config border_width 1 bspc config window_gap 2 bspc config split_ratio 0.52 bspc config borderless_monocle true bspc config gapless_monocle true bspc config focus_follows_pointer false bspc config top_padding 22 # browser desktop bspc desktop ^2 -l monocle bspc config -d ^2 border_width 0 bspc config -d ^2 window_gap 100 # floating desktops bspc desktop ^3 -t floating=on bspc desktop ^6 -t floating=on # application rules bspc rule -a Gimp desktop=^6 follow=on floating=on bspc rule -a Firefox desktop=^2 bspc rule -a Google-chrome desktop=^2 bspc rule -a mplayer2 floating=on bspc rule -a feh floating=on bspc rule -a gifview floating=on bspc rule -a RANGER floating=on bspc rule -a CENTRED floating=on bspc rule -a MAILTO floating=on panel &
In xinitrc:
sxhkd & exec bspwm -s "$PANEL_FIFO" -p W
"panel" is currently identical to the one in the examples/ directory; It runs
if I start it manually.
Try entering those commands manually into a terminal after bspwm has started and see if they work (check exit codes). When you found a non-working command, look up its exact description in your bspwm manpage, or from the github repo.
Offline
Try entering those commands manually into a terminal after bspwm has started and see if they work (check exit codes). When you found a non-working command, look up its exact description in your bspwm manpage, or from the github repo.
All that happens is that anything with a ^ in it has to be quoted in the terminal. But doing that in the config file doesn't make any difference.
Offline
Can someone help me track down what's wrong with my config file? bspwm starts
only with default settings. This file is `~/.config/bspwm/bspwmrc`. (I've also tried starting with `bspwm -c /path/to/configfile` and it still doesn't work.)
Try
chmod +x ~/.config/bspwm/bspwmrc
Offline
Try
chmod +x ~/.config/bspwm/bspwmrc
Thanks, that did it. Some commands still aren't working (and running them in the terminal has no effect either) but at least the file is being sourced now.
Offline
Thanks, that did it. Some commands still aren't working (and running them in the terminal has no effect either) but at least the file is being sourced now.
I tried your bspwmrc (except the rules) for a couple of minutes and it works for me. What is the behaviour you expect?
Offline
ibrunton wrote:Thanks, that did it. Some commands still aren't working (and running them in the terminal has no effect either) but at least the file is being sourced now.
I tried your bspwmrc (except the rules) for a couple of minutes and it works for me. What is the behaviour you expect?
I'm expecting the 2nd desktop to have a 100px window gap (`bspc config -d ^2 window_gap 100`). Instead it only has 2px like the other desktops.
Offline
I'm expecting the 2nd desktop to have a 100px window gap (`bspc config -d ^2 window_gap 100`). Instead it only has 2px like the other desktops.
Your bspwmrc works for me.
The 2nd desktop is set to monocle by default, so after toggling monocle I get this with two windows.
Are you sure you're in the 2nd desktop?
bspc query -d focused -D
this should report your current desktop.
Offline
ibrunton wrote:I'm expecting the 2nd desktop to have a 100px window gap (`bspc config -d ^2 window_gap 100`). Instead it only has 2px like the other desktops.
Your bspwmrc works for me.
The 2nd desktop is set to monocle by default, so after toggling monocle I get this with two windows.Are you sure you're in the 2nd desktop?
bspc query -d focused -D
this should report your current desktop.
Quite sure, yes.
Offline
Beachy wrote:However, this rule doesn't work:
bspc rule -a crx_icppfcnhkcmnfdhfhphakoifcfokfdhg desktop=^7
Hello,
Truncate the name to 32 characters.
I had the same problem with hangouts extension. When I did a bspc query -T to see the name as seen by bspwm I noticed the name was truncated.
Thanks, but I tried changing it to 32 characters, and it's still not working. Could you maybe show me how you did your hangouts rule?
Offline
joetemp wrote:I tried using compton with BSPWM and when I tried to resize windows, it was HORRIBLY slow and unresponsive. It actually wasn't even useable.
man sxhkd, last option.
(I have the same problem) Do you mean sxhkd -s? How is that goign to help?
Offline
bloom wrote:joetemp wrote:I tried using compton with BSPWM and when I tried to resize windows, it was HORRIBLY slow and unresponsive. It actually wasn't even useable.
man sxhkd, last option.
(I have the same problem) Do you mean sxhkd -s? How is that goign to help?
Use the git version where the frequency flag (-f) is implemented and try someting like sxhkd -f 123.
Offline
Thanks, but I tried changing it to 32 characters, and it's still not working. Could you maybe show me how you did your hangouts rule?
Sure
bspc rule -a "crx_nckgahadagoaajjgafhacjanaoi" floating=true
Hangouts' WM_CLASS was 37 characters long:
WM_CLASS(STRING) = "crx_nckgahadagoaajjgafhacjanaoiihapd", "Chromium"
Offline
Beachy wrote:Thanks, but I tried changing it to 32 characters, and it's still not working. Could you maybe show me how you did your hangouts rule?
Sure
bspc rule -a "crx_nckgahadagoaajjgafhacjanaoi" floating=true
Hangouts' WM_CLASS was 37 characters long:
WM_CLASS(STRING) = "crx_nckgahadagoaajjgafhacjanaoiihapd", "Chromium"
The WM_CLASS is actually 36 characters long and the string in your rule is 31 characters. I reduced my rule to 31 characters also and now it's working. Thank you!
Offline
You are right.
I used echo and wc to count the characters. I guess wc also counts the newline character.
Edit: just read the man, it counts newlines too
Last edited by o_caino (2014-03-02 21:09:31)
Offline
How can I resize floating windows using keybinds?
My current keybinds for resizing windows are the default ones
# resize window
super + alt + {h,j,k,l}
bspc window -e {left -10,down +10,up -10,right +10}
super + alt + shift + {h,j,k,l}
bspc window -e {right -10,up +10,down -10,left +10}
These resize tiled windows, but not floating ones.
Thanks
Desktop screenshots :: Origami :: github
Offline
How can I resize floating windows using keybinds?
Adapt this to your needs
alt + shift + {Left,Right,Up,Down}
xdo resize {-w -20,-w +20,-h -20,-h +20}
It uses bloom's xdo.
Source: modified from earsplit's github
Offline