You are not logged in.

#1276 2013-06-22 21:11:52

Neuromatic
Member
From: Germany
Registered: 2013-05-31
Posts: 65

Re: monsterwm! ~ yet another tiny wm

c00kiemon5ter wrote:

If it cannot find the font file then it either cannot see it (not in the FontPath) or it is actually not there.
try:

$ fc-cache -frv

Sorry for the late reply, I've moved and I changed internet providers.

I thank many cookie monster that functioned perfectly smile


/* No Comment */

Offline

#1277 2013-06-23 09:17:06

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

I have been having problems with mouse coordinates in windows that are supposed to be fullscreen but are not.
The latest humble bundle games are a good example.. My pointer is over a certain xy and the game highlights a menu button some pixels to the right.
This sort of behaviour is also present when draggin and dropping something in SpaceFM.
1cc.png
spjx.png

edit: mouse pointer position painted in the images

Last edited by el mariachi (2013-06-23 09:22:35)

Offline

#1278 2013-07-09 14:52:51

hatuey
Member
Registered: 2013-07-07
Posts: 6

Re: monsterwm! ~ yet another tiny wm

Hallo and thanks for this.

Is there a way to show desktops and windows info directly in conky (no dzen or bar)?

I use a conky-only status bar that I don't wanna change.

Offline

#1279 2013-07-09 18:50:49

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

@el mariachi, just show your post; it is weird. I have no idea what could be causing that hmm
I've used SpaceFM and pcmanfm in the past, and I tested both again and I cannot reproduce that
even tried with different branches and multi-screen. Are you still getting that? What is your conf?

@hatuey, I do not use conky, but if conky accepts input then it is possible.
Do a search on this topic, I think this came up before; not sure where it resulted.
If you give me a snippet of how conky can display something given in its stdin or
through a file then it should be doable.
If conky can run independent commands, like invoke the shell with some command
and display that, it is easy to just convert the scripts to run inside conky ..


.:[ git me! ] :.

Offline

#1280 2013-07-20 22:19:06

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

Offline

#1281 2013-07-29 16:19:42

F34R
Member
From: /dev/loliland
Registered: 2012-02-05
Posts: 245

Re: monsterwm! ~ yet another tiny wm

Hi everyone hot to way a correct method in config file set the dmenu color and font , i try that other settings called dmenu.sh (include colors and fonts) btw not working. Fonts like Droid Sans Mono. Also this version than i used : dmenu-pango-imlib & lolimpd

Offline

#1282 2013-07-29 16:41:32

Cloudef
Member
Registered: 2010-10-12
Posts: 636

Re: monsterwm! ~ yet another tiny wm

@F34R
There are 2 ways.

1) lolimpdnu supports ~/.dmenurc
syntax is LOLIMPDNU_DMENU="dmenu <your options>" (default is dmenu -i -l 15)

2) Write wrapper script called dmenu that calls real dmenu and put it earlier in your PATH.

Offline

#1283 2013-07-29 17:47:44

F34R
Member
From: /dev/loliland
Registered: 2012-02-05
Posts: 245

Re: monsterwm! ~ yet another tiny wm

Cloudef wrote:

@F34R
There are 2 ways.

1) lolimpdnu supports ~/.dmenurc
syntax is LOLIMPDNU_DMENU="dmenu <your options>" (default is dmenu -i -l 15)

2) Write wrapper script called dmenu that calls real dmenu and put it earlier in your PATH.


Yes  I mean two method , both settings need for set smaller font btw only showed big fonts. (Try Droid Sans Mono 9 , Droid Sans Mono-9 and -*-droid sans mono-*-*-normal-*-10-*-*-*-*-*-*-*)
and i call the wrapper with sh in config.def.h

Offline

#1284 2013-07-29 18:09:44

Cloudef
Member
Registered: 2010-10-12
Posts: 636

Re: monsterwm! ~ yet another tiny wm

