You are not logged in.
Does anyone have any tips on how to keep window layouts persistent per workspace? It seems like the window layouts are global.
How's my programming? Call 1-800-DEV-NULL
Offline
Does anyone have any tips on how to keep window layouts persistent per workspace? It seems like the window layouts are global.
There is the pertag patch, but I am not sure if the 5.7.2 version works with 5.8.1.
http://dwm.suckless.org/patches/pertag
Last edited by sicpsnake (2010-06-03 14:13:16)
Offline
Let's keep this thing alive. DWM needs some love, too.
I've two questions, if you don't mind:
1- What font is that? Looks nice!
2- Is that a status bar or the color colorstatus patch? Also, is that conky?
I'm asking because I wasn't able to make the patch work with conky. I mean, dwm compiled just fine and the colors were there, but for some weird reason conky only let me put one single color in the status bar (was doing execi echo -e blabla irrc). Care to share how do you did that? Thanks!
Sorry for my English. Feel free to point out my errors.
Offline
zowki wrote:Does anyone have any tips on how to keep window layouts persistent per workspace? It seems like the window layouts are global.
There is the pertag patch, but I am not sure if the 5.7.2 version works with 5.8.1.
If you discover the pertag patch doesn't work with 5.8.1, you can always manually make the changes to dwm.c by following the .diff file, and generate a .diff using the instructions on the website for later use. I did the same for a pertag patch that functions with dwm-pango. If you'd like, I'd be willing to generate a .diff file for you (just send me an email).
Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds
Offline
sicpsnake wrote:Let's keep this thing alive. DWM needs some love, too.
I've two questions, if you don't mind:
1- What font is that? Looks nice!
2- Is that a status bar or the color colorstatus patch? Also, is that conky?I'm asking because I wasn't able to make the patch work with conky. I mean, dwm compiled just fine and the colors were there, but for some weird reason conky only let me put one single color in the status bar (was doing execi echo -e blabla irrc). Care to share how do you did that? Thanks!
The font is Artwiz Lime.
The status bar is just conky piped through dzen2; No colorstatus patch at all. Here is my .conkyrc and part of my .xinitrc file, so that you can see how I did it.
I hope I have been of some assistance.
Offline
The font is Artwiz Lime.
The status bar is just conky piped through dzen2; No colorstatus patch at all. Here is my .conkyrc and part of my .xinitrc file, so that you can see how I did it.
I hope I have been of some assistance.
Thanks. I'll dig into dzen2 + dwm.
Sorry for my English. Feel free to point out my errors.
Offline
Figured I may as well post my configuration here.
My setup:
dwm-pango package (custom pertag and statuscolours patches on top of the Pango one). Status bar is conky piped to dwm.
Lswest <- the first letter of my username is a lowercase "L".
"...the Linux philosophy is "laugh in the face of danger". Oops. Wrong one. "Do it yourself". That's it." - Linus Torvalds
Offline
My current set of dwm patches: http://github.com/simongmzlj/dwmhacks
And my forked dwm repo: http://github.com/simongmzlj/dwm
My version of dwm has been rather heavily modified. Supports pertag, ntile and nbstack in stead of tile and bstack, pertag defaults of arranger, mfact, and nmaster for each view, a custom pidgin-focused arranger for my chat tag, and redone status bar with added support for colors and xbm images (compiled in). The new status bar is buggy at the moment.
I've kinda given up on continuing my dwm hacking for now. I got school and another project to focus on for a bit longer. But instead of continuing on with dwm I'm planning on writing my own dwm like window manager. As much as I really like dwm - and I do have much reservations with calling dwm crap - I hate how much it relies on global variables for so much, especially drawing. It does all sorts of not quite obvious tricks keeping the current drawing x, y, width, and height in a global variable.
Offline
Offline
dwm-pango for me too
http://omploader.org/tNGhyeg
http://omploader.org/tNGhzMAmy config.h : http://pastie.org/991051
If I were you, I would set up subpixel rendering – looks so much nicer in my opinion and makes fonts much more readable.
Offline
Clean:
Dirty:
The status bar is (regular) dzen2 + conky piped. Thanks to jasonwryan, lokaltog, sicpsnake, among others for the help
config.h
/* See LICENSE file for copyright and license details. */
/* appearance */
static const char font[] = "-*-terminus-medium-r-normal-*-12-*-*-*-*-*-*-*";
static const char normbordercolor[] = "#292929";
static const char normbgcolor[] = "#0f0f11";
static const char normfgcolor[] = "#656565";
static const char selbordercolor[] = "#707070";
static const char selbgcolor[] = "#0f0f11";
static const char selfgcolor[] = "#bababa";
static const unsigned int borderpx = 0; /* border pixel of windows */
static const unsigned int snap = 6; /* snap pixel */
static const Bool showbar = True; /* False means no bar */
static const Bool topbar = True; /* False means bottom bar */
static const Bool focusonclick = True; /* Disable focus on mouse over */
/* tagging 1 2 3 4 */
static const char *tags[] = { "main", "www", "dev", "misc" };
static const Rule rules[] = {
/* class instance title tags mask isfloating monitor */
{ "Gimp", NULL, NULL, 1 << 3, True, -1 },
{ "Opera", NULL, NULL, 1 << 1, False, -1 },
{ "feh", NULL, NULL, 0, True, -1 },
{ "Geany", NULL, NULL, 1 << 2, False, -1 },
};
/* layout(s) */
static const float mfact = 0.55; /* factor of master area size [0.05..0.95] */
static const Bool resizehints = False; /* True means respect size hints in tiled resizals */
static const Layout layouts[] = {
/* symbol arrange function */
{ "[T]", tile }, /* first entry is default */
{ "[F]", NULL }, /* no layout function means floating behavior */
{ "[M]", monocle },
};
/* key definitions */
#define MODKEY Mod4Mask
#define TAGKEYS(KEY,TAG) \
{ MODKEY, KEY, view, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask, KEY, toggleview, {.ui = 1 << TAG} }, \
{ MODKEY|ShiftMask, KEY, tag, {.ui = 1 << TAG} }, \
{ MODKEY|ControlMask|ShiftMask, KEY, toggletag, {.ui = 1 << TAG} },
/* helper for spawning shell commands in the pre dwm-5.0 fashion */
#define SHCMD(cmd) { .v = (const char*[]){ "/bin/sh", "-c", cmd, NULL } }
/* commands */
static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
static const char *termcmd[] = { "urxvtc", NULL };
static const char *shutcmd[] = { "sudo", "shutdown", "-h", "now", NULL };
static const char *resetcmd[] = { "sudo", "shutdown", "-r", "now", NULL };
static const char *volmute[] = { "amixer", "-q", "sset", "Master", "toggle", NULL };
static const char *voldown[] = { "amixer", "-q", "sset", "PCM", "5-", "unmute", NULL };
static const char *volup[] = { "amixer", "-q", "sset", "PCM", "5+", "unmute", NULL };
static Key keys[] = {
/* modifier key function argument */
{ MODKEY, XK_r, spawn, {.v = dmenucmd } },
{ MODKEY, XK_Return, spawn, {.v = termcmd } },
{ MODKEY, XK_b, togglebar, {0} },
{ MODKEY, XK_j, focusstack, {.i = +1 } },
{ MODKEY, XK_k, focusstack, {.i = -1 } },
{ MODKEY, XK_h, setmfact, {.f = -0.05} },
{ MODKEY, XK_l, setmfact, {.f = +0.05} },
{ MODKEY|ShiftMask, XK_Return, zoom, {0} },
{ MODKEY, XK_Tab, view, {0} },
{ MODKEY|ShiftMask, XK_c, killclient, {0} },
{ MODKEY, XK_t, setlayout, {.v = &layouts[0]} },
{ MODKEY, XK_f, setlayout, {.v = &layouts[1]} },
{ MODKEY, XK_m, setlayout, {.v = &layouts[2]} },
{ MODKEY, XK_space, setlayout, {0} },
{ MODKEY|ShiftMask, XK_space, togglefloating, {0} },
{ MODKEY, XK_u, spawn, {.v = volmute} },
{ MODKEY, XK_i, spawn, {.v = voldown} },
{ MODKEY, XK_o, spawn, {.v = volup} },
{ MODKEY, XK_0, view, {.ui = ~0 } },
{ MODKEY|ShiftMask, XK_0, tag, {.ui = ~0 } },
/* { MODKEY, XK_comma, focusmon, {.i = -1 } }, */
/* { MODKEY, XK_period, focusmon, {.i = +1 } }, */
/* { MODKEY|ShiftMask, XK_comma, tagmon, {.i = -1 } }, */
/* { MODKEY|ShiftMask, XK_period, tagmon, {.i = +1 } }, */
TAGKEYS( XK_1, 0)
TAGKEYS( XK_2, 1)
TAGKEYS( XK_3, 2)
TAGKEYS( XK_4, 3)
TAGKEYS( XK_5, 4)
TAGKEYS( XK_6, 5)
TAGKEYS( XK_7, 6)
{ MODKEY|ShiftMask, XK_q, quit, {0} },
{ MODKEY|Mod1Mask, XK_w, spawn, {.ui = resetcmd } },
{ MODKEY|Mod1Mask, XK_q, spawn, {.ui = shutcmd } },
};
/* button definitions */
/* click can be ClkLtSymbol, ClkStatusText, ClkWinTitle, ClkClientWin, or ClkRootWin */
static Button buttons[] = {
/* click event mask button function argument */
{ ClkLtSymbol, 0, Button1, setlayout, {0} },
{ ClkLtSymbol, 0, Button3, setlayout, {.v = &layouts[2]} },
{ ClkWinTitle, 0, Button2, zoom, {0} },
{ ClkStatusText, 0, Button2, spawn, {.v = termcmd } },
{ ClkClientWin, MODKEY, Button1, movemouse, {0} },
{ ClkClientWin, MODKEY, Button2, togglefloating, {0} },
{ ClkClientWin, MODKEY, Button3, resizemouse, {0} },
{ ClkTagBar, 0, Button1, view, {0} },
{ ClkTagBar, 0, Button3, toggleview, {0} },
{ ClkTagBar, MODKEY, Button1, tag, {0} },
{ ClkTagBar, MODKEY, Button3, toggletag, {0} },
};
#!/bin/sh
#userresources=$HOME/.Xresources
#usermodmap=$HOME/.Xmodmap
#sysresources=/etc/X11/xinit/.Xresources
#sysmodmap=/etc/X11/xinit/.Xmodmap
# merge in defaults and keymaps
setxkbmap latam
# feh wallpaper
sh ~/.fehbg &
# composite
xcompmgr &
# start terminal emulation daemon
/usr/bin/urxvtd -q -o -f &
# disabling touchpad while typing
syndaemon -i 1 &
# add the path to terminus font
xset fp+ /usr/share/fonts/local
xset fp rehash
# Dzen & conky
(sleep 2s && conky | dzen2 -x '876' -e '' -fg '#bababa' -bg '#0f0f11' -w '490' -h '14' -ta r -fn '-*-fixed-medium-r-*-*-12-*-*-*-*-*-*-*' -p ) &
exec dwm
.conkyrc
# ---------------------------------------------------------------------------
# ~/.conkyrc
# ---------------------------------------------------------------------------
background no
out_to_console yes
out_to_x no
update_interval 2.0
total_run_times 0
double_buffer yes
use_spacer none
TEXT
^fg(\#656565)^i(/home/rafael/builds/dwm/icons/cpu.xbm)^fg() ${cpu}% \
^fg(\#656565)^i(/home/rafael/builds/dwm/icons/mem.xbm)^fg() ${memperc}% \
^fg(\#656565)^i(/home/rafael/builds/dwm/icons/temp.xbm)^fg() ${acpitemp}° \
^fg(\#656565)^i(/home/rafael/builds/dwm/icons/wifi_02.xbm)^fg() ${wireless_link_qual wlan0}% \
${if_match "${acpiacadapter}" == "off-line"}\
${if_match ${battery_percent} > 30}^fg(\#656565)^i(/home/rafael/builds/dwm/icons/bat_full_01.xbm)${endif}\
${if_match ${battery_percent} <= 30}${if_match ${battery_percent} > 15}^fg(yellow)^i(/home/rafael/builds/dwm/icons/bat_low_01.xbm)${endif}${endif}\
${if_match ${battery_percent} <= 15}^fg(red)^i(/home/rafael/builds/dwm/icons/bat_empty_01.xbm)${endif}\
${else}^fg(\#656565)^i(/home/rafael/builds/dwm/icons/ac_01.xbm)${endif} \
^fg()${battery_percent}% \
${if_mixer_mute}^fg(\#656565)^i(/home/rafael/builds/dwm/icons/spkr_02.xbm) ${mixer PCM}%${else}^fg(\#656565)^i(/home/rafael/builds/dwm/icons/spkr_01.xbm)^fg() ${mixer PCM}%${endif} \
${time %H:%M}
In my laptop I just can't remove the battery (it's really thin, and it's locked under the chassis), so I just display if the computer it's plugged to AC or not. If it's not plugged, the battery indicator will show a grey (#656565) full battery indicator until 30% of charge, then turns out yellow with a mid charge icon until 15%, when it turns out red with an empty charge icon.
Todo:
- Set some keybinds for the apps I use the most (like mc, irssi, opera, vim, etc)
- Get the syndaemon work (actually, get the synaptic drivers to load)
- Polish the color scheme
- Make a small calendar that works with mouse over on dzen
I'm really happy with dwm!
Last edited by rb (2010-06-06 01:59:27)
Sorry for my English. Feel free to point out my errors.
Offline
Info for the bars?
Offline
Clean:
http://img243.imageshack.us/img243/1631/clean.th.png
Dirty:
http://img517.imageshack.us/img517/8760/dirtyq.th.png
The status bar is (regular) dzen2 + conky piped. Thanks to jasonwryan, lokaltog, sicpsnake, among others for the help
Todo:
- Set some keybinds for the apps I use the most (like mc, irssi, opera, vim, etc)
- Get the syndaemon work (actually, get the synaptic drivers to load)
- Polish the color scheme
- Make a small calendar that works with mouse over on dzenI'm really happy with dwm!
Any info on the conky configuration? mainly curious about the icons you have there...
Last edited by epsilon (2010-06-05 20:41:55)
mu @ freenode - Last.fm
Offline
Here's my dwm setup. I've applied various patches (attachaside, gaplessgrid, pertag, statuscolors and a minor color fix for the statusbar). The status bar is the native dwm statusbar with a custom font.
@rb: Did you receive my symbol font?
Last edited by Lokaltog (2010-06-05 20:47:25)
Offline
@gtklocker, epsilon: I edited my post to add the .conkyrc with a brief description. I've yet to add some lines to shows the wireless status (currently only show the signal quality).
I'm piping conky to regular dzen (dzen2). The icons are sm4tik's icons (borrow them from here), although I'm not quite sure how this affect the PC performance (I don't know if it's a heavy load or a negligible one, at least the CPU use didn't fire up).In the other hand, Lokaltog posted a font for dwm created by him/herself.
If there's anything else that you want to know don't hesitate to ask
@Lokaltog: Yes, I've received the font. Thank you so much! I'm kinda going through a bad moment in my personal life, so I'm not in the mood for tinkering that much. That's why took the easy way (dzen + conky), but I still like your solution best. Thanks again
Sorry for my English. Feel free to point out my errors.
Offline
dwm-pango for me too
http://omploader.org/tNGhyeg
http://omploader.org/tNGhzMAmy config.h : http://pastie.org/991051
Would you mind posting your wall? I can never seem to find those pattern style walls.
Offline
@cabrey here you go...
Offline
I had a question about dwm.. it seems the easiest way to display that systray is to pipe conky through dzen2, can this method be used to display some more interactive icons? Like the wicd-client, or an adjustable volume display (just like windows where you click once and you can adjust the volume)?
Offline
I think not. For that you should look into stalonetray, which is a replacement tray.
Here is my .stalonetrayrc :
####################################################################
#
# stalonetray understands following directives
#
####################################################################
# background <color> # color can be specified as an HTML hex triplet or
# as a name from rgb.txt, note that '#' must be quoted
background "#777777"
# decorations <decspec> # set trays window decorations; possible values for
# decspec are: all, title, border, none
decorations none
# display <display name> # as usual
# dbg_level <int> # controls the amount of debug info (for this setting to
# have effect, stalonetray sources must have been
# configured and compiled with --enable-debug)
# dbg_level 0
# fuzzy_edges [<level>] # enable fuzzy edges and set fuzziness level. level
# can be from 0 (disabled) to 3; this setting works
# with tinting and/or transparent and/or pixmap
# backgrounds (NEW in 0.7)
fuzzy_edges 0
# geometry <geometry> # tray's geometry in standard X notation
geometry 3x1-20-850
# gravity <gravity> # icon placement gravity, one of NW, NE, SW, SE
#gravity NW
# grow_gravity <gravity> # one of N, S, E, W, NW, NE, SW, SE; tray will grow
# in the direction opposite to one specified by
# grow_gravity; if horizontal or vertical
# direction is not specified, tray will not grow in
# that direction
grow_gravity NW
# icon_size <int> # specifies dimensions of typical icon slot
icon_size 24
# ignore_icon_resize [<bool>] # ignore icon attempts to resize their windows
# (NEW in 0.7)
#ignore_icon_resize false
# max_width <int> # specifies maximal tray's width (0 = no limit)
#max_width 0
# max_height <int> # specifies maximal tray's height (0 = no limit)
#max_height 0
# no_shrink [<bool>] # disables shrink-back mode (NEW in 0.7)
no_shrink false
# parent_bg [<bool>] # whether to use pseudo-transparency
# (looks better when reparented into smth like FvwmButtons)
parent_bg false
# pixmap_bg <path_to_xpm> # use pixmap from specified xpm file for (tiled) background
# pixmap_bg /home/user/.stalonetraybg.xpm
# respect_icon_hints [<bool>] # try to respect icon hints (NEW in 0.7)
#respect_icon_hints false
# skip_taskbar [<bool>] # hide tray`s window from the taskbar
skip_taskbar true
# sticky [<bool>] # make a tray`s window sticky across the
# desktops/pages
sticky true
# tint_color <color> # set tinting color (NEW in 0.7)
#tint color white
# tint_level <level> # set tinting level; level ranges from 0 (disabled)
# to 255 (NEW in 0.7)
tint_level 0
# transparent [<bool>] # whether to use root-transparency (background
# image must be set with Esetroot or compatible utility)
transparent false
# vertical [<bool>] # whether to use vertical layout (horisontal layout
# is used by default)
vertical false
# window_layer <layer> # set the EWMH-compatible window layer; one of:
# bootom, normal, top
window_layer normal
# window_type <type> # set the EWMH-compatible window type; one of:
# dock, normal, toolbar, utility
window_type dock
# withdrawn [<bool>] # start withdrawn (NEW in 0.7, prior to that
# withdrawn mode was default!)
#withdrawn false
# xsync [<bool>] # whether to operate on X server synchronously (SLOOOOW)
xsync false
the actions with a # are things that didn't worked so I simply commented it.
Last edited by aleks223 (2010-06-17 19:52:15)
Offline
My current set of dwm patches: http://github.com/simongmzlj/dwmhacks
And my forked dwm repo: http://github.com/simongmzlj/dwm
http://omploader.org/tNGhyMQ
Could you share you ncmpcpp config please?
Offline
Clean : http://imgur.com/PJjREm.jpg
Dirty: http://imgur.com/QoIDLm.png
btw, the MPD part of dzen is clickable, clicking on the song toggles pause and play and clicking on the heart toggles it in and out of my favorites playlist..
Do you mind share your status bar?
arst
Offline
here: http://github.com/jck/configs/
You will need to change the paths in the dzen though...
Offline