comparison src/xterm.c @ 95167:cf2e8e539693

(x_set_frame_alpha): Move declarations before statements.
author Dan Nicolaescu <dann@ics.uci.edu>
date Wed, 21 May 2008 06:32:45 +0000
parents 4f066b58a8c2
children 626cda8569ae
comparison
equal deleted inserted replaced
95166:faf8a1255ff9 95167:cf2e8e539693
465 struct frame *f; 465 struct frame *f;
466 { 466 {
467 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f); 467 struct x_display_info *dpyinfo = FRAME_X_DISPLAY_INFO (f);
468 Display *dpy = FRAME_X_DISPLAY (f); 468 Display *dpy = FRAME_X_DISPLAY (f);
469 Window win = FRAME_OUTER_WINDOW (f); 469 Window win = FRAME_OUTER_WINDOW (f);
470 double alpha = 1.0;
471 double alpha_min = 1.0;
472 unsigned int opac;
473
470 if (FRAME_X_DISPLAY_INFO (f)->root_window != FRAME_X_OUTPUT (f)->parent_desc) 474 if (FRAME_X_DISPLAY_INFO (f)->root_window != FRAME_X_OUTPUT (f)->parent_desc)
471 /* Since the WM decoration lies under the FRAME_OUTER_WINDOW, 475 /* Since the WM decoration lies under the FRAME_OUTER_WINDOW,
472 we must treat the former instead of the latter. */ 476 we must treat the former instead of the latter. */
473 win = FRAME_X_OUTPUT(f)->parent_desc; 477 win = FRAME_X_OUTPUT(f)->parent_desc;
474 478
475 double alpha = 1.0, alpha_min = 1.0;
476
477 if (dpyinfo->x_highlight_frame == f) 479 if (dpyinfo->x_highlight_frame == f)
478 alpha = f->alpha[0]; 480 alpha = f->alpha[0];
479 else 481 else
480 alpha = f->alpha[1]; 482 alpha = f->alpha[1];
481 483
487 if (alpha < 0.0 || 1.0 < alpha) 489 if (alpha < 0.0 || 1.0 < alpha)
488 alpha = 1.0; 490 alpha = 1.0;
489 else if (0.0 <= alpha && alpha < alpha_min && alpha_min <= 1.0) 491 else if (0.0 <= alpha && alpha < alpha_min && alpha_min <= 1.0)
490 alpha = alpha_min; 492 alpha = alpha_min;
491 493
492 unsigned int opac = (unsigned int)(alpha * OPAQUE); 494 opac = (unsigned int)(alpha * OPAQUE);
493 495
494 /* return unless necessary */ 496 /* return unless necessary */
495 { 497 {
496 unsigned char *data; 498 unsigned char *data;
497 Atom actual; 499 Atom actual;
506 { 508 {
507 XFree ((void *) data); 509 XFree ((void *) data);
508 return; 510 return;
509 } 511 }
510 else 512 else
511 { 513 XFree ((void *) data);
512 XFree ((void *) data);
513 }
514 } 514 }
515 515
516 XChangeProperty (dpy, win, XInternAtom (dpy, OPACITY, False), 516 XChangeProperty (dpy, win, XInternAtom (dpy, OPACITY, False),
517 XA_CARDINAL, 32, PropModeReplace, 517 XA_CARDINAL, 32, PropModeReplace,
518 (unsigned char *) &opac, 1L); 518 (unsigned char *) &opac, 1L);