Yes  I mean two method , both settings need for set smaller font btw only showed big fonts. (Try Droid Sans Mono 9 , Droid Sans Mono-9 and -*-droid sans mono-*-*-normal-*-10-*-*-*-*-*-*-*)
and i call the wrapper with sh in config.def.h

That only works for monsterwm, it won't work for other programs that use dmenu since they call the dmenu binary, not dmenu.sh.
You need to use the exact same name "dmenu" in PATH that is before the PATH where the real dmenu binary is in.

Last edited by Cloudef (2013-07-29 18:09:51)

Offline

#1285 2013-07-30 13:52:32

F34R
Member
From: /dev/loliland
Registered: 2012-02-05
Posts: 245

Re: monsterwm! ~ yet another tiny wm

Cloudef wrote:

Yes  I mean two method , both settings need for set smaller font btw only showed big fonts. (Try Droid Sans Mono 9 , Droid Sans Mono-9 and -*-droid sans mono-*-*-normal-*-10-*-*-*-*-*-*-*)
and i call the wrapper with sh in config.def.h

That only works for monsterwm, it won't work for other programs that use dmenu since they call the dmenu binary, not dmenu.sh.
You need to use the exact same name "dmenu" in PATH that is before the PATH where the real dmenu binary is in.


I try this

static const char *menucmd[]	   = { "dmenu_run", "-fn", "Droid Sans Mono 8", NULL};

this is worked ,  with -p (path) call the wrapper btw not working.

and in dmenurc

LOLICTRL_DMENU='dmenu -i -f -l 12 -nb #1b1c1f -sb #862626 -sf #a1a1a1 -fn terminus' [b]-- i changed via droid sans mono btw already doesn't happend and not correctly the font size set. [/b]
LOLIMPDNU_DMENU='dmenu -i -f -l 12 -nb #1b1c1f -sb #862626 -sf #a1a1a1 -fn terminus' 

Offline

#1286 2013-08-04 17:51:47

F34R
Member
From: /dev/loliland
Registered: 2012-02-05
Posts: 245

Re: monsterwm! ~ yet another tiny wm

okay another question how to set a prntsc command to monsterwm config.def ?  I merged from Shinryuu double screen setup.
here is my file

I get some errors

monsterwm build options:
CFLAGS   = -std=c99 -pedantic -Wall -Wextra -I. -I/usr/include -I/usr/X11R6/include -DVERSION="cookies-git" -Os
LDFLAGS  = -L/usr/lib -lc -L/usr/X11R6/lib -lX11 -s
CC       = cc
creating config.h from config.def.h
CC monsterwm.c
In file included from monsterwm.c:102:0:
config.h:121:40: error: ‘togglefullscreen’ undeclared here (not in a function)
     { MOD5,             XK_F10,        togglefullscreen,  {NULL}},
                                        ^
config.h:121:5: warning: missing initializer for field ‘func’ of ‘Key’ [-Wmissing-field-initializers]
     { MOD5,             XK_F10,        togglefullscreen,  {NULL}},
     ^
monsterwm.c:49:12: note: ‘func’ declared here
     void (*func)(const Arg *);
            ^
make: *** [monsterwm.o] Error 1

Last edited by F34R (2013-08-04 17:57:37)

Offline

#1287 2013-08-07 10:31:04

el mariachi
Member
Registered: 2007-11-30
Posts: 595

Re: monsterwm! ~ yet another tiny wm

@c00kie is my config "normal"?

Offline

#1288 2013-08-08 01:03:41

havoc
Member
Registered: 2009-04-10
Posts: 9

Re: monsterwm! ~ yet another tiny wm

Hi, i have a small question for monsterwm.

I am using thunderbird as my email client. For example, i put it in desktop 4, while i stay in another desktop. When there is a new mail, thunderbird will popup a message window in the current desktop, this is correct. But if i click the popup window, it cannot go to desktop 4 automatically. I have to manually switch to it.

How do you solve this problem? thanks alot

Offline

#1289 2013-08-08 14:28:30

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: monsterwm! ~ yet another tiny wm

