You are not logged in.
I combined both scripts and now runs fine, thanks for that!
I didn't mapped anything to mod4+b. The only modified mod4+enter (launch term), mod4+shift+enter (swap), mod4+r (launch dmenu). Weird, isn't it?
Sorry for my English. Feel free to point out my errors.
Offline
Hey, sorry if this is a n00b question, but; Is there a way to toggle clients from master to stack and vice versa?
arch64 :: zsh :: dwm :: urxvt \\ Still using the same computer I built when I was 15
I also use twitter entirely too much.
Offline
The push patch allows you to move them around: http://dwm.suckless.org/patches/push
Is that what you were after?
Offline
The push patch allows you to move them around: http://dwm.suckless.org/patches/push
Is that what you were after?
Yes! That does exactly what I was looking for. Thanks.
arch64 :: zsh :: dwm :: urxvt \\ Still using the same computer I built when I was 15
I also use twitter entirely too much.
Offline
Can't get on the dwm page (keeps timing out) to see what the difference between this key combination and that patch, but just in case....
Mod1-Return-Zooms/cycles focused window to/from master area (tiled layouts only).
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
I've got a pretty vanilla version of dwm on my laptop. I've got scrotwm on my netbook, but for various reasons that I won't go into here, I am thinking of adding dwm onto it. Now, I will probably start customising both installations (patches, colours & keys), so I think I my manual and ad-hoc config.h editing and makepkg updating will not cut the mustard.
So, I need to decide on a better method. I've been reading the various threads on the two methods in the wiki - with the suggestion of adding patches to the PKGBUILD, but I'm not sure which to method to use.
Some points I need to consider:
*) I've never used hg (the suckless hg queue tutorial is half understandable but will require some extra reading)
*) I've never edited a PKGBUILD or used ABS any more than the basic method specified in the dwm wiki entry
*) So that (plus a couple of other reasons) means both methods will require a learning curve - which I'm happy to go through, but might prefer not to go through both at the moment.
*) The set-ups will become reasonably stable (laziness will mean that I'll tend not to tweak too much)
*) I want to use the same method for both machines - the netbook is a 901.
*) I'd like to reduce the manual steps as much as possible - including knowing when there's a new version released.
*) The laptop is used for work, so some degree of stability is preferred.
Some of those may be irrelevant, but thought I ought to cover all potential issues.
Any suggestions, recommendations, hints, tips or otherwise, welcome.
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
push.c moves the focussed client around in the tag: Mod-Return swaps between master (essentially the same thing if you only have two clients in a tag, but once you get three or four, push.c provides more control/functionality....)
Offline
push.c moves the focussed client around in the tag: Mod-Return swaps between master (essentially the same thing if you only have two clients in a tag, but once you get three or four, push.c provides more control/functionality....)
Makes sense, thanks. (Still can't get onto their site.)
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
I don't mean to hijack this thread, but dwm 5.8.2 came out recently and there is no bstack for 5.8.2. Has anybody modified it to work yet? (I'm assuming it's unmaintained since it hasn't been updated in so long.)
Offline
I don't mean to hijack this thread, but dwm 5.8.2 came out recently and there is no bstack for 5.8.2. Has anybody modified it to work yet? (I'm assuming it's unmaintained since it hasn't been updated in so long.)
Works fine here...
Offline
Can't get on the dwm page (keeps timing out)
From the mailing list:
there is a scheduled downtime from 2010-06-07 21:00 UTC - 2010-06-08
07:00 UTC of suckless.org because the server will be relocated physically.
Offline
cabrey wrote:I don't mean to hijack this thread, but dwm 5.8.2 came out recently and there is no bstack for 5.8.2. Has anybody modified it to work yet? (I'm assuming it's unmaintained since it hasn't been updated in so long.)
Works fine here...
Really? makepkg kept failing for me:
config.h: In function 'bstack':
config.h:36:28: error: dereferencing pointer to incomplete type
config.h:39:17: error: dereferencing pointer to incomplete type
config.h:40:8: error: dereferencing pointer to incomplete type
config.h:40:19: error: dereferencing pointer to incomplete type
config.h:41:13: error: dereferencing pointer to incomplete type
config.h:41:20: error: dereferencing pointer to incomplete type
config.h:41:27: error: dereferencing pointer to incomplete type
config.h:41:56: error: dereferencing pointer to incomplete type
config.h:44:7: error: dereferencing pointer to incomplete type
config.h:45:8: error: dereferencing pointer to incomplete type
config.h:45:62: error: dereferencing pointer to incomplete type
config.h:46:7: error: dereferencing pointer to incomplete type
config.h:47:8: error: dereferencing pointer to incomplete type
config.h:47:36: error: dereferencing pointer to incomplete type
config.h:47:44: error: dereferencing pointer to incomplete type
config.h:47:56: error: dereferencing pointer to incomplete type
config.h:49:8: error: dereferencing pointer to incomplete type
config.h:52:13: error: dereferencing pointer to incomplete type
config.h:52:21: error: dereferencing pointer to incomplete type
config.h:53:12: error: dereferencing pointer to incomplete type
Offline
...
*) The set-ups will become reasonably stable (laziness will mean that I'll tend not to tweak too much)
*) I want to use the same method for both machines - the netbook is a 901.
*) I'd like to reduce the manual steps as much as possible - including knowing when there's a new version released.
*) The laptop is used for work, so some degree of stability is preferred.
...
Sounds like the mercurial queue is the way to go: one repo for both machines, manages all your patches and you pull when you are ready to... Mercurial is extremely well documented, so while there is a learning curve, it should be relatively gentle.
Offline
@cabrey What other patches have you applied? You might want to try applying it manually...
Offline
@cabrey What other patches have you applied? You might want to try applying it manually...
Just bstack and pertag.
Offline
skanky wrote:Can't get on the dwm page (keeps timing out)
From the mailing list:
there is a scheduled downtime from 2010-06-07 21:00 UTC - 2010-06-08
07:00 UTC of suckless.org because the server will be relocated physically.
Ah thanks for that.
I suppose I should subscribe to it - but I've been trying to free up procrastination time by cutting the number of mailing lists I'm sub'd to.
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
jasonwryan wrote:@cabrey What other patches have you applied? You might want to try applying it manually...
Just bstack and pertag.
You'll need to apply bstack manually - pertag moves a chunk of the code around.
Offline
skanky wrote:...
*) The set-ups will become reasonably stable (laziness will mean that I'll tend not to tweak too much)
*) I want to use the same method for both machines - the netbook is a 901.
*) I'd like to reduce the manual steps as much as possible - including knowing when there's a new version released.
*) The laptop is used for work, so some degree of stability is preferred.
...Sounds like the mercurial queue is the way to go: one repo for both machines, manages all your patches and you pull when you are ready to... Mercurial is extremely well documented, so while there is a learning curve, it should be relatively gentle.
Thanks...the set-ups might be different across the two machines (different uses) which might affect the shared repo (?) - though I may not do that if I end up confusing myself.
The other upside of going down that route is that it'll finally force me to decide which dvcs to learn and use.
"...one cannot be angry when one looks at a penguin." - John Ruskin
"Life in general is a bit shit, and so too is the internet. And that's all there is." - scepticisle
Offline
You'll need to apply bstack manually - pertag moves a chunk of the code around.
Now you mention this, I'm having issues installing pertag in combination with other patches.
I've this patches installed:
- nmaster
- attachaside
- push
If I install pertag alone every works fine, however when I install it in combination with the above patches (no matter in what order), it doesn't work (the last patch applied is pertag). I got this error:
==> Making package: dwm 5.8.2-1 i686 (Tue Jun 8 22:05:36 ART 2010)
==> Checking Runtime Dependencies...
==> Checking Buildtime Dependencies...
==> WARNING: Skipping source retrieval -- using existing src/ tree
==> WARNING: Skipping source integrity checks -- using existing src/ tree
==> WARNING: Skipping source extraction -- using existing src/ tree
==> Removing existing pkg/ directory...
==> Entering fakeroot environment...
==> Starting build()...
dwm build options:
CFLAGS = -g -std=c99 -pedantic -Wall -O0 -I. -I/usr/include -I/usr/include/X11 -DVERSION="5.8.2" -DXINERAMA
LDFLAGS = -g -L/usr/lib -lc -L/usr/lib/X11 -lX11 -L/usr/lib/X11 -lXinerama
CC = cc
CC dwm.c
In file included from config.h:33:0,
from dwm.c:260:
nmaster-sym.c: In function 'incnmaster':
nmaster-sym.c:18:20: error: dereferencing pointer to incomplete type
nmaster-sym.c:18:31: error: dereferencing pointer to incomplete type
nmaster-sym.c:18:58: error: dereferencing pointer to incomplete type
nmaster-sym.c:20:17: error: dereferencing pointer to incomplete type
nmaster-sym.c:21:20: error: dereferencing pointer to incomplete type
nmaster-sym.c:22:18: error: dereferencing pointer to incomplete type
nmaster-sym.c: In function 'setnmaster':
nmaster-sym.c:28:20: error: dereferencing pointer to incomplete type
nmaster-sym.c:28:31: error: dereferencing pointer to incomplete type
nmaster-sym.c:28:58: error: dereferencing pointer to incomplete type
nmaster-sym.c:30:17: error: dereferencing pointer to incomplete type
nmaster-sym.c: In function 'ntile':
nmaster-sym.c:42:12: error: dereferencing pointer to incomplete type
nmaster-sym.c:42:32: error: dereferencing pointer to incomplete type
nmaster-sym.c:42:62: error: dereferencing pointer to incomplete type
nmaster-sym.c:43:28: error: dereferencing pointer to incomplete type
nmaster-sym.c:44:17: error: dereferencing pointer to incomplete type
nmaster-sym.c:45:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:45:35: error: dereferencing pointer to incomplete type
nmaster-sym.c:50:9: error: dereferencing pointer to incomplete type
nmaster-sym.c:50:20: error: dereferencing pointer to incomplete type
nmaster-sym.c:51:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:53:9: error: dereferencing pointer to incomplete type
nmaster-sym.c:54:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:56:15: error: dereferencing pointer to incomplete type
nmaster-sym.c:56:36: error: dereferencing pointer to incomplete type
nmaster-sym.c:57:29: error: dereferencing pointer to incomplete type
nmaster-sym.c:57:37: error: dereferencing pointer to incomplete type
nmaster-sym.c:58:13: error: dereferencing pointer to incomplete type
nmaster-sym.c:67:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:68:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:69:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:70:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:72:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:75:27: error: dereferencing pointer to incomplete type
nmaster-sym.c:75:35: error: dereferencing pointer to incomplete type
nmaster-sym.c:76:12: error: dereferencing pointer to incomplete type
nmaster-sym.c: In function 'nbstack':
nmaster-sym.c:89:12: error: dereferencing pointer to incomplete type
nmaster-sym.c:89:32: error: dereferencing pointer to incomplete type
nmaster-sym.c:89:62: error: dereferencing pointer to incomplete type
nmaster-sym.c:90:28: error: dereferencing pointer to incomplete type
nmaster-sym.c:91:17: error: dereferencing pointer to incomplete type
nmaster-sym.c:92:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:92:35: error: dereferencing pointer to incomplete type
nmaster-sym.c:97:9: error: dereferencing pointer to incomplete type
nmaster-sym.c:97:20: error: dereferencing pointer to incomplete type
nmaster-sym.c:98:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:100:9: error: dereferencing pointer to incomplete type
nmaster-sym.c:101:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:103:18: error: dereferencing pointer to incomplete type
nmaster-sym.c:103:42: error: dereferencing pointer to incomplete type
nmaster-sym.c:103:50: error: dereferencing pointer to incomplete type
nmaster-sym.c:104:23: error: dereferencing pointer to incomplete type
nmaster-sym.c:105:13: error: dereferencing pointer to incomplete type
nmaster-sym.c:114:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:115:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:116:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:117:7: error: dereferencing pointer to incomplete type
nmaster-sym.c:119:8: error: dereferencing pointer to incomplete type
nmaster-sym.c:121:36: error: dereferencing pointer to incomplete type
nmaster-sym.c:121:44: error: dereferencing pointer to incomplete type
nmaster-sym.c:123:12: error: dereferencing pointer to incomplete type
In file included from config.h:55:0,
from dwm.c:260:
push.c: In function 'prevtiled':
push.c:5:16: error: dereferencing pointer to incomplete type
push.c:5:25: warning: left-hand operand of comma expression has no effect
push.c:6:24: error: dereferencing pointer to incomplete type
push.c:6:24: error: dereferencing pointer to incomplete type
push.c: In function 'pushup':
push.c:13:22: error: dereferencing pointer to incomplete type
push.c:22:12: error: dereferencing pointer to incomplete type
push.c:23:10: error: dereferencing pointer to incomplete type
push.c:25:18: error: dereferencing pointer to incomplete type
push.c: In function 'pushdown':
push.c:41:22: error: dereferencing pointer to incomplete type
In file included from dwm.c:260:0:
config.h: At top level:
config.h:94:2: warning: initialization makes integer from pointer without a cast
config.h:95:2: warning: initialization makes integer from pointer without a cast
dwm.c:868:1: warning: 'focusmon' defined but not used
dwm.c:1659:1: warning: 'tagmon' defined but not used
dwm.c:1677:1: warning: 'tile' defined but not used
nmaster-sym.c:27:1: warning: 'setnmaster' defined but not used
make: *** [dwm.o] Error 1
==> ERROR: Build Failed.
Aborting...
I looked at pertag source code, but I didn't understand it (not a programmer myself). Is something that I'm missing? What I'm doing wrong?
Sorry for my English. Feel free to point out my errors.
Offline
pertag changes the order of a significant chunk of code (you'll see it in the patch). If you want to make it work with any of the other layout patches, you have to apply it first then manually patch everything else over the top of it.
From memory, there is some discussion about this in this thread: http://bbs.archlinux.org/viewtopic.php?id=92895
Offline
I did as jasonwryan suggested and I got it working. I then generated my own patch using the modified dwm.c and the original dwm.c so makepkg could automatically apply it.
Offline
Thank you. I found the post related on that thread, although I'm not quite sure I understand the whole concept. I think it's time to do some try-and-error patching
cabrey, would you mind give me some pointers on that? I mean, some basic hits so I can start in the right direction.
Sorry for my English. Feel free to point out my errors.
Offline
@rb:
The problem is the contents of your config.h (or the patches/includes in the config.h) expects Monitor() to be defined before the compiler comes to the config.h. On the other hand, pertag expects the tags to be defined before the Monitor() function. To fix this (specifically for the pertag patch), I stripped the tags[] definition out of config.h into its own header file (tags.h) and placed the config.h after the Monitor() function. I made these modifications after applying the patch(s) and then generated one new, large patch to be applied automatically by makepkg. I can upload my dwm.c if that helps.
edit: of course, the only patches I use are pertag, bstack, and gaplessgrid, so your mileage may vary
Last edited by cabrey (2010-06-09 05:15:59)
Offline
@cabrey: Thanks for your explanation, was crystal clear. If you don't mind, viewing your dwm.c would be really useful.
What I don't know is how to create a patch like you said. It's 2:30 in the morning, I shall research on that matter tomorrow. I don't think that I'll need more patches in a near future, as the patches I've got installed + pertag does all that I want from my wm.
Thanks again!
Sorry for my English. Feel free to point out my errors.
Offline
Here you are: http://pastebin.ca/1879545
Specifically, take a look at lines: 258 - 286
To create the patch, I copied the original dwm.c to dwm.orig.c. I then modified dwm.c however I wished, including adding 3rd party patches and the fix above. After I was done doing that I simply ran in the directory of the source files diff -up dwm.orig.c dwm.c > mods.patch (or however you want to name it). I inserted the necessary lines into the PKGBUILD (including copying the patch to the $srcdir and actually patching it).
Offline