You are not logged in.
The problem is that the application requests a very large x-coordinate and herbstluftwm treats the coordinates relative to the monitor position
I thought as much, unfortunately I didn't have any solution at hand. That being said I tried your solution and after issuing the 'detect_monitors' command,
my problems still occur .
Just for information purposes, here's my Xinerama setup:
"metamodes" "LVDS-0: nvidia-auto-select +1680+319, DP-2: nvidia-auto-select +0+0"
Offline
thorsten wrote:The problem is that the application requests a very large x-coordinate and herbstluftwm treats the coordinates relative to the monitor position
I thought as much, unfortunately I didn't have any solution at hand. That being said I tried your solution and after issuing the 'detect_monitors' command,
my problems still occur .Just for information purposes, here's my Xinerama setup:
"metamodes" "LVDS-0: nvidia-auto-select +1680+319, DP-2: nvidia-auto-select +0+0"
The idea was the set_monitors is just a workaround, i.e. you shouldn't do 'detect_monitors' afterwards. Only as soon as you finished working with gimp you can switch back to the real-multi-monitors-setup with 'detect_monitors'.
Offline
Does it also happen with simple terminals? E.g. if you try to select some text in xterm? I heard of similar problems after upgrading to the new window decorations and it sounds graphics-driver-dependent. (I still guess that it's hlwm's fault, I just have problems reproducing & debugging it)
Yes it happens with xterm as well. I'm fairly sure it was a problem before the xcursor update too.
This is with the radeon driver. I'll let you know if I find out anything more about it.
Offline
I have an idea, but I can't code. So I am hoping someone here wants to try this.
Basically when you create a frame it automatically choses the apropriate layout based on the dimensions of the frame:
horisontally long ones get horisontal layout, quadratic ones get the grid one, you get the idea.
Would just save some anoyance.
.. ..- ... . .- .-. -.-. .... -... - .--
Offline
Hi, I'm new to herb and wanted to know if gaps could collapse into each other. For example between frames. Right now there are 10 pixels (in my config) between a frame and the screen border, but between frames it gets doubled to 20 pixels.
I hope I've explained it well.
Last edited by tigrezno (2014-08-08 13:24:48)
Offline
Hi, I'm new to herb and wanted to know if gaps could collapse into each other. For example between frames. Right now there are 10 pixels (in my config) between a frame and the screen border, but between frames it gets doubled to 20 pixels.
I hope I've explained it well.
assuming i understand you correctly, yes.
if the gap is set to zero, the windows/borders will be touching with *almost* no gap. setting the gap to less then zero will eventually make the windows overlap.
to illustrate this, in the terminal call:
herbstclient set window_gap -100
▬▬ι═══════ﺤ
http://git.io/.files
Offline
tigrezno wrote:Hi, I'm new to herb and wanted to know if gaps could collapse into each other. For example between frames. Right now there are 10 pixels (in my config) between a frame and the screen border, but between frames it gets doubled to 20 pixels.
I hope I've explained it well.
assuming i understand you correctly, yes.
if the gap is set to zero, the windows/borders will be touching with *almost* no gap. setting the gap to less then zero will eventually make the windows overlap.to illustrate this, in the terminal call:
herbstclient set window_gap -100
I want overlapping borders but also transparent. I've tried several user made configurations by copy/pasting (from several forums) but they don't work.
Something like this is what I want to achieve:
http://herbstluftwm.org/img/hlwm-panelicons-1.png
Last edited by tigrezno (2014-08-08 21:46:34)
Offline
Hi, I'm new to herb and wanted to know if gaps could collapse into each other. For example between frames. Right now there are 10 pixels (in my config) between a frame and the screen border, but between frames it gets doubled to 20 pixels.
I guess you are confusing frame_gap and frame_padding (or any other frame_-property). Just set frame_gap and disable the smart_frame_surroundings (see below).
I want overlapping borders but also transparent. I've tried several user made configurations by copy/pasting (from several forums) but they don't work.
Something like this is what I want to achieve:
This is the nearly the default configuration. Just add the following things two them:
herbstclient set smart_frame_surroundings 0
herbstclient attr theme.inner_width 0
Offline
tigrezno wrote:Hi, I'm new to herb and wanted to know if gaps could collapse into each other. For example between frames. Right now there are 10 pixels (in my config) between a frame and the screen border, but between frames it gets doubled to 20 pixels.
I guess you are confusing frame_gap and frame_padding (or any other frame_-property). Just set frame_gap and disable the smart_frame_surroundings (see below).
tigrezno wrote:I want overlapping borders but also transparent. I've tried several user made configurations by copy/pasting (from several forums) but they don't work.
Something like this is what I want to achieve:
This is the nearly the default configuration. Just add the following things two them:
herbstclient set smart_frame_surroundings 0 herbstclient attr theme.inner_width 0
But that still doesn't add window gaps. Do I need a compositor for making borders transparent?
Offline
thorsten wrote:tigrezno wrote:Hi, I'm new to herb and wanted to know if gaps could collapse into each other. For example between frames. Right now there are 10 pixels (in my config) between a frame and the screen border, but between frames it gets doubled to 20 pixels.
I guess you are confusing frame_gap and frame_padding (or any other frame_-property). Just set frame_gap and disable the smart_frame_surroundings (see below).
tigrezno wrote:I want overlapping borders but also transparent. I've tried several user made configurations by copy/pasting (from several forums) but they don't work.
Something like this is what I want to achieve:
This is the nearly the default configuration. Just add the following things two them:
herbstclient set smart_frame_surroundings 0 herbstclient attr theme.inner_width 0
But that still doesn't add window gaps. Do I need a compositor for making borders transparent?
Then adjust the window_gap property (together with frame_gap and frame_padding). Otherwise, I don't get what you mean (btw the screenshot is from my old desktop setup).
Offline
Then adjust the window_gap property (together with frame_gap and frame_padding). Otherwise, I don't get what you mean (btw the screenshot is from my old desktop setup).
Thank you!, the problem was frame_gap/padding combination. Now I got it.
Offline
I'm having an issue with my keybind for dmenu2, the following line in my autostart appears to set up the keybind (it's listed in hc list_keybinds) but hitting Super+d has no effect.
hc keybind $Mod-d spawn dmenu_run -q -h 16 -fn "Ubuntu Mono-9" -nb black -nf white
The funny thing is if I run that exact command from a terminal (replacing $Mod with Mod4) the keybind then works correctly.
Any ideas?
My full autostart file can be found here if needed, but it's pretty standard.
Edit - Comparing the output of hc list_keybinds | grep dme there's a difference between the command run in my autostart and the command run in a terminal. First result is for the non-functioning autostart, second is for the working terminal command. Note the extra space added in the font declaration.
Mod4+d spawn dmenu_run -q -h 16 -fn Ubuntu Mono-10 -nb black -nf white
Mod4+d spawn dmenu_run -q -h 16 -fn Ubuntu Mono-10 -nb black -nf white
Last edited by Slithery (2014-08-09 12:00:13)
Offline
I'm having an issue with my keybind for dmenu2, the following line in my autostart appears to set up the keybind (it's listed in hc list_keybinds) but hitting Super+d has no effect.
hc keybind $Mod-d spawn dmenu_run -q -h 16 -fn "Ubuntu Mono-9" -nb black -nf white
The funny thing is if I run that exact command from a terminal (replacing $Mod with Mod4) the keybind then works correctly.
Any ideas?
My full autostart file can be found here if needed, but it's pretty standard.
Edit - Comparing the output of hc list_keybinds | grep dme there's a difference between the command run in my autostart and the command run in a terminal. First result is for the non-functioning autostart, second is for the working terminal command. Note the extra space added in the font declaration.
Mod4+d spawn dmenu_run -q -h 16 -fn Ubuntu Mono-10 -nb black -nf white
Mod4+d spawn dmenu_run -q -h 16 -fn Ubuntu Mono-10 -nb black -nf white
Have you tried with single quotes?
hc keybind $Mod-d spawn 'dmenu_run -q -h 16 -fn "Ubuntu Mono-9" -nb black -nf white'
or the other way around:
hc keybind $Mod-d spawn "dmenu_run -q -h 16 -fn 'Ubuntu Mono-9' -nb black -nf white"
Offline
Just tried, it makes no difference.
Time to jump on the mailing list / IRC and see if anyone there knows what's going on.
Edit - Solved on the herbstluftwm mailing list...
The problem is the following in your autostart:
hc() { cmds="$cmds , $@" }
So you're creating one large string which is tokenized (cut into pieces) at the end:
herbstclient chain $cmds&
and your "extra space" actually isn't two spaces but one tab. The solution is to let the arrays stay arrays (i.e. don't make strings out of them). In autostart, this means:
Replace the hc-definition by:
hc() { cmd+=( , "$@" ) }
(i.e. cmd is an array of strings and not just a single string). Then replace the "fireing" of the array by:
herbstclient chain "${cmd[@]}"
You should omit the "&" because it might be that the panel or loadstate depend on settings you have in your autostart.
In general: only do that kind of collecting the hc-commands if you really know what you are doing. (It's not recommended and personally I don't do that).
Cheers,
Thorsten
Last edited by Slithery (2014-08-10 14:22:45)
Offline
I've redone the autostart and panel in python. Includes some classes that wrap client calls to make it easy to do your own python scripts hopefully. It's a work in progress so there will most likely be rough edges and stuff will break I'm sure.
Offline
Hi, I'm new to herbstluftwm.
Is there a way to lock tags to different monitors?
Offline
I'm trying to pipe the output of the following script
#! /usr/bin/env python
import string
import os
status_cmd = 'herbstclient tag_status'
idle_cmd = 'herbstclient --idle'
def parse_tags(output):
#Takes herbstclient tag_status and parses it
#returns a nested list of tags.
tags = output.split()
taglist = ''
for i in range(len(tags)):
if tags[i][0] == '#':
s = '^bg(' + colors[3] + ')' + tags[i][1:] + ' '
taglist += s
elif tags[i][0] == ':':
taglist += '^bg(' + colors[4] + ')' + tags[i][1:] + ' '
return taglist
def parse_xdef():
#Returns the colors in Xresources in a list
#in the order they appear in Xresources
os.chdir('/home/damian/')
fin = open('.Xresources')
colors = []
for line in fin:
color = line.strip()
if 'color' in color:
rgb = color[color.find('#'):]
colors.append(rgb)
elif 'background' in color:
colors.append(color[color.find('#'):])
elif 'foreground' in color:
colors.append(color[color.find('#'):])
return(colors)
colors = parse_xdef()
single_line_out = ''
idlein = os.popen(idle_cmd)
#for line in idlein:
for line in idlein.readline()
if 'tag' in line:
proc = os.popen(status_cmd)
output = proc.readline()
taglist = parse_tags(output)
single_line_out = taglist
print(single_line_out)
Through dzen or bar but it doesn't work. it is a script to show and update the tags from herbstcluent and It works on its own in the terminal: whenever I change tabs it prints the tablist formated for dzen but whenever I try to pipe it to a bar the bar stays black. It's driving me crazy, please do help.
I love herbstluft by the way
Edit: found a dirty workaround, sys.stdout.flush()'ing after every print statement. Any cleaner way?
Last edited by damicore (2014-12-11 19:34:11)
Offline
I'm very interested to this project for semplicity of configuration. But I've a question is possible to have the dialog windows ad floating at center of screen?
Offline
I'm very interested to this project for semplicity of configuration. But I've a question is possible to have the dialog windows ad floating at center of screen?
sorry that's not possible at the moment. You can only toggle an entire workspace ("tag") between tiling and floating mode, but not single windows.
Offline
sorry that's not possible at the moment. You can only toggle an entire workspace ("tag") between tiling and floating mode, but not single windows.
always remains one of greatest tiling wm. I follow you in your project. Congrats.
Offline
I can see how to switch to other workspaces with Modkey number and send app to other workspace( Mod,Shfit number) but how to send app to other workspace and follow it? At the moment it's two sets of keybindings, Mod,Shift,number, then Mod,number
I can't see how to use eg, Control,Mod,number=send to workspace and follow
You can like linux without becoming a fanatic!
Offline
I can see how to switch to other workspaces with Modkey number and send app to other workspace( Mod,Shfit number) but how to send app to other workspace and follow it? At the moment it's two sets of keybindings, Mod,Shift,number, then Mod,number
I can't see how to use eg, Control,Mod,number=send to workspace and follow
You can configure it as follows: add the line
hc keybind "$Mod-Control-$key" chain , move_index "$i" , use_index "$i"
in the Tag-loop in your autostart. So in total, the section will look something like this:
# tags
tag_names=( {1..9} )
tag_keys=( {1..9} 0 )
hc rename default "${tag_names[0]}" || true
for i in ${!tag_names[@]} ; do
hc add "${tag_names[$i]}"
key="${tag_keys[$i]}"
if ! [ -z "$key" ] ; then
hc keybind "$Mod-$key" use_index "$i" # go there without window
hc keybind "$Mod-Shift-$key" move_index "$i" # send window there without following
hc keybind "$Mod-Control-$key" chain , move_index "$i" , use_index "$i" # send window there and follow
fi
done
Last edited by thorsten (2015-04-01 15:57:18)
Offline
Thanks for the very quick reply! It's the one thing I miss from other wm's so I am grateful for the full and clear reply.
You can like linux without becoming a fanatic!
Offline
Is there some sort of follow command?
in the config file it's possible to set it so that if you start for instance Firefox is starts up in tag 3
hc rule class=Firefox tag=3 focus=on
but how to I make it so that I am swtiched to the tag it has just started in automatically?
At the moment say I am on tag 5 I then have to switch to tag 3 using the keyboard.
You can like linux without becoming a fanatic!
Offline
hc rule class=Firefox tag=3 focus=on
but how to I make it so that I am swtiched to the tag it has just started in automatically?
Use the switchtag consequence:
hc rule class=Firefox tag=3 focus=on switchtag=on
The behaviour of switchtag can be found somewhere deep in the man page:
switchtag
if focus is activated and the client is put to a not focused tag, then switchtag tells whether the client’s tag will
be shown or not. If the tag is shown on any monitor but is not focused, the client’s tag only is brought to the
current monitor if swap_monitors_to_get_tag is activated. VALUE can be on, off or toggle.
Last edited by thorsten (2015-08-11 07:41:28)
Offline