I'm currently hacking monsterwm to make it what is never was set out to be (implementing EWMH support) and perhaps some users will appreciate some of the features I'm implementing. Whenever I think I implement something that could either make it into master or another branch, or that some users might like I will share it here with you.

First feature I'm sharing with you is togglefloat; just middle click on afloating client to bring it back to tiling.

void togglefloat(void) {
    Desktop *d = &desktops[currdeskidx];
    if (!d->curr || d->curr->isfull || !d->curr->isfloat) return;
    d->curr->isfloat = False;
    tile(d);
}

And in config.h:

static Button buttons[] = {
    ...
    {  MOD1,    Button2,     togglefloat,   {0}},
    ...
};

I have so far also added EWMH desktop support, so for example Conky's desktop feature will work. I saw it was requested a few pages back, so if you are still interested give me a shout!


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

Offline

#1290 2013-08-08 16:06:26

Shinryuu
Member
From: /dev/urandom
Registered: 2010-02-27
Posts: 339

Re: monsterwm! ~ yet another tiny wm

Heh, Looks interesting but it doesn't support multi monitor setup so I can't test it until I try to modify it around. I've been on monsterwm for a long time and it's nice to hear that someone is banging it around. Thumbs up cool

Last edited by Shinryuu (2013-08-08 16:06:41)

Offline

#1291 2013-08-08 16:44:56

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: monsterwm! ~ yet another tiny wm

Ah yes, I don't have a multimonitor setup (nor is the original MonsterWM multimonitor), so I can not add that. If you get around to fixing this, I'll be interested to see what you came up with!


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

Offline

#1292 2013-08-09 19:01:59

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: monsterwm! ~ yet another tiny wm

Cookie, why doesn't MonsterWM work with xkill? What event does xkill give out? I know MonsterWM listens to WM_DELETE_WINDOW, but apparantly that's not working..


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

Offline

#1293 2013-08-19 08:21:25

F34R
Member
From: /dev/loliland
Registered: 2012-02-05
Posts: 245

Re: monsterwm! ~ yet another tiny wm

I tryed many fonts with bar but all doesn't contain the show japanese character why (especially music title) ?

Offline

#1294 2013-08-19 09:08:03

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

hello everyone and sorry for me being absent lately.
I was working two jobs and trying to keep up with things, friends and life is taking up a lot of time tongue

el mariachi wrote:

@c00kie is my config "normal"?

yes, it looks ok and works ok. AFAIU, the misplaced mouse and focus
problem hasn't been happening from the begining. Can you remember
what you might have updated or changed when it started ?
Could it be somethng you added in your .xinitrc ?

havoc wrote:

I am using thunderbird as my email client. For example, i put it in desktop 4, while i stay in another desktop. When there is a new mail, thunderbird will popup a message window in the current desktop, this is correct. But if i click the popup window, it cannot go to desktop 4 automatically. I have to manually switch to it.

hi, can you run xprop on the popup window and paste the output?
if the popup has its own class, a rule can be set to always make it show up a specific desktop

Unia wrote:

I'm currently hacking monsterwm to make it what is never was set out to be (implementing EWMH support) and perhaps some users will appreciate some of the features I'm implementing. Whenever I think I implement something that could either make it into master or another branch, or that some users might like I will share it here with you.

that's great wink yeah, monsterwm was not heading out that direction, but it might turn out nice.
if you need any help or get into any kind of trouble, do ask.

Unia wrote:

Cookie, why doesn't MonsterWM work with xkill? What event does xkill give out? I know MonsterWM listens to WM_DELETE_WINDOW, but apparantly that's not working..

hmm, I'm sure it used to work at some point. Playing a bit with it, it seems it "semi-works"
ie 'xkill -id xxxxxx' will work; what doesn't work is xkill getting the id of the window clicked
I should look into what xkill is doing. As a workaround:

xwininfo -int
<click the window that is to be killed>
<get the window id>
xkill -id <window-id>

will do the job ..

F34R wrote:

I tryed many fonts with bar but all doesn't contain the show japanese character why (especially music title) ?

