remove -grey option and related code (no bg setting); maximized window borders are off the edge of the screen now; truncate long window labels
This commit is contained in:
parent
ec4967e2cc
commit
7f97ee3e9e
3 changed files with 21 additions and 28 deletions
30
key.c
30
key.c
|
@ -106,14 +106,12 @@ keypress(XKeyEvent *e)
|
||||||
int rightcode = XKeysymToKeycode(dpy, NEXTVIRT_KEY);
|
int rightcode = XKeysymToKeycode(dpy, NEXTVIRT_KEY);
|
||||||
int leftcode = XKeysymToKeycode(dpy, PREVVIRT_KEY);
|
int leftcode = XKeysymToKeycode(dpy, PREVVIRT_KEY);
|
||||||
|
|
||||||
/* TODO: use current->screen->width/height, and use switch/case for key handling */
|
static int scrw = 0;
|
||||||
|
static int scrh = 0;
|
||||||
|
|
||||||
XWindowAttributes ra;
|
scrw = current->screen->width;
|
||||||
XGetWindowAttributes(dpy, DefaultRootWindow(dpy), &ra);
|
scrh = current->screen->height;
|
||||||
|
|
||||||
/* alt tab */
|
|
||||||
if(e->keycode == tabcode && (e->state&Mod1Mask) == (1<<3))
|
|
||||||
alttab(e->state&ShiftMask);
|
|
||||||
|
|
||||||
/* basic wm functionality */
|
/* basic wm functionality */
|
||||||
if(e->keycode == dcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if(e->keycode == dcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
|
@ -125,31 +123,31 @@ keypress(XKeyEvent *e)
|
||||||
if (e->keycode == rcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == rcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
reshape(current, Button3, sweep, 0);
|
reshape(current, Button3, sweep, 0);
|
||||||
if (e->keycode == mcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == mcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, 0, 0, ra.width, ra.height);
|
quickreshape(current, -BORDER, -BORDER, scrw+BORDER, scrh+BORDER);
|
||||||
|
|
||||||
/* half snap */
|
/* half snap */
|
||||||
if (e->keycode == hcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == hcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, 0, 0, ra.width/2, ra.height);
|
quickreshape(current, 0, 0, scrw/2, scrh);
|
||||||
if (e->keycode == lcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == lcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, ra.width/2, 0, ra.width/2, ra.height);
|
quickreshape(current, scrw/2, 0, scrw/2, scrh);
|
||||||
if (e->keycode == jcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == jcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, 0, ra.height/2, ra.width, ra.height/2);
|
quickreshape(current, 0, scrh/2, scrw, scrh/2);
|
||||||
if (e->keycode == kcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == kcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, 0, 0, ra.width, ra.height/2);
|
quickreshape(current, 0, 0, scrw, scrh/2);
|
||||||
|
|
||||||
/* quarter snap */
|
/* quarter snap */
|
||||||
if (e->keycode == qcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == qcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, 0, 0, ra.width/2, ra.height/2);
|
quickreshape(current, 0, 0, scrw/2, scrh/2);
|
||||||
if (e->keycode == wcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == wcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, 0, ra.height/2, ra.width/2, ra.height/2);
|
quickreshape(current, 0, scrh/2, scrw/2, scrh/2);
|
||||||
if (e->keycode == ocode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == ocode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, ra.width/2, ra.height/2, ra.width/2, ra.height/2);
|
quickreshape(current, scrw/2, scrh/2, scrw/2, scrh/2);
|
||||||
if (e->keycode == pcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == pcode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, ra.width/2, 0, ra.width/2, ra.height/2);
|
quickreshape(current, scrw/2, 0, scrw/2, scrh/2);
|
||||||
|
|
||||||
/* center snap */
|
/* center snap */
|
||||||
if (e->keycode == ccode && (e->state&SHORTCUTMOD) == (MODBITS))
|
if (e->keycode == ccode && (e->state&SHORTCUTMOD) == (MODBITS))
|
||||||
quickreshape(current, ra.width/5, ra.height/5, 3*ra.width/5, 3*ra.height/5);
|
quickreshape(current, scrw/5, scrh/5, 3*scrw/5, 3*scrh/5);
|
||||||
|
|
||||||
|
|
||||||
/* launch */
|
/* launch */
|
||||||
|
|
15
main.c
15
main.c
|
@ -72,14 +72,14 @@ char *fontlist[] = {
|
||||||
void
|
void
|
||||||
usage(void)
|
usage(void)
|
||||||
{
|
{
|
||||||
fprintf(stderr, "usage: ryudo [-grey] [-font fname] [-s] [-term prog] [-version] [-virtuals num] [exit|restart]\n");
|
fprintf(stderr, "usage: ryudo [-font fname] [-s] [-term prog] [-version] [-virtuals num] [exit|restart]\n");
|
||||||
exit(1);
|
exit(1);
|
||||||
}
|
}
|
||||||
|
|
||||||
int
|
int
|
||||||
main(int argc, char *argv[])
|
main(int argc, char *argv[])
|
||||||
{
|
{
|
||||||
int i, background, do_exit, do_restart;
|
int i, do_exit, do_restart;
|
||||||
char *fname;
|
char *fname;
|
||||||
int shape_event;
|
int shape_event;
|
||||||
#ifdef SHAPE
|
#ifdef SHAPE
|
||||||
|
@ -90,14 +90,11 @@ main(int argc, char *argv[])
|
||||||
myargv = argv; /* for restart */
|
myargv = argv; /* for restart */
|
||||||
|
|
||||||
do_exit = do_restart = 0;
|
do_exit = do_restart = 0;
|
||||||
background = 0;
|
|
||||||
font = 0;
|
font = 0;
|
||||||
fname = 0;
|
fname = 0;
|
||||||
for(i = 1; i < argc; i++)
|
for(i = 1; i < argc; i++)
|
||||||
if(strcmp(argv[i], "-nostalgia") == 0)
|
if(strcmp(argv[i], "-nostalgia") == 0)
|
||||||
nostalgia++;
|
nostalgia++;
|
||||||
else if(strcmp(argv[i], "-grey") == 0)
|
|
||||||
background = 1;
|
|
||||||
else if(strcmp(argv[i], "-debug") == 0)
|
else if(strcmp(argv[i], "-debug") == 0)
|
||||||
debug++;
|
debug++;
|
||||||
/*
|
/*
|
||||||
|
@ -217,7 +214,7 @@ main(int argc, char *argv[])
|
||||||
screens = (ScreenInfo *)malloc(sizeof(ScreenInfo) * num_screens);
|
screens = (ScreenInfo *)malloc(sizeof(ScreenInfo) * num_screens);
|
||||||
|
|
||||||
for(i = 0; i < num_screens; i++)
|
for(i = 0; i < num_screens; i++)
|
||||||
initscreen(&screens[i], i, background);
|
initscreen(&screens[i], i, 0);
|
||||||
|
|
||||||
initb2menu(numvirtuals);
|
initb2menu(numvirtuals);
|
||||||
|
|
||||||
|
@ -352,12 +349,6 @@ initscreen(ScreenInfo *s, int i, int background)
|
||||||
XChangeWindowAttributes(dpy, s->root, mask, &attr);
|
XChangeWindowAttributes(dpy, s->root, mask, &attr);
|
||||||
XSync(dpy, False);
|
XSync(dpy, False);
|
||||||
|
|
||||||
if(background){
|
|
||||||
XSetWindowBackgroundPixmap(dpy, s->root, s->root_pixmap);
|
|
||||||
XClearWindow(dpy, s->root);
|
|
||||||
} else
|
|
||||||
system("xsetroot -solid grey30");
|
|
||||||
|
|
||||||
attrs.border_pixel = colorpixel(dpy, s, s->depth, MBORDERCOL, s->black);
|
attrs.border_pixel = colorpixel(dpy, s, s->depth, MBORDERCOL, s->black);
|
||||||
attrs.background_pixel = colorpixel(dpy, s, s->depth, MENUBGCOL, s->white);
|
attrs.background_pixel = colorpixel(dpy, s, s->depth, MENUBGCOL, s->white);
|
||||||
attrs.colormap = s->def_cmap;
|
attrs.colormap = s->def_cmap;
|
||||||
|
|
4
manage.c
4
manage.c
|
@ -355,6 +355,10 @@ setlabel(Client *c)
|
||||||
label = "no label";
|
label = "no label";
|
||||||
if((p = index(label, ':')) != 0)
|
if((p = index(label, ':')) != 0)
|
||||||
*p = '\0';
|
*p = '\0';
|
||||||
|
if (sizeof(label) >= 16*sizeof(char)){
|
||||||
|
label[15] = '~';
|
||||||
|
label[18] = '\0';
|
||||||
|
}
|
||||||
c->label = label;
|
c->label = label;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue