SEARCH

Enter your search query in the box above ^, or use the forum search tool.

You are not logged in.

#1 2012-03-25 12:28:28

el_koraco
#!/loony/bun
From: inside Ed
Registered: 2011-07-25
Posts: 4,749

The great #! forums DWM thread

Since 2ManyDogs and the scrotwm name scandal have pushed some of us back into dwm land, this is as good a place as any. For an introduction, refer to: http://crunchbanglinux.org/forums/post/201045/#p201045

As first poster, I'm "contributing" my config.h. The colors are matched to go with XeNULL's awesome Minull Invert theme, though they imply a black background. So it's like Minull Invert Negative. There's also a short list of keyboard shortcuts for launching Firefox, LO Writer, Thunar and controlling mpd with the XF86Audio keys, and urxvtc is set as terminal command (I launch urxvtd in .xinitrc, which is included in the scrot along with my Xdefaults):

tZDU0Mw

config.h

/* See LICENSE file for copyright and license details. */

/* appearance */
static const char font[]            = "-*-fixed-medium-r-semicondensed-*-12-*-*-*-*-*-*-*";
static const char normbordercolor[] = "#000000";
static const char normbgcolor[]     = "#000000";
static const char normfgcolor[]     = "#ffffff";
static const char selbordercolor[]  = "#101010";
static const char selbgcolor[]      = "#000000";
static const char selfgcolor[]      = "#999999";
static const unsigned int borderpx  = 1;        /* border pixel of windows */
static const unsigned int snap      = 0;       /* snap pixel */
static const Bool showbar           = True;     /* False means no bar */
static const Bool topbar            = True;     /* False means bottom bar */

/* tagging */
static const char *tags[] = { "Surf", "Term", "Work", "Read", "Misc" };

static const Rule rules[] = {
    /* xprop(1):
     *    WM_CLASS(STRING) = instance, class
     *    WM_NAME(STRING) = title
     */
    /* class      instance    title       tags mask     isfloating   monitor */
    { "Gimp",     NULL,       NULL,       0,            True,        -1 },
    { "Firefox",  NULL,       NULL,       1 << 8,       False,       -1 },
};

/* layout(s) */
static const float mfact      = 0.50; /* factor of master area size [0.05..0.95] */
static const int nmaster      = 1;    /* number of clients in master area */
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", selfgcolor, "-sf", selbgcolor, NULL };
static const char *termcmd[]  = { "urxvtc", NULL };
static const char *webcmd[]  = { "firefox", NULL };
static const char *fmcmd[]  = { "thunar", NULL };
static const char *locmd[]  = { "lowriter", NULL };
static const char *socmd[]  = { "sonata", NULL };