hi F34R, did you solve your previous problems with dmenu and config.h ?
to show japanese characters you need some font that supports the japanese glyphs.
what font are you using ?


.:[ git me! ] :.

Offline

#1295 2013-08-19 12:05:54

F34R
Member
From: /dev/loliland
Registered: 2012-02-05
Posts: 245

Re: monsterwm! ~ yet another tiny wm

tryed many fonts with bar but all doesn't contain the show japanese character why (especially music title) ?
hi F34R, did you solve your previous problems with dmenu and config.h ?
to show japanese characters you need some font that supports the japanese glyphs.
what font are you using ?


I use terminus for bar , nope i not solved problem with dmenu and replaced via interrobang.

Offline

#1296 2013-08-19 18:57:11

moetunes
Member
From: A comfortable couch
Registered: 2010-10-09
Posts: 1,033

Re: monsterwm! ~ yet another tiny wm

Reading man xkill shows that the author does not guarantee that every app will be killed.

xkill -frame

seems to get the job done here.

HTH


You're just jealous because the voices only talk to me.

Offline

#1297 2013-08-20 09:26:25

havoc
Member
Registered: 2009-04-10
Posts: 9

Re: monsterwm! ~ yet another tiny wm

Sorry, maybe i didn't describe clearly in last post. The popup window should go to the current "active" desktop, which is right, to let me see the message. But after i click the message, i should be switched to "desktop 4" automaticlly to view the mail.

A similay situation is :

If i have firefox in desktop 1, and i am currently reading a pdf in desktop 2. If i click a link in the pdf, a new tab will be openned in firefox. So i should be automatically switched to desktop 1 to see the webpage. But now this dose not happen.

Thank you

Offline

#1298 2013-08-20 12:03:36

Unia
Member
From: Stockholm, Sweden
Registered: 2010-03-30
Posts: 2,486
Website

Re: monsterwm! ~ yet another tiny wm

Regarding xkill, I found out that if we use DWM's setclientstate(), it will work with one issue: it closes all instances of the same application (e.g. if you have multiple gnome-terminal instances running, it will kill them all)

EDIT: I just found out this only happens in GNOME applications, so this is probably related GApplication or GtkApplication.

xkill -frame and xkill -id do indeed work, but why doesn't the normal xkill command work? Off to investigate...

Last edited by Unia (2013-08-20 16:24:41)


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

Offline

#1299 2013-08-20 18:56:50

c00kiemon5ter
Member
From: Greece
Registered: 2010-06-01
Posts: 562
Website

Re: monsterwm! ~ yet another tiny wm

F34R wrote:

I use terminus for bar , nope i not solved problem with dmenu and replaced via interrobang.

terminus doesn't have the japanese glyphs iirc, so you may want to add a font in the FONT line in bar's config.h, so that it will fallback to that font to search for those glyphs.

havoc wrote:

Sorry, maybe i didn't describe clearly in last post. The popup window should go to the current "active" desktop, which is right, to let me see the message. But after i click the message, i should be switched to "desktop 4" automaticlly to view the mail.

A similay situation is :

If i have firefox in desktop 1, and i am currently reading a pdf in desktop 2. If i click a link in the pdf, a new tab will be openned in firefox. So i should be automatically switched to desktop 1 to see the webpage. But now this dose not happen.

I get it now. It is possible with the current implementation.
The two senarios look alike, but actually differ a lot.

The first one, clicking a popup and being redirected to its parent is doable.
One needs to search for the parent window, locate the desktop it lies on and
switch desktop and give that window focus.

The second is quite different, as the link is not associated with any other window.
Actually the window manager has no notion of "link" or any content.
imo, the correct solution is some form of IPC (most probably dbus).
One could implement a reaction to the event (a new tab generates an notify event)
that would switch to that window's desktop and give the window focus, but this
would soon get very tiring as there would be automatic desktop-switching and
focusing in unexpected times.

@Unia I hadn't had time to look into xkill
We should check how it tries to identify the window that was clicked.


.:[ git me! ] :.

Offline

#1300 2013-08-20 20:14:57

