You are not logged in.
Hi,
I started a very simple tiling window manager months ago... I'm taking back the dev and I have made a pkgbuild if some people are interested: http://aur.archlinux.org/packages.php?ID=38579
The manager is working but there is still some crappy bugs
Offline
What's it written in and configured with?
Offline
What's it written in and configured with?
Sorry I don't understand the question (I'm not english)
You mean the language? It's written in C and you configure it dynamicly modifying the config.h file (like dwm)
Offline
You mean the language? It's written in C and you configure it dynamicly modifying the config.h file (like dwm)
Yes, that is what I meant
Offline
You mean the language? It's written in C and you configure it dynamicly modifying the config.h file (like dwm)
Yes, that is what I meant
\o/
Offline
Really neat. I like how simple and small it is. I haven't been using it long enough to find a bug yet but will report back when I do.
The only thing is that your "make clean" removes the catwm file. Also it doesn't seem to put anything into the pkgdir for installing, unless I missed something? Please forgive me if I did. So, I had to add this to my PKGBUILD:
pkgname=catwm-git
pkgver=20100630
pkgrel=1
pkgdesc="Cute And Tiny Window Manager"
url="http://github.com/pyknite/catwm"
license=('GPL')
depends=('libx11')
makedepends=('gcc' 'make' 'git')
arch=(i686 x86_64)
source=()
md5sums=()
options=(!libtool)
_gitroot="git://github.com/pyknite/catwm.git"
_gitname="catwm"
build() {
msg "Connecting to GIT server...."
# if local repo already exist
if [[ -d $startdir/src/$_gitname ]] ; then
cd $_gitname
git pull origin || return 1
msg "The local files are updated."
# else clone
else
git clone $_gitroot || return 1
fi
msg "GIT checkout done"
msg "Starting make..."
# build directory
[[ -d $srcdir/$_gitname-build ]] && rm -rf $srcdir/$_gitname-build
git clone $srcdir/$_gitname $srcdir/$_gitname-build
cd $srcdir/$_gitname-build
# edit config.h
$EDITOR config.h
# fix Makefile to keep catwm after compiling
sed -i -re 's|rm -f c.*$|rm -f \*.o|' Makefile
make || return 1
make clean || return 1
# install files to pkgdir
mkdir -p $pkgdir/usr/bin
cp $srcdir/$_gitname-build/catwm $pkgdir/usr/bin
}
P.S.: why all the "CACA MOTHERF**KER" stuff in stdout? o_O Had to remove that stuff too.
EDIT: Ok, yeah, a few bugs. Main one is when mplayer goes into fullscreen and continually adds blank windows each time I press fullscreen key. Other than that a few smaller bugs, it's still nice. Thanks
Last edited by milomouse (2010-07-01 01:00:18)
Offline
Really neat. I like how simple and small it is. I haven't been using it long enough to find a bug yet but will report back when I do.
The only thing is that your "make clean" removes the catwm file. Also it doesn't seem to put anything into the pkgdir for installing, unless I missed something? Please forgive me if I did. So, I had to add this to my PKGBUILD:
pkgname=catwm-git pkgver=20100630 pkgrel=1 pkgdesc="Cute And Tiny Window Manager" url="http://github.com/pyknite/catwm" license=('GPL') depends=('libx11') makedepends=('gcc' 'make' 'git') arch=(i686 x86_64) source=() md5sums=() options=(!libtool) _gitroot="git://github.com/pyknite/catwm.git" _gitname="catwm" build() { msg "Connecting to GIT server...." # if local repo already exist if [[ -d $startdir/src/$_gitname ]] ; then cd $_gitname git pull origin || return 1 msg "The local files are updated." # else clone else git clone $_gitroot || return 1 fi msg "GIT checkout done" msg "Starting make..." # build directory [[ -d $srcdir/$_gitname-build ]] && rm -rf $srcdir/$_gitname-build git clone $srcdir/$_gitname $srcdir/$_gitname-build cd $srcdir/$_gitname-build # edit config.h $EDITOR config.h # fix Makefile to keep catwm after compiling sed -i -re 's|rm -f c.*$|rm -f \*.o|' Makefile make || return 1 make clean || return 1 # install files to pkgdir mkdir -p $pkgdir/usr/bin cp $srcdir/$_gitname-build/catwm $pkgdir/usr/bin }
Oh, your right, my apologize... I did not test to install the package. I will change the pkgbuild on AUR thx
P.S.: why all the "CACA MOTHERF**KER" stuff in stdout? o_O Had to remove that stuff too.
Hahahah, sorry I forget to remove a debug printf I'll commit without that later
EDIT: Ok, yeah, a few bugs. Main one is when mplayer goes into fullscreen and continually adds blank windows each time I press fullscreen key. Other than that a few smaller bugs, it's still nice. Thanks
Yep it's one of the bugs I was talking, I really need to fix it this one.tarc
Offline
Really nice. I think it would be a cleaner way to write a working install rule in your Makefile like
install: all
install -Dm 755 catwm $(DESTDIR)(BINDIR)
and putting
make DESTDIR=${pkgdir} install
in your PKGBUILD, instead of sed'ing your Makefile and then copying the binary.
catwm crashes if you resize the mein area too much.
Offline
Really nice. I think it would be a cleaner way to write a working install rule in your Makefile like
install: all install -Dm 755 catwm $(DESTDIR)(BINDIR)
and putting
make DESTDIR=${pkgdir} install
in your PKGBUILD, instead of sed'ing your Makefile and then copying the binary.
catwm crashes if you resize the mein area too much.
I tried your way but it doesn't work (but I probably made a mistake I'm a noob in makefile and PKGBUILD)... It install it to pkg/usr/bin instead of pkg/usr/bin/catwm
CFLAGS+= -Wall
LDADD+= -lX11
LDFLAGS=
EXEC=catwm
PREFIX?= /usr
BINDIR?= $(PREFIX)/bin
CC=gcc
all: $(EXEC)
catwm: catwm.o
$(CC) $(LDFLAGS) -Os -o $@ $+ $(LDADD)
install: all
install -Dm 755 catwm $(DESTDIR)$(BINDIR)
clean:
rm -f catwm *.o
pkgname=catwm-git
pkgver=20100701
pkgrel=1
pkgdesc="Cute And Tiny Window Manager"
url="http://github.com/pyknite/catwm"
license=('GPL')
depends=('libx11')
makedepends=('gcc' 'make' 'git')
arch=(i686 x86_64)
source=()
md5sums=()
options=(!libtool)
_gitroot="git://github.com/pyknite/catwm.git"
_gitname="catwm"
build() {
msg "Connecting to GIT server...."
# if local repo already exist
if [[ -d $startdir/src/$_gitname ]] ; then
cd $_gitname
git pull origin || return 1
msg "The local files are updated."
# else clone
else
git clone $_gitroot || return 1
fi
msg "GIT checkout done"
msg "Starting make..."
# build directory
[[ -d $srcdir/$_gitname-build ]] && rm -rf $srcdir/$_gitname-build
git clone $srcdir/$_gitname $srcdir/$_gitname-build
cd $srcdir/$_gitname-build
# edit config.h
$EDITOR config.h
# fix Makefile to keep catwm after compiling
make || return 1
make clean || return 1
# install files to pkgdir
make DESTDIR=${pkgdir} install
I'll try to correct the bug you found this afternoon, btw thx for report
Offline
I did a mistake. You can put
install -Dm 755 catwm $(BINDIR)$(DESTDIR)/catwm
in your Makefile
and use this PKGBUILD
pkgname=catwm-git
pkgver=20100701
pkgrel=1
pkgdesc="Cute And Tiny Window Manager"
url="http://github.com/pyknite/catwm"
license=('GPL')
depends=('libx11')
makedepends=('gcc' 'make' 'git')
arch=(i686 x86_64)
source=()
md5sums=()
options=(!libtool)
_gitroot="git://github.com/pyknite/catwm.git"
_gitname="catwm"
build() {
msg "Connecting to GIT server...."
# if local repo already exist
if [[ -d $startdir/src/$_gitname ]] ; then
cd $_gitname
git pull origin || return 1
msg "The local files are updated."
# else clone
else
git clone $_gitroot || return 1
fi
msg "GIT checkout done"
msg "Starting make..."
# build directory
cd $srcdir/$_gitname
# edit config.h
$EDITOR config.h
make DESTDIR=${pkgdir} install || return 1
}
or change the last line in the PKGBUILD to
make || return 1
install -Dm 755 catwm ${pkgdir}/usr/bin/catwm
Offline
Thanks for your help, it work fine \o/
And I correctecd the "increase/decrease master area" bug
Offline
EDIT: Ok, yeah, a few bugs. Main one is when mplayer goes into fullscreen and continually adds blank windows each time I press fullscreen key. Other than that a few smaller bugs, it's still nice. Thanks
Bug corrected \o/
I think that the is almost usuable now... Need to implement "multiple desktop"...
Offline
@portix: You're right about the proper install process. It's better than sed stuff as "make clean" should still delete binary if wanted.
@pyknite: Thanks! I'll update catwm when I get home and try it out (might be a couple days though). By the way, I'd like to put in a request for catwm to be able to resize the "slave" windows too, not just master.Thanks again for your hard work. :}
Offline
@pyknite: Thanks! I'll update catwm when I get home and try it out (might be a couple days though). By the way, I'd like to put in a request for catwm to be able to resize the "slave" windows too, not just master.Thanks again for your hard work. :}
Thx to try my little piece of code
What do you mean by resize the "slave" windows? If you have any others ideas, I'm open to any reflection (or if someone want to join the "project", it's not a problem)
Offline
pyknite,
thanks for that: the code is short and easy to understand. It's the kind of programs from which one can learn.
Regarding the code that needs to be rewritten in remove_window, wouldn't making the linked list circular simplify things ?
Edit: by the way, I'd like to "join the project", but I don't know anything about xlib and I've never seriously worked with c, so I'll play around with the code and get back to you if I feel up for it.
Last edited by dawn (2010-07-02 23:24:42)
Offline
thanks for that: the code is short and easy to understand. It's the kind of programs from which one can learn.
Thank you
Regarding the code that needs to be rewritten in remove_window, wouldn't making the linked list circular simplify things ?
Because when I wrote the code I was lazy
Edit: by the way, I'd like to "join the project", but I don't know anything about xlib and I've never seriously worked with c, so I'll play around with the code and get back to you if I feel up for it.
Sure man, no problem
Offline
milomouse wrote:@pyknite: Thanks! I'll update catwm when I get home and try it out (might be a couple days though). By the way, I'd like to put in a request for catwm to be able to resize the "slave" windows too, not just master.Thanks again for your hard work. :}
Thx to try my little piece of code
What do you mean by resize the "slave" windows? If you have any others ideas, I'm open to any reflection (or if someone want to join the "project", it's not a problem)
No problem, I like it alot. I'll look at the code myself when I get home (Monday night).
As far as the "slave windows", I mean the non-master windows created at the side of the master. I was wondering if it were possible to resize them individually. Example, you open three windows, 1 master window and 2 non-master (slaves). What I mean is to focus on one of the non-master (slave) windows and make it bigger (taller) than the other non-master (slave) window. I'm sorry if I'm not making sense, but like I said I'll look at the code myself when I get home. :}
Offline
pyknite wrote:milomouse wrote:@pyknite: Thanks! I'll update catwm when I get home and try it out (might be a couple days though). By the way, I'd like to put in a request for catwm to be able to resize the "slave" windows too, not just master.Thanks again for your hard work. :}
Thx to try my little piece of code
What do you mean by resize the "slave" windows? If you have any others ideas, I'm open to any reflection (or if someone want to join the "project", it's not a problem)
No problem, I like it alot. I'll look at the code myself when I get home (Monday night).
As far as the "slave windows", I mean the non-master windows created at the side of the master. I was wondering if it were possible to resize them individually. Example, you open three windows, 1 master window and 2 non-master (slaves). What I mean is to focus on one of the non-master (slave) windows and make it bigger (taller) than the other non-master (slave) window. I'm sorry if I'm not making sense, but like I said I'll look at the code myself when I get home. :}
Oh yeh I see what do you mean... You want something like in tmux. I will see if I can implement that, it's a good idea!!
Offline
I haven't tried it yet, but I can say one thing: the config.h is PRETTY AWESOME.
Offline
Oh, and catwm has now an IRC chan. Check #catwm at freenode
Offline
I haven't tried it yet, but I can say one thing: the config.h is PRETTY AWESOME.
Thanks, but I think there is nothing very special in the config file??
Offline
gtklocker wrote:I haven't tried it yet, but I can say one thing: the config.h is PRETTY AWESOME.
Thanks, but I think there is nothing very special in the config file??
This is why I like it. It's unbloated and simple. Pure awesomeness.
Ah, and join the chan
Offline
pyknite wrote:gtklocker wrote:I haven't tried it yet, but I can say one thing: the config.h is PRETTY AWESOME.
Thanks, but I think there is nothing very special in the config file??
This is why I like it. It's unbloated and simple. Pure awesomeness.
Ah, and join the chan
Ah ok, Thanks a lot
It seems there is some "fan" here \o/ Now I need to code more faster
Offline
Very, very nice! It uses even less memory than DWM. I can't wait to see how awesome catwm will be in it's mature stages. I really would like to see a bottom stack layout implemented by default, but I'm not complaining. I really appreciate the work you've done so far.
Offline
compiled using makepkg and installed. Added 'exec catwm' in .xinitrc. Now I am confused with the usage? What key combinations gives what? New to this. Thanks.
Offline