static Key keys[] = {
    /* modifier                     key        function        argument */
    { 0,                           0x1008ff14, spawn,          SHCMD("mpc toggle") },
        { 0,                           0x1008ff15, spawn,          SHCMD("mpc stop") },
    { 0,                           0x1008ff16, spawn,          SHCMD("mpc prev") },
    { 0,                           0x1008ff17, spawn,          SHCMD("mpc next") },
    { 0,                           0x1008ff13, spawn,          SHCMD("amixer sset Master, 0 3+") },    
    { 0,                           0x1008ff11, spawn,          SHCMD("amixer sset Master, 0 3-") },
    { 0,                           0x1008ff12, spawn,          SHCMD("amixer sset Master toggle") },
    { MODKEY,                       XK_s,      spawn,          {.v = socmd } },
           { MODKEY,                       XK_w,      spawn,          {.v = webcmd } },
           { MODKEY,                       XK_o,      spawn,          {.v = locmd } },
        { MODKEY,                       XK_f,      spawn,          {.v = fmcmd } },
    { MODKEY,                       XK_p,      spawn,          {.v = dmenucmd } },
    { MODKEY|ShiftMask,             XK_Return, spawn,          {.v = termcmd } },
    { MODKEY,                       XK_b,      togglebar,      {0} },
    { MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
    { MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
    { MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
    { MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
    { MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
    { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
    { MODKEY,                       XK_Return, zoom,           {0} },
    { MODKEY,                       XK_Tab,    view,           {0} },
    { MODKEY,                       XK_x,      killclient,     {0} },
    { MODKEY,                       XK_t,      setlayout,      {.v = &layouts[0]} },
    { MODKEY,                       XK_e,      setlayout,      {.v = &layouts[1]} },
    { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
    { MODKEY,                       XK_space,  setlayout,      {0} },
    { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
    { 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)
    TAGKEYS(                        XK_8,                      7)
    TAGKEYS(                        XK_9,                      8)
    { MODKEY|ShiftMask,             XK_q,      quit,           {0} },
};

/* 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} },
};

Offline

Help fund CrunchBang, donate to the project!

#2 2012-03-25 12:55:28

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

Oh this seems interesting! I started using DWM after WMFS switched to WMFS2, which I didn't like. On their dev channel, the developer recommended me to try out DWM and as I had been willing to use this WM for a longer time already (it seemed so mysterious back in my starting days) I figured now would be a great time to.

It took a little while for me to really get going with it, cause I had to figure out how to apply patch B over patch A, and then apply patch C over that etc.. but now that I learned how to do that and now that I've learned what functions (and thus patches) I want/need, it's just perfect!

By the way, here's a little tweak to restart DWM without having to kill your other programs:
1. Make a script called dwm_start (or any name you like) with the following in it:

#!/bin/bash
while true; do
    # Log stderror to a file 
    #dwm 2> ~/.dwm.log
    # No error logging
    dwm >/dev/null 2>&1
done

2. Call the script through .xinitrc or whatever you use and voilà smile

And to end this post, here's what my current DWM setup looks like (patches I use are in the scrot):
tZDU0aw


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#3 2012-03-25 13:01:19

gutterslob
#! Resident Bum
Registered: 2009-11-03
Posts: 3,082

Re: The great #! forums DWM thread

^I still don't get why so many people use the useless gaps patch. It's so.... useless. hmm

Benny wrote:

.xinitrc, which is included in the scrot

A bit off-topic here, but wtf?!! You actually launch xcompmgr with your WM? I thought most people only launched it when taking screenshots. lol

Last edited by gutterslob (2012-03-25 13:06:58)


Point & Squirt

Offline

#4 2012-03-25 14:03:08

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

gutterslob wrote:

^I still don't get why so many people use the useless gaps patch. It's so.... useless. hmm

Aesthetic reasons, my friend tongue

Plus that I find it easier to distinguish my different terminals and applications


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#5 2012-03-25 14:27:41

el_koraco
#!/loony/bun
From: inside Ed
Registered: 2011-07-25
Posts: 4,749

Re: The great #! forums DWM thread

gutterslob wrote:

A bit off-topic here, but wtf?!! You actually launch xcompmgr with your WM? I thought most people only launched it when taking screenshots. lol

I likez me some shading.

Offline

#6 2012-03-25 14:58:54

PackRat
#! Die Hard
From: USA
Registered: 2011-03-03
Posts: 1,326

Re: The great #! forums DWM thread

Dwm patched with the grid and bstack patches. Using the XF86Audio keys to control the volume/muting; for personal preference, I change my key bindings to match fluxbox:

aawESyMV.jpg aaktWb9G.jpg

/* See LICENSE file for copyright and license details. */

/* appearance */
static const char font[]            = "-*-terminus-medium-r-normal-*-12-120-*-*-*-*-*-*";
static const char normbordercolor[] = "#4e555c";
static const char normbgcolor[]     = "#303334";
static const char normfgcolor[]     = "#a0a0a0";
static const char selbordercolor[]  = "#A1BBD3";
static const char selbgcolor[]      = "#303334";
static const char selfgcolor[]      = "#A1BBD3";
static const unsigned int borderpx  = 1;        /* border pixel of windows */
static const unsigned int snap      = 4;       /* snap pixel */
static const Bool showbar           = True;     /* False means no bar */
static const Bool topbar            = True;     /* False means bottom bar */

/* tagging */
static const char *tags[] = { "1", "2", "3", "4", "5" };

static const Rule rules[] = {
    /* xprop(1):
     *    WM_CLASS(STRING) = instance, class
     *    WM_NAME(STRING) = title
     */
    /* class      instance    title       tags mask     isfloating   monitor */
/*    { "Gimp",     NULL,       NULL,       0,            True,        -1 }, */
/*    { "Firefox",  NULL,       NULL,       1 << 8,       False,       -1 }, */
    { "Sakura",     NULL,       NULL,       0,            True,        -1 },
    { "URxvt",      NULL,       NULL,       0,            False,       -1 },
    { "Gimp",       NULL,       NULL,     1 << 2,         True,        -1 },
    { "Gnome-mplayer",  NULL,   NULL,     1 << 2,         True,        -1 },
    { "Vlc",        NULL,       NULL,     1 << 2,         True,        -1 },
    { "Firefox",    NULL,       NULL,     1 << 3,         False,       -1 },
    { "Thunderbird",  NULL,     NULL,     1 << 4,         False,       -1 },
};

/* layout(s) */
static const float mfact      = 0.55; /* factor of master area size [0.05..0.95] */
static const int nmaster      = 1;    /* number of clients in master area */
static const Bool resizehints = False; /* True means respect size hints in tiled resizals */

#include "bstack.c"
#include "bstackhoriz.c"
#include "grid.c"
static const Layout layouts[] = {
    /* symbol     arrange function */
    { "TTT",      bstack },  /* first entry is default */
    { "[]=",      tile },
    { "[M]",      monocle },
    { "><>",      NULL },    /* no layout function means floating behavior */
    { "===",      bstackhoriz },
    { "HHH",      grid },
};

/* key definitions */
#define MODKEY Mod4Mask
#define ALTKEY Mod1Mask
#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[]  = { "uxterm", NULL }; */
static const char *dmenucmd[] = { "dmenu_run", "-fn", font, "-nb", normbgcolor, "-nf", normfgcolor, "-sb", selbgcolor, "-sf", selfgcolor, NULL };
static const char *termcmd[]  = { "urxvt", NULL };
static const char *xtermcmd[]  = { "uxterm", NULL };
static const char *sakterm[]  = { "sakura", NULL };
static const char *browser[]  = { "firefox-browser", NULL };
static const char *mail[]  = { "thunderbird", NULL };
static const char *editor[]  = { "geany", NULL };
static const char *artwork[]  = { "gimp", NULL };
static const char *fman[]  = { "thunar", NULL };
static const char *media[]  = { "gnome-mplayer", NULL };
static const char *vup[] = { "amixer", "sset", "Master", "2+", NULL };
static const char *vdn[] = { "amixer", "sset", "Master", "2-", NULL };
static const char *vmt[] = { "amixer", "sset", "Master", "toggle", NULL };
static const char *update[] = { "gksudo", "synaptic", NULL };
static const char *redit[] = { "gksudo", "mousepad", NULL };
static const char *rfman[] = { "gksudo", "thunar", NULL };
static const char *mcomder[] = { "mcterm.sh", NULL };
static const char *tmuxtrm[] = { "muxterm.sh", NULL };

static Key keys[] = {
    /* modifier                     key        function        argument */
    { ALTKEY,                       XK_F2,     spawn,          {.v = dmenucmd } },
    { ALTKEY,                       XK_F1,     spawn,          {.v = termcmd } },
    { ALTKEY,                       XK_F3,     spawn,          {.v = xtermcmd } },
    { MODKEY|ControlMask,           XK_f,      spawn,          {.v = browser } },
    { MODKEY|ControlMask,           XK_l,      spawn,          {.v = editor } },
    { MODKEY|ControlMask,           XK_g,      spawn,          {.v = artwork } },
    { MODKEY|ControlMask,           XK_m,      spawn,          {.v = media } },
    { MODKEY,                       XK_F14,    spawn,          {.v = mail } },
    { 0,                            XK_Menu,   spawn,          {.v = fman } },
    { 0,                            0x1008ff26, spawn,         {.v = sakterm } },
    { 0,                            0x1008ff2e, spawn,         {.v = browser } },
    { 0,                            0x1008ff1d, spawn,         {.v = artwork } },
    { 0,                            0x1008ff12, spawn,         {.v = vmt } },
    { 0,                            0x1008ff11, spawn,         {.v = vdn } },
    { 0,                            0x1008ff13, spawn,         {.v = vup } },
    { MODKEY,                       XK_F15,    spawn,          {.v = update } },
    { MODKEY,                       XK_F16,    spawn,          {.v = redit } },
    { MODKEY,                       XK_F17,    spawn,          {.v = rfman } },
    { MODKEY,                       XK_F13,    spawn,          {.v = mcomder } },
    { MODKEY,                       XK_F5,     spawn,          {.v = tmuxtrm } },
    { MODKEY|ControlMask,           XK_b,      togglebar,      {0} },
    { MODKEY,                       XK_j,      focusstack,     {.i = +1 } },
    { ALTKEY,                       XK_Tab,    focusstack,     {.i = +1 } },
    { MODKEY,                       XK_k,      focusstack,     {.i = -1 } },
    { MODKEY,                       XK_i,      incnmaster,     {.i = +1 } },
    { MODKEY,                       XK_d,      incnmaster,     {.i = -1 } },
    { MODKEY,                       XK_h,      setmfact,       {.f = -0.05} },
    { MODKEY,                       XK_l,      setmfact,       {.f = +0.05} },
    { MODKEY,                       XK_Up,     setmfact,       {.f = -0.05} },
    { MODKEY,                       XK_Down,   setmfact,       {.f = +0.05} },
    { MODKEY,                       XK_Return, zoom,           {0} },
    { MODKEY,                       XK_Tab,    view,           {0} },
    { ALTKEY,                       XK_F4,     killclient,     {0} },
    { MODKEY,                       XK_b,      setlayout,      {.v = &layouts[0]} },
    { MODKEY,                       XK_t,      setlayout,      {.v = &layouts[1]} },
    { MODKEY,                       XK_m,      setlayout,      {.v = &layouts[2]} },
    { MODKEY|ShiftMask,             XK_b,      setlayout,      {.v = &layouts[4]} },
    { MODKEY,                       XK_g,      setlayout,      {.v = &layouts[5]} },    
    { MODKEY,                       XK_space,  setlayout,      {0} },
    { MODKEY|ShiftMask,             XK_space,  togglefloating, {0} },
    { 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)
    { MODKEY|ShiftMask,             XK_q,      quit,           {0} },
};

/* 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,         ALTKEY,         Button1,        movemouse,      {0} },
    { ClkClientWin,         ALTKEY,         Button2,        togglefloating, {0} },
    { ClkClientWin,         ALTKEY,         Button3,        resizemouse,    {0} },
    { ClkTagBar,            0,              Button1,        view,           {0} },
    { ClkTagBar,            0,              Button3,        toggleview,     {0} },
    { ClkTagBar,            MODKEY,         Button1,        tag,            {0} },
    { ClkTagBar,            MODKEY,         Button3,        toggletag,      {0} },
};

and the .conkyrc (for those that have not set one up for a tiler's status bar):

out_to_x no
background no
out_to_console yes
update_interval 1
total_run_times 0
use_spacer none
# override_utf8_locale yes

TEXT
Uptime: ${uptime_short}  |  Sdc Temp: ${hddtemp /dev/sdc} °C  |  CPU Temp: ${hwmon 1 temp 1} °C  |  CPU: ${cpu cpu1}%  |  Mem: ${memperc}%  |  Eth0: Down: ${downspeedf eth0}  Up: ${upspeedf eth0}  |  Updates: ${execi 600 /home/doug/bin/updates.sh}  |  ${time %e %b %Y}  ${time %k:%M} 

Last edited by PackRat (2012-03-25 19:53:40)


"It does not require many words to speak the truth." - Chief Joseph, Nez Perce tribe

Offline

#7 2012-03-25 17:44:03

PackRat
#! Die Hard
From: USA
Registered: 2011-03-03
Posts: 1,326

Re: The great #! forums DWM thread

As good as any place to ask this:

in el_k's .xinitrc:

eval `dbus-launch --sh-syntax --exit-with-session`
exec ck-launch-session dwm

is used for automounting drives. But I have to use:

exec ck-launch-session dbus-launch --sh-syntax --exit-with-session dwm 

in order for automounting to work in any wm (got it from the fluxbox wiki a while back).

Is there some fundamental difference between the methods?

I'm using Debian testing.

Last edited by PackRat (2012-03-25 17:45:00)


"It does not require many words to speak the truth." - Chief Joseph, Nez Perce tribe

Offline

#8 2012-03-25 18:21:13

ivanovnegro
Ivan #000000
From: unstable madness
Registered: 2011-06-02
Posts: 5,426

Re: The great #! forums DWM thread

Ok, first great thread, second I have not much to contribute here. Third, neither of the mentioned methods worked for me to automount on Sid.

And lastly, DWM is just too much work for me. I am a lazy and happy Spectrer. smile Would anyway make it to act just as simple as Scrotwm it does for me.

Last edited by ivanovnegro (2012-03-25 18:21:41)

Offline

#9 2012-03-25 18:40:21

gutterslob
#! Resident Bum
Registered: 2009-11-03
Posts: 3,082

Re: The great #! forums DWM thread

^Stock dwm is pretty much like scrot/spectr, just with a few different keybinds. You can easily configure it to make it behave similar to scrot/spectr or xmonad. One of the patches (nmaster, iirc) gives you the ability to have more than 1 window in the master area, similar to scrot/spectr's "master_add" ability.

Last edited by gutterslob (2012-03-25 18:42:21)


Point & Squirt

Offline

#10 2012-03-25 19:10:36

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

^ For dwm 6.0, you don't need a patch for it anymore. It's there by default now


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#11 2012-03-25 19:54:52

PackRat
#! Die Hard
From: USA
Registered: 2011-03-03
Posts: 1,326

Re: The great #! forums DWM thread

gutterslob wrote:

^Stock dwm is pretty much like scrot/spectr, just with a few different keybinds. You can easily configure it to make it behave similar to scrot/spectr or xmonad. One of the patches (nmaster, iirc) gives you the ability to have more than 1 window in the master area, similar to scrot/spectr's "master_add" ability.

with the bstack patch, it will have the same layouts as spectrwm.


"It does not require many words to speak the truth." - Chief Joseph, Nez Perce tribe

Offline

#12 2012-03-25 21:49:14

el_koraco
#!/loony/bun
From: inside Ed
Registered: 2011-07-25
Posts: 4,749

Re: The great #! forums DWM thread

PackRat wrote:

Is there some fundamental difference between the methods?

I'm using Debian testing.

Who the hell knows. ConsoleKit and dbus are weird and sparsely documented programs. Great setup btw.

@Ivan - you're just an anti-compiler!

Offline

#13 2012-03-26 16:05:57

ivanovnegro
Ivan #000000
From: unstable madness
Registered: 2011-06-02
Posts: 5,426

Re: The great #! forums DWM thread

el_koraco wrote:

@Ivan - you're just an anti-compiler!

lol

Maybe now I am because I use a rolling distro. smile
In the past I had to compile all weird stuff to get the newest.

Offline

#14 2012-04-01 11:18:56

ivo
#! Junkie
From: the six feet under the ground
Registered: 2011-05-06
Posts: 334

Re: The great #! forums DWM thread

tY3R1OQ

Patches:
 
- tagnames per monitor
- statusallmons
- bstack
- symbolcolor
- moveresize
- xcursor

https://github.com/ivoarch/dwm

Last edited by ivo (2012-04-01 11:21:08)


I love GnuEmacs, GnuScreen, ratpoison, and conkeror.

My site || My Github

Offline

#15 2012-04-02 15:49:10

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

Is anyone here on DWM experiencing this issue? I asked about it at the Arch boards but didn't get a reply anymore:

Unia @ Arch boards wrote:

I just noticed a thing that bothers me. Let's say I have a tag with three clients, in any layout. When I switch to an empty tag, I quickly see all the clients I had on the previous tag and then they dissapear one by one (EDIT: the order seems to be from right to left, but master always last). Until today I didn't see that and it was "instant" to the empty tag. I haven't added any new patches to DWM, nor did I upgrade anything important:

[2012-03-29 16:06] starting full system upgrade
[2012-03-29 16:09] upgraded bash-completion (1.99-1 -> 1.99-2)
[2012-03-29 16:09] upgraded chromium (17.0.963.83-1 -> 18.0.1025.142-1)
[2012-03-29 16:09] upgraded gnupg (2.0.18-2 -> 2.0.19-1)
[2012-03-29 16:09] upgraded qt (4.8.0-6 -> 4.8.1-1)

What is causing this behaviour and how can I fix it? It's rather annoying... Note that it only happens when I switch to an empty tag. When I switch to a tag that has other clients open, it is instant.

And then after a while I added this:

Unia wrote:

Oke I did some further research on this. It seems like this problem only occurs when there's a wallpaper set. Feh or Nitrogen, doesn't matter; as long as there's a wallpaper the problem occurs.
When I don't set a wallpaper, it's all fluent again. Is there a workaround for this issue?

Note that the issue also occurs on Monsterwm, another DWM-like tiler. I suspect it also occurs on other wm's, but I haven't tried any yet.

Anyone perhaps got a solution? I'd really like to have a wallpaper again

Last edited by Unia (2012-04-02 15:51:24)


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#16 2012-04-02 16:19:20

gutterslob
#! Resident Bum
Registered: 2009-11-03
Posts: 3,082

Re: The great #! forums DWM thread

^iirc, I had a similar issue some time ago. Have you tried hsetroot? It's only a small download (10kb, I think ... takes up less than 40kb when installed). Try setting wallpaper with something like;

hsetroot -center /home/unia/path/to/image.extension

Note: Not used dwm v6 before, so I have no idea whether it'll work for you.


Point & Squirt

Offline

#17 2012-04-02 16:51:18

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

gutterslob wrote:

^iirc, I had a similar issue some time ago. Have you tried hsetroot? It's only a small download (10kb, I think ... takes up less than 40kb when installed). Try setting wallpaper with something like;

hsetroot -center /home/unia/path/to/image.extension

Note: Not used dwm v6 before, so I have no idea whether it'll work for you.

Nope, doesn't work. sad maybe I should try the open source driver, to see if it's driver specific.


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#18 2012-04-02 16:54:46

2ManyDogs
dv#!
From: elsewhere
Registered: 2011-11-22
Posts: 1,346

Re: The great #! forums DWM thread

I tried this in DWM on my main machine, and in both DWM and MonsterWM on my test box and can't reproduce the problem. Tag switching is instantaneous, even with wallpaper set with nitrogen.


Be eggsalad to each other.

Offline

#19 2012-04-02 17:01:11

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

2ManyDogs wrote:

I tried this in DWM on my main machine, and in both DWM and MonsterWM on my test box and can't reproduce the problem. Tag switching is instantaneous, even with wallpaper set with nitrogen.

Oke.. what video card do you use, and which driver?


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#20 2012-04-02 17:05:22

el_koraco
#!/loony/bun
From: inside Ed
Registered: 2011-07-25
Posts: 4,749

Re: The great #! forums DWM thread

Are you using xcompmgr or cairo-compmgr? If so, try to disable them, I've had some issues with xcompmgr and feh in the past.

Offline

#21 2012-04-02 17:08:13

Unia
#! Octo-portal-pussy
From: The Netherlands
Registered: 2010-07-17
Posts: 3,962

Re: The great #! forums DWM thread

el_koraco wrote:

Are you using xcompmgr or cairo-compmgr? If so, try to disable them, I've had some issues with xcompmgr and feh in the past.

Nope, no composite manager running. I suspect it is an update of some sort, because one day it was working fine and the next day it didn't. Perhaps it is because I tried Compiz again and changed some driver setting I can't seem to restore, or it could be because I'm holding on xorg-server 1.11 whilst something else got updated (Catalyst 12.3 works only with 1.11, not 1.12)


If you can't sit by a cozy fire with your code in hand enjoying its simplicity and clarity, it needs more work. --Carlos Torres
Github

I am a #! forum moderator. Feel free to send me a PM with any question you have!

Offline

#22 2012-04-02 17:11:09

2ManyDogs
dv#!
From: elsewhere
Registered: 2011-11-22
Posts: 1,346

Re: The great #! forums DWM thread

Unia wrote:

Oke.. what video card do you use, and which driver?

Nothing proprietary, just the built-in graphics on my HP Athlon box and Dell Celeron, and the standard drivers.

lspci | grep VGA on the HP:

01:05.0 VGA compatible controller: ATI Technologies Inc RS482 [Radeon Xpress 200]

and on the Dell:

00:02.0 VGA compatible controller: Intel Corporation 82865G Integrated Graphics Controller (rev 02)

Last edited by 2ManyDogs (2012-04-02 17:11:53)


Be eggsalad to each other.

Offline

#23 2012-04-02 17:17:56

ivanovnegro
Ivan #000000
From: unstable madness
Registered: 2011-06-02
Posts: 5,426

Re: The great #! forums DWM thread

Maybe it is just one of the Arch issues. big_smile Sorry. tongue

No problems here using Feh without any compositing on Sid.

Offline

#24 2012-04-02 18:46:35

el_koraco
#!/loony/bun
From: inside Ed
Registered: 2011-07-25
Posts: 4,749

Re: The great #! forums DWM thread

Unia wrote:

I suspect it is an update of some sort, because one day it was working fine and the next day it didn't.

It'll probably sort itself out in a day or two. xli can be used to set a wallpaper. It's an image viewer like feh, but part of X itself.

xli -onroot path/to/image

Offline

Help fund CrunchBang, donate to the project!

#25 2012-04-02 18:52:40

gutterslob
#! Resident Bum
Registered: 2009-11-03
Posts: 3,082

Re: The great #! forums DWM thread

^Ah, forgot about xli.

Unia, you could also try xsetroot to set a solid colored or patterned background and see if the problem persists. Not ideal replacement for an actual atrsy wallpaper, but it may just narrow down the trouble-shooting.

Kinda weird, you stating that it started happening after that batch of upgrades. I see nothing in that list of packages you upgraded that's related to display issues. I'll just take the road most traveled and blame qt like usual.

One thing you can try: Open a terminal and set it in a workspace/tag, and launch some apps or other terminal windows from it. Then move those windows to another workspace/tag, arrange them and then try to replicate the issue. If/when the windows disappear, go back to the main terminal you launched them with and see if you get any error messages. As of now, we're not sure if the windows are actually killed or just vanishing from view (also check top/htop).

Last edited by gutterslob (2012-04-02 18:59:04)


Point & Squirt

Offline

Board footer

Powered by FluxBB

Copyright © 2012 CrunchBang Linux.
Proudly powered by Debian. Hosted by Linode.
Debian is a registered trademark of Software in the Public Interest, Inc.

Debian Logo