v2punkt0
Member
From: Germany
Registered: 2008-03-09
Posts: 6
Website

Re: monsterwm! ~ yet another tiny wm

Heya,

having a problem with monsterwm multihead.

My setup (the relevant parts):
- Nvidia 560 Ti (using the nouveau module [or however you spell that])
- Having my 2 monitors configured with xorg
- DVI

My configs:
    xorg.conf:

Section "Monitor"
	Identifier	"DVI-I-2"
	Option		"Primary" "true"
EndSection

Section "Monitor"
	Identifier	"DVI-I-1"
	Option		"RightOf" "DVI-I-2"
EndSection

    config.h:

/* see LICENSE for copyright and license */

#ifndef CONFIG_H
#define CONFIG_H

/** modifiers **/
#define MOD1            Mod4Mask    /* ALT key */
#define MOD4            Mod1Mask    /* Super/Windows key */
#define CONTROL         ControlMask /* Control key */
#define SHIFT           ShiftMask   /* Shift key */

/** generic settings **/
#define MASTER_SIZE     0.52
#define SHOW_PANEL      True      /* show panel by default on exec */
#define TOP_PANEL       True      /* False means panel is on bottom */
#define PANEL_HEIGHT    15        /* 0 for no space for panel, thus no panel */
#define DEFAULT_MODE    TILE      /* initial layout/mode: TILE MONOCLE BSTACK GRID FLOAT */
#define ATTACH_ASIDE    True      /* False means new window is master */
#define FOLLOW_WINDOW   False     /* follow the window when moved to a different desktop */
#define FOLLOW_MOUSE    False     /* focus the window the mouse just entered */
#define CLICK_TO_FOCUS  True      /* focus an unfocused window when clicked  */
#define FOCUS_BUTTON    Button3   /* mouse button to be used along with CLICK_TO_FOCUS */
#define BORDER_WIDTH    1         /* window border width */
#define FOCUS           "#262626" /* focused window border color ff950e  */
#define UNFOCUS         "#171717" /* unfocused window border color  */
#define MINWSZ          50        /* minimum window size in pixels  */
#define DEFAULT_DESKTOP 0         /* the desktop to focus initially */
#define DESKTOPS        4         /* number of desktops - edit DESKTOPCHANGE keys to suit */

/**
 * open applications to specified desktop with specified mode.
 * if desktop is negative, then current is assumed
 */
static const AppRule rules[] = { \
    /*  class     desktop  follow  float */
    { "MPlayer",     3,    True,   False },
    { "Gimp",        0,    False,  True  },
};

/* helper for spawning shell commands */
#define SHCMD(cmd) {.com = (const char*[]){"/bin/sh", "-c", cmd, NULL}}

/**
 * custom commands
 * must always end with ', NULL };'
 */
static const char *termcmd[] = { "urxvt",     NULL };
static const char *menucmd[] = { "dmenu_run", NULL };

#define DESKTOPCHANGE(K,N) \
    {  MOD1,             K,              change_desktop, {.i = N}}, \
    {  MOD1|ShiftMask,   K,              client_to_desktop, {.i = N}},

/**
 * keyboard shortcuts
 */
