You are not logged in.
Another question...
If I'm reading this correctly: http://librelist.com/browser//bspwm/201 … 202104c9ea then apparently there is no way to restore your layout after say, a logout or reboot/shutdown? Does this mean that every time you shutdown/restart your machine you need to configure you windows all over again?
I'm not sure I fully understand what you mean there, when you reboot, all the configuration you saved in your bspwmrc are preserved. What do you mean by "configure you windows all over again?"
Offline
I think what kevinae91 is referring to is the ability to save application/window state when the machine is shut down. I know OSX does this these days, and I think that a few of the bigger DE's do this as well (I remember seeing many an XFCE thread from users wishing to disable this).
Offline
Nevermind, I see now the question I was asking doesn't make too much sense. I just wanted my desktop and window positions to be in the same layout every time I started bspwm. But it's no biggie I guess.
I think I already know the answer to this, but I have to set all window/text colors, background, and fonts directly through the configuration files, right?
Last edited by kevinae91 (2013-09-30 05:46:34)
Just keep it simple.
Offline
Anyone know of a way to move a window in FROM a desktop? I'd like to make a script that starts an application if it's not already running, then move it to/from a desktop with a single button--if at all possible.
You could use xdotool:
xdotool search --classname <classname> set_desktop_for_window <n>
If you want to create something analogous to a "scratchpad," this is what I use:
xdotool search --onlyvisible --classname scratchpad windowunmap || xdotool search --classname scratchpad windowmap || st -c scratchpad -g 1000x400+460 &
I think I already know the answer to this, but I have to set all window/text colors, background, and fonts directly through the configuration files, right?
bspwm only draws window borders. Their colors are set using bspc, a client to bspwm's socket interface. The configuration file is merely an executable script which calls bspc.
I don't think it's possible to restore window trees in the sense that you've mentioned.
---
In fact, while testing this, I saved the window tree, closed the open windows, reopened the same number of windows in a different layout, restored the saved window tree, and upon switching focus away from the desktop in which those windows are contained, I can no longer refocus it.
I use linux and I dont understand nothing in this post.
Offline
mpeebles wrote:Anyone know of a way to move a window in FROM a desktop? I'd like to make a script that starts an application if it's not already running, then move it to/from a desktop with a single button--if at all possible.
You could use xdotool:
xdotool search --classname <classname> set_desktop_for_window <n>
If you want to create something analogous to a "scratchpad," this is what I use:
xdotool search --onlyvisible --classname scratchpad windowunmap || xdotool search --classname scratchpad windowmap || st -c scratchpad -g 1000x400+460 &
kevinae91 wrote:I think I already know the answer to this, but I have to set all window/text colors, background, and fonts directly through the configuration files, right?
bspwm only draws window borders. Their colors are set using bspc, a client to bspwm's socket interface. The configuration file is merely an executable script which calls bspc.
I don't think it's possible to restore window trees in the sense that you've mentioned.
---
In fact, while testing this, I saved the window tree, closed the open windows, reopened the same number of windows in a different layout, restored the saved window tree, and upon switching focus away from the desktop in which those windows are contained, I can no longer refocus it.
Thanks for that Supplantr, I perused that page so many times and didn't even think twice to look at the Global section. I think it's just that I was pre-occupied trying to figure out how to save the window tree.
Last edited by kevinae91 (2013-09-30 07:11:13)
Just keep it simple.
Offline
I am trying to reload my bspwm after changing its configuration, but using the “loop” example it seems like I am still doing something wrong: first, all windows except that last focused one die, and even though I can switch the desktop (in as far as bar-aint-recursive now highlights a different number), all “desktops” now show the same active window.
Here is the configuration; first ~/.xinitrc:
#!/bin/zsh
if [ -d /etc/X11/xinit/xinitrc.d ]; then
for f in /etc/X11/xinit/xinitrc.d/*; do
[ -x "$f" ] && . "$f"
done
unset f
fi
/usr/bin/xscreensaver -no-splash &
/home/janis/.local/bin/lightsOn.sh &
/usr/bin/xset r rate 250 30 &
xset +fp /usr/share/fonts/local
xset fp rehash
#exec xmonad
sxhkd &
[ -e "$PANEL_FIFO" ] && rm "$PANEL_FIFO"
mkfifo "$PANEL_FIFO"
#exec bspwm -s "$PANEL_FIFO" -p W
exec wm
Next, ~/.local/bin/wm:
#! /bin/sh
while true ; do
#bspwm || break
bspwm -s "$PANEL_FIFO" -p W || break
done
Now ~/.config/bspwm/bspwmrc:
#! /bin/sh
if [ -e "$BSPWM_TREE" ] ; then
bspc restore -T "$BSPWM_TREE"
rm "$BSPWM_TREE"
else
bspc control --adopt-orphans
fi
if [ -e "$BSPWM_HISTORY" ] ; then
bspc restore -H "$BSPWM_HISTORY"
rm "$BSPWM_HISTORY"
fi
bspc desktop ^1 -n I
bspc monitor -a II III IV V VI VII VIII IX X
bspc rule -a mplayer2 --floating
bspc rule -a Screenkey --unmanage
bspc config border_width 2
bspc config window_gap 12
bspc config split_ratio 0.52
bspc config borderless_monocle true
bspc config gapless_monocle true
panel &
And finally ~/.config/sxhkd/sxhkdrc:
#
# bspwm hotkeys
#
#super + alt + Escape
#super + shift + q
# bspc quit
#
super + {_,shift + }q
{ pkill -x panel; \
bspc query -T > "$BSPWM_TREE"; \
bspc query -H > "$BSPWM_HISTORY"; \
bspc quit,\
pkill -x panel; \
bspc quit 1}
#super + w
super + shift + c
bspc window -c
super + t
bspc desktop -l next
super + b
bspc desktop -B
super + {s,f}
bspc window -t {floating,fullscreen}
super + {grave,Tab}
bspc {window,desktop} -f last
super + apostrophe
bspc window -s last
super + y
bspc window -w last.manual
super + m
bspc window -s biggest
super + {_,shift + }{h,j,k,l}
bspc window -{f,s} {left,down,up,right}
#super + {_,shift + }c
# bspc window -f {next,prev}
super + {comma,period}
bspc desktop -C {backward,forward}
super + bracket{left,right}
bspc desktop -f {prev,next}
super + ctrl + {h,j,k,l}
bspc window -p {left,down,up,right}
super + ctrl + {_,shift + }space
bspc {window -p cancel,desktop -c}
super + alt + {h,j,k,l}
bspc window -e {left,down,up,right} push
super + alt + shift + {h,j,k,l}
bspc window -e {right,up,down,left} pull
super + ctrl + {1-9}
bspc window -r 0.{1-9}
super + {_,shift + }{1-9,0}
bspc {desktop -f,window -d} ^{1-9,10}
~button1
bspc pointer -g focus
super + button{1-3}
bspc pointer -g {move,resize_side,resize_corner}
super + !button{1-3}
bspc pointer -t %i %i
#
# wm independent hotkeys
#
super + Return
termite
#super + space
super + p
dmenu_run
# make sxhkd reload its configuration files:
super + Escape
pkill -USR1 -x sxhkd
To make it complete, here is the panel (just standard):
#! /bin/sh
trap 'trap - TERM; kill 0' INT TERM QUIT EXIT
flavor=${1:-bar}
bspc config top_padding $PANEL_HEIGHT
bspc control --put-status
xtitle -sf 'T%s' > "$PANEL_FIFO" &
clock -sf 'S%a %H:%M' > "$PANEL_FIFO" &
case "$flavor" in
bar)
cat "$PANEL_FIFO" | panel_bar | bar-aint-recursive &
;;
dzen2)
. panel_colors
FONT_FAMILY='DejaVu Sans'
FONT_SIZE=11
cat "$PANEL_FIFO" | panel_dzen2 -f "$FONT_FAMILY" -s "$FONT_SIZE" | dzen2 -h $PANEL_HEIGHT -dock -ta l -title-name panel -fn "${FONT_FAMILY}:pixelsize=${FONT_SIZE}" -fg "$COLOR_FOREGROUND" -bg "$COLOR_BACKGROUND" &
;;
esac
wait
And also with panel_bar (also standard):
#! /bin/sh
#
# Example panel for LemonBoy's bar
while read -r line ; do
case $line in
S*)
sys_infos="\\r\\f5${line#?}\\fr"
;;
T*)
title="\\c${line#?}"
;;
W*)
wm_infos=""
IFS=':'
set -- ${line#?}
while [ $# -gt 0 ] ; do
item=$1
name=${item#?}
case $item in
[OFU]*)
# active desktop
wm_infos="$wm_infos \\u5\\b2\\f9${name}\\fr\\br\\ur"
;;
o*)
# inactive but occupied desktop
wm_infos="$wm_infos \\f7${name}\\fr"
;;
f*)
# inactive desktop
wm_infos="$wm_infos ${name}"
;;
u*)
# urgent desktop
wm_infos="$wm_infos \\b3\\f0${name}\\fr\\br"
;;
L*)
# layout
layout=$(printf "%s" "${name}" | sed 's/\(.\).*/\U\1/')
wm_infos="$wm_infos \\b4\\f0$layout\\br\\fr"
;;
esac
shift
done
;;
esac
printf "%s\n" "$wm_infos $title $sys_infos"
done
Offline
Can I see what compton options you're using? This is most likely a compton issue. I use:
compton -cCfFbG -I 0.05 -O 0.05 -D 4 -r4 -l-6 -t-5 -o.99 &
I use
compton --config ~/.config/compton.conf -cGb &
and compton.conf is
# Shadow
shadow = false; # Enabled client-side shadows on windows.
no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows.
no-dnd-shadow = true; # Don't draw shadows on DND windows.
clear-shadow = true; # Zero the part of the shadow's mask behind the window (experimental).
shadow-radius = 7; # The blur radius for shadows. (default 12)
shadow-offset-x = -7; # The left offset for shadows. (default -15)
shadow-offset-y = -7; # The top offset for shadows. (default -15)
# shadow-opacity = 0.7; # The translucency for shadows. (default .75)
# shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0)
# shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0)
# shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0)
#shadow-exclude = [ "n:e:Notification" ]; # Exclude conditions for shadows.
shadow-exclude = [ "g:si:Noti:xterm" ];
# shadow-exclude = "n:e:Notification";
shadow-ignore-shaped = true;
# Opacity
menu-opacity = 0.9; # The opacity for menus. (default 1.0)
inactive-opacity = 0.9; # Opacity of inactive windows. (0.1 - 1.0)
#frame-opacity = 0.8; # Opacity of window titlebars and borders. (0.1 - 1.0)
inactive-opacity-override = true; # Inactive opacity set by 'inactive-opacity' overrides value of _NET_WM_OPACITY.
# Fading
fading = true; # Fade windows during opacity changes.
# fade-delta = 30; # The time between steps in a fade in milliseconds. (default 10).
fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028).
fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03).
# no-fading-openclose = true; # Fade windows in/out when opening/closing.
# Other
#inactive-dim = 0.5; # Dim inactive windows. (0.0 - 1.0, defaults to 0).
mark-wmwin-focused = true; # Try to detect WM windows and mark them as active.
mark-ovredir-focused = true;
detect-rounded-corners = true;
# Window type settings
wintypes:
{
tooltip = { fade = true; shadow = false; opacity = 0.75; };
};
Using your arguments the problem persisted, might have been worse but I might have also been imagining things(haven't used arch since I posted about the problem).
I *am* using the AMD catalyst driver which I have read has worse 2D performance than the open-source one, but as I said previously I didn't have this issue before.
Offline
earsplit wrote:Can I see what compton options you're using? This is most likely a compton issue. I use:
compton -cCfFbG -I 0.05 -O 0.05 -D 4 -r4 -l-6 -t-5 -o.99 &
I use
compton --config ~/.config/compton.conf -cGb &
and compton.conf is
# Shadow shadow = false; # Enabled client-side shadows on windows. no-dock-shadow = true; # Avoid drawing shadows on dock/panel windows. no-dnd-shadow = true; # Don't draw shadows on DND windows. clear-shadow = true; # Zero the part of the shadow's mask behind the window (experimental). shadow-radius = 7; # The blur radius for shadows. (default 12) shadow-offset-x = -7; # The left offset for shadows. (default -15) shadow-offset-y = -7; # The top offset for shadows. (default -15) # shadow-opacity = 0.7; # The translucency for shadows. (default .75) # shadow-red = 0.0; # Red color value of shadow. (0.0 - 1.0, defaults to 0) # shadow-green = 0.0; # Green color value of shadow. (0.0 - 1.0, defaults to 0) # shadow-blue = 0.0; # Blue color value of shadow. (0.0 - 1.0, defaults to 0) #shadow-exclude = [ "n:e:Notification" ]; # Exclude conditions for shadows. shadow-exclude = [ "g:si:Noti:xterm" ]; # shadow-exclude = "n:e:Notification"; shadow-ignore-shaped = true; # Opacity menu-opacity = 0.9; # The opacity for menus. (default 1.0) inactive-opacity = 0.9; # Opacity of inactive windows. (0.1 - 1.0) #frame-opacity = 0.8; # Opacity of window titlebars and borders. (0.1 - 1.0) inactive-opacity-override = true; # Inactive opacity set by 'inactive-opacity' overrides value of _NET_WM_OPACITY. # Fading fading = true; # Fade windows during opacity changes. # fade-delta = 30; # The time between steps in a fade in milliseconds. (default 10). fade-in-step = 0.03; # Opacity change between steps while fading in. (default 0.028). fade-out-step = 0.03; # Opacity change between steps while fading out. (default 0.03). # no-fading-openclose = true; # Fade windows in/out when opening/closing. # Other #inactive-dim = 0.5; # Dim inactive windows. (0.0 - 1.0, defaults to 0). mark-wmwin-focused = true; # Try to detect WM windows and mark them as active. mark-ovredir-focused = true; detect-rounded-corners = true; # Window type settings wintypes: { tooltip = { fade = true; shadow = false; opacity = 0.75; }; };
Using your arguments the problem persisted, might have been worse but I might have also been imagining things(haven't used arch since I posted about the problem).
I *am* using the AMD catalyst driver which I have read has worse 2D performance than the open-source one, but as I said previously I didn't have this issue before.
Try adding
backend = "xrender"
to your compton config
Offline
cippaciong wrote:Even moving floating windows is slow, and I can confirm I'm not running compton.
Does sxhkd -n help?
Unfortunately, no.
Offline
I seem to be too stupid.
I followed the dummies guide.
but each time i startup bspwm i get an error "could not execute configuration file"
when i execute it manually it works.
carnager@caprica ~ % ls -l .config/bspwm/
-rwxr-xr-x 1 carnager users 423 Oct 1 00:26 bspwmrc*
when i run it it will show my bar panel. but this brings me to my 2nd issue: there is no reserved space for the bar.
He hoped and prayed that there wasn't an afterlife. Then he realized there was a contradiction involved here and merely hoped that there wasn't an afterlife.
Douglas Adams
Offline
I seem to be too stupid.
I followed the dummies guide.
but each time i startup bspwm i get an error "could not execute configuration file"
when i execute it manually it works.carnager@caprica ~ % ls -l .config/bspwm/ -rwxr-xr-x 1 carnager users 423 Oct 1 00:26 bspwmrc*
when i run it it will show my bar panel.
Is it normal that we see an asterisk after the filename?
But this brings me to my 2nd issue: there is no reserved space for the bar.
Did you set the a correct padding option in your config file? The padding syntax has changed recently and it should be similar to this now:
# PADDING
for p in "top 0" "right 0" "bottom 20" "left 0" ; do
bspc config -m focused ${p% *}_padding ${p#* }
done
Offline
Is it normal that we see an asterisk after the filename?
It is just an indicator that the file is executable.
Offline
cippaciong wrote:Is it normal that we see an asterisk after the filename?
It is just an indicator that the file is executable.
I supposed it had to be something like that, now I'm wondering why I don't have it:
┌─ cippaciong: [~]
└─ ls -l .config/bspwm/
totale 4
-rwxr-xr-x 1 cippaciong cippaciong 1422 25 set 19.23 bspwmrc
Offline
WonderWoofy wrote:cippaciong wrote:Is it normal that we see an asterisk after the filename?
It is just an indicator that the file is executable.
I supposed it had to be something like that, now I'm wondering why I don't have it:
┌─ cippaciong: [~] └─ ls -l .config/bspwm/ totale 4 -rwxr-xr-x 1 cippaciong cippaciong 1422 25 set 19.23 bspwmrc
It is the "-F" switch (or "-f" for all symbols except the '*' for exectuable).
Offline
cippaciong wrote:WonderWoofy wrote:It is just an indicator that the file is executable.
I supposed it had to be something like that, now I'm wondering why I don't have it:
┌─ cippaciong: [~] └─ ls -l .config/bspwm/ totale 4 -rwxr-xr-x 1 cippaciong cippaciong 1422 25 set 19.23 bspwmrc
It is the "-F" switch (or "-f" for all symbols except the '*' for exectuable).
Thanks
@Rasi : Which shell interpreter are you using in your bspwmrc?
Offline
The loop examples changed.
Offline
If compton is running alongside dunst and notifications are currently being displayed, switching to an empty desktop and creating a new window will cause this window (and any other windows immediately spawned on the desktop) to overlap dunst's notifications. The notifications remain below these windows until the current notifications are cleared and a new notification window is created.
Fixed.
Offline
Try adding
backend = "xrender"
to your compton config
After adding that to ~/.config/compton.conf and running
compton -cCfFbG -I 0.05 -O 0.05 -D 4 -r4 -l-6 -t-5 -o.99
and
compton -cCfFbG -I 0.05 -O 0.05 -D 4 -r4 -l-6 -t-5 -o.99 --config ~/.config/compton.conf
the problem persists. The fact that the problem exists but not as bad when I don't have compton running makes me think that it may not be compton, but compton exacerbates the problem greatly.
Offline
The fact that the problem exists but not as bad when I don't have compton running makes me think that it may not be compton, but compton exacerbates the problem greatly.
Does it happen with every window of every client?
Have you tried with an empty .Xresources?
(And an empty bspwmrc?)
Could you check if ea49ed3 is related to the issue?
Offline
mpeebles wrote:Anyone know of a way to move a window in FROM a desktop? I'd like to make a script that starts an application if it's not already running, then move it to/from a desktop with a single button--if at all possible.
You could use xdotool:
xdotool search --classname <classname> set_desktop_for_window <n>
If you want to create something analogous to a "scratchpad," this is what I use:
xdotool search --onlyvisible --classname scratchpad windowunmap || xdotool search --classname scratchpad windowmap || st -c scratchpad -g 1000x400+460 &
kevinae91 wrote:I think I already know the answer to this, but I have to set all window/text colors, background, and fonts directly through the configuration files, right?
bspwm only draws window borders. Their colors are set using bspc, a client to bspwm's socket interface. The configuration file is merely an executable script which calls bspc.
I don't think it's possible to restore window trees in the sense that you've mentioned.
---
In fact, while testing this, I saved the window tree, closed the open windows, reopened the same number of windows in a different layout, restored the saved window tree, and upon switching focus away from the desktop in which those windows are contained, I can no longer refocus it.
Thank you so much! Using this, I created the following script to get the desired outcome: https://gist.github.com/mpeebles/6780208
Offline
@Rasi : Which shell interpreter are you using in your bspwmrc?
bash
He hoped and prayed that there wasn't an afterlife. Then he realized there was a contradiction involved here and merely hoped that there wasn't an afterlife.
Douglas Adams
Offline