static Key keys[] = {
    /* modifier          key            function           argument */
    {  MOD1,             XK_b,          togglepanel,       {NULL}},
    {  MOD1,             XK_BackSpace,  focusurgent,       {NULL}},
    {  MOD1|SHIFT,       XK_c,          killclient,        {NULL}},
    {  MOD1,             XK_j,          next_win,          {NULL}},
    {  MOD1,             XK_k,          prev_win,          {NULL}},
    {  MOD1,             XK_h,          resize_master,     {.i = -10}}, /* decrease size in px */
    {  MOD1,             XK_l,          resize_master,     {.i = +10}}, /* increase size in px */
    {  MOD1|SHIFT,       XK_o,          resize_stack,      {.i = -10}}, /* shrink   size in px */
    {  MOD1|SHIFT,       XK_p,          resize_stack,      {.i = +10}}, /* grow     size in px */
    {  MOD1|CONTROL,     XK_h,          rotate,            {.i = -1}},
    {  MOD1|CONTROL,     XK_l,          rotate,            {.i = +1}},
    {  MOD1|SHIFT,       XK_h,          rotate_filled,     {.i = -1}},
    {  MOD1|SHIFT,       XK_l,          rotate_filled,     {.i = +1}},
    {  MOD1,             XK_Tab,        last_desktop,      {NULL}},
    {  MOD1|SHIFT,       XK_Return,     swap_master,       {NULL}},
    {  MOD1|SHIFT,       XK_j,          move_down,         {NULL}},
    {  MOD1|SHIFT,       XK_k,          move_up,           {NULL}},
    {  MOD1|SHIFT,       XK_t,          switch_mode,       {.i = TILE}},
    {  MOD1|SHIFT,       XK_m,          switch_mode,       {.i = MONOCLE}},
    {  MOD1|SHIFT,       XK_b,          switch_mode,       {.i = BSTACK}},
    {  MOD1|SHIFT,       XK_g,          switch_mode,       {.i = GRID}},
    {  MOD1|SHIFT,       XK_f,          switch_mode,       {.i = FLOAT}},
    {  MOD1|CONTROL,     XK_r,          quit,              {.i = 0}}, /* quit with exit value 0 */
    {  MOD1|CONTROL,     XK_q,          quit,              {.i = 1}}, /* quit with exit value 1 */
    {  MOD1,             XK_Return,     spawn,             {.com = termcmd}},
    {  MOD1,             XK_p,          spawn,             {.com = menucmd}},
    {  MOD4,             XK_j,          moveresize,        {.v = (int []){   0,  25,   0,   0 }}}, /* move down  */
    {  MOD4,             XK_k,          moveresize,        {.v = (int []){   0, -25,   0,   0 }}}, /* move up    */
    {  MOD4,             XK_l,          moveresize,        {.v = (int []){  25,   0,   0,   0 }}}, /* move right */
    {  MOD4,             XK_h,          moveresize,        {.v = (int []){ -25,   0,   0,   0 }}}, /* move left  */
    {  MOD4|SHIFT,       XK_j,          moveresize,        {.v = (int []){   0,   0,   0,  25 }}}, /* height grow   */
    {  MOD4|SHIFT,       XK_k,          moveresize,        {.v = (int []){   0,   0,   0, -25 }}}, /* height shrink */
    {  MOD4|SHIFT,       XK_l,          moveresize,        {.v = (int []){   0,   0,  25,   0 }}}, /* width grow    */
    {  MOD4|SHIFT,       XK_h,          moveresize,        {.v = (int []){   0,   0, -25,   0 }}}, /* width shrink  */
       DESKTOPCHANGE(    XK_1,                             0)
       DESKTOPCHANGE(    XK_2,                             1)
       DESKTOPCHANGE(    XK_3,                             2)
       DESKTOPCHANGE(    XK_4,                             3)
};

/**
 * mouse shortcuts
 */
static Button buttons[] = {
    {  MOD1,    Button1,     mousemotion,   {.i = MOVE}},
    {  MOD1,    Button3,     mousemotion,   {.i = RESIZE}},
    {  MOD4,    Button3,     spawn,         {.com = menucmd}},
};
#endif

My problem(s):
a) when being in tiled mode and having as example 2 terminals open (urxvt for me), the termial on the left monitor overlaps to the right monitor by about 20-30px i guess. being in grid mode, it's the opposite way around. same for chromium, xterm and basically everything else. also, the program whats open on the right window (the one with 1600x900 resolution) has it's bottom cut up. i'm not sure for how much but i guess for the difference between 900 and 1050.

any ideas? files, configs you need?

things i tried:
- nvidia module instead of nouveau (not helping)
- awesome as wm (there it works oddly enough)
- works normally with gnome
- making a screenshot with scrot, the file is 3280x1050

Last edited by v2punkt0 (2013-08-20 20:45:33)

Offline

Board footer

Powered by FluxBB