From mboxrd@z Thu Jan 1 00:00:00 1970 Path: news.gmane.org!not-for-mail From: Seiji Zenitani Newsgroups: gmane.emacs.devel Subject: [Mac OS X] [Win32] Frame-transparency patch Date: Sat, 11 Jun 2005 17:02:40 +0900 Message-ID: <47B1D513-959C-4F8E-8FD1-CCE29BFFB9D4@mac.com> NNTP-Posting-Host: main.gmane.org Mime-Version: 1.0 (Apple Message framework v730) Content-Type: multipart/mixed; boundary=Apple-Mail-37-583323391 X-Trace: sea.gmane.org 1118480731 17065 80.91.229.2 (11 Jun 2005 09:05:31 GMT) X-Complaints-To: usenet@sea.gmane.org NNTP-Posting-Date: Sat, 11 Jun 2005 09:05:31 +0000 (UTC) Cc: macemacs-dev Original-X-From: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Sat Jun 11 11:05:22 2005 Return-path: Original-Received: from lists.gnu.org ([199.232.76.165]) by ciao.gmane.org with esmtp (Exim 4.43) id 1Dh1vd-0006Pg-R6 for ged-emacs-devel@m.gmane.org; Sat, 11 Jun 2005 11:05:22 +0200 Original-Received: from localhost ([127.0.0.1] helo=lists.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Dh1zz-0001MI-FU for ged-emacs-devel@m.gmane.org; Sat, 11 Jun 2005 05:09:51 -0400 Original-Received: from mailman by lists.gnu.org with tmda-scanned (Exim 4.43) id 1Dh1oE-0000ru-UR for emacs-devel@gnu.org; Sat, 11 Jun 2005 04:57:45 -0400 Original-Received: from exim by lists.gnu.org with spam-scanned (Exim 4.43) id 1Dh1o2-0000ee-KF for emacs-devel@gnu.org; Sat, 11 Jun 2005 04:57:38 -0400 Original-Received: from [199.232.76.173] (helo=monty-python.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1Dh1jR-00089A-7Q for emacs-devel@gnu.org; Sat, 11 Jun 2005 04:52:46 -0400 Original-Received: from [17.250.248.88] (helo=smtpout.mac.com) by monty-python.gnu.org with esmtp (Exim 4.34) id 1Dh0u9-0002vs-IS for emacs-devel@gnu.org; Sat, 11 Jun 2005 03:59:45 -0400 Original-Received: from mac.com (smtpin01-en2 [10.13.10.146]) by smtpout.mac.com (Xserve/8.12.11/smtpout01/MantshX 4.0) with ESMTP id j5B7x9X5011046; Sat, 11 Jun 2005 00:59:09 -0700 (PDT) Original-Received: from [192.168.1.22] (202.pool10.dsl8mtokyo.att.ne.jp [165.76.204.202]) (authenticated bits=0) by mac.com (Xserve/smtpin01/MantshX 4.0) with ESMTP id j5B7x4o3017473; Sat, 11 Jun 2005 00:59:06 -0700 (PDT) Original-To: emacs-devel@gnu.org X-Mailer: Apple Mail (2.730) X-BeenThere: emacs-devel@gnu.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: "Emacs development discussions." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Original-Sender: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Errors-To: emacs-devel-bounces+ged-emacs-devel=m.gmane.org@gnu.org Xref: news.gmane.org gmane.emacs.devel:38564 X-Report-Spam: http://spam.gmane.org/gmane.emacs.devel:38564 --Apple-Mail-37-583323391 Content-Transfer-Encoding: 7bit Content-Type: text/plain; charset=US-ASCII; delsp=yes; format=flowed Hi, the attached patch provides frame-transparency to Emacs on Mac OSX and Windows. We are happy if it will be merged into the main emacs code. =========== 1. Target operating systems * Mac OSX : 'Carbon Emacs' * Windows XP, 2000, ME : 'NTEmacs' 2. How to build * Mac OSX Frame-transparency is automatically enabled when compiled on Mac OSX 10.2 or later. * MS Windows If you use Windows XP, 2000 or ME, add manually the below switch when configuring. CFLAGS=-DUSE_TRANSPARENCY 3. Parameters Two frame parameters are introduced: * active-alpha : window opacity of the frontmost frame. * inactive-alpha : window opacity of non-active frames. Window opacity will be set by using a float value between 0.0 (invisible) to 1.0 (completely opaque). By default they are set to 1.0. 4. sample settings To set frame-transparency of the current frame ;; active frame (set-frame-parameter (selected-frame) 'active-alpha 0.9) ;; non active frame (set-frame-parameter (selected-frame) 'inactive-alpha 0.8) To set the default frame parameters (setq default-frame-alist (append (list '(active-alpha . 0.9) ;; active frame '(inactive-alpha . 0.8) ;; non active frame ) default-frame-alist) ) 5. authors Ryo Yoshitake, Takashi Hiromatsu, Seiji Zenitani contact: macemacs-dev@lists.sourceforge.jp =========== Sincerely, Seiji Zenitani zenitani@mac.com --Apple-Mail-37-583323391 Content-Transfer-Encoding: quoted-printable Content-Type: application/octet-stream; x-unix-mode=0755; name="transparency2.patch" Content-Disposition: attachment; filename=transparency2.patch ---=20lisp/frame.el.orig=092005-06-09=2015:02:01.265625000=20+0900=0A+++=20= lisp/frame.el=092005-06-09=2015:25:13.406250000=20+0900=0A@@=20-927,6=20= +927,24=20@@=0A=20=20=20(modify-frame-parameters=20(selected-frame)=0A=20= =09=09=09=20=20=20(list=20(cons=20'border-color=20color-name))))=0A=20=0A= +#if=20(MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20||=20defined=20= (USE_TRANSPARENCY)=0A+(defun=20set-active-alpha=20(alpha-value)=0A+=20=20= "Set=20the=20opacity=20of=20the=20selected=20frame=20in=20active=20state=20= to=20ALPHA.=0A+When=20called=20interactively,=20prompt=20for=20the=20= value=20of=20the=20opacity=20to=20set.=0A+To=20get=20the=20frame's=20= current=20active=20alpha=20value=20state,=20use=20`frame-parameters'."=0A= +=20=20(interactive=20"nactive=20alpha:=20")=0A+=20=20= (modify-frame-parameters=20(selected-frame)=0A+=09=09=09=20=20=20(list=20= (cons=20'active-alpha=20alpha-value))))=0A+=0A+(defun=20= set-inactive-alpha=20(alpha-value)=0A+=20=20"Set=20the=20opacity=20of=20= the=20selected=20frame=20in=20inactive=20state=20to=20ALPHA.=0A+When=20= called=20interactively,=20prompt=20for=20the=20value=20of=20the=20= opacity=20to=20set.=0A+To=20get=20the=20frame's=20current=20inactive=20= alpha=20value=20state,=20use=20`frame-parameters'."=0A+=20=20= (interactive=20"ninactive=20alpha:=20")=0A+=20=20= (modify-frame-parameters=20(selected-frame)=0A+=09=09=09=20=20=20(list=20= (cons=20'inactive-alpha=20alpha-value))))=0A+=0A+#endif=20/*=20= USE_TRANSPARENCY=20*/=0A=20(defun=20auto-raise-mode=20(arg)=0A=20=20=20= "Toggle=20whether=20or=20not=20the=20selected=20frame=20should=20= auto-raise.=0A=20With=20arg,=20turn=20auto-raise=20mode=20on=20if=20and=20= only=20if=20arg=20is=20positive.=0A---=20src/frame.c.orig=092005-06-09=20= 15:02:01.515625000=20+0900=0A+++=20src/frame.c=092005-06-09=20= 15:25:13.796875000=20+0900=0A@@=20-106,6=20+106,12=20@@=0A=20Lisp_Object=20= Qleft_fringe,=20Qright_fringe;=0A=20Lisp_Object=20Qbuffer_predicate,=20= Qbuffer_list;=0A=20Lisp_Object=20Qtty_color_mode;=0A+#if=20= (MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20||=20defined=20= (USE_TRANSPARENCY)=0A+#if=20defined=20(HAVE_CARBON)=20||=20defined=20= (WINDOWSNT)=0A+Lisp_Object=20Qactive_alpha;=0A+Lisp_Object=20= Qinactive_alpha;=0A+#endif=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20=0A= =20Lisp_Object=20Qfullscreen,=20Qfullwidth,=20Qfullheight,=20Qfullboth;=0A= =20=0A@@=20-2575,6=20+2581,12=20@@=0A=20=20=20{"right-fringe",=09=09= &Qright_fringe},=0A=20=20=20{"wait-for-wm",=09=09&Qwait_for_wm},=0A=20=20= =20{"fullscreen",=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= &Qfullscreen},=0A+#if=20(MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20= ||=20defined=20(USE_TRANSPARENCY)=0A+#if=20defined=20(HAVE_CARBON)=20||=20= defined=20(WINDOWSNT)=0A+=20=20{"active-alpha",=09=09&Qactive_alpha},=0A= +=20=20{"inactive-alpha",=09=09&Qinactive_alpha},=0A+#endif=0A+#endif=20= /*=20USE_TRANSPARENCY=20*/=0A=20};=0A=20=0A=20#ifdef=20= HAVE_WINDOW_SYSTEM=0A---=20src/frame.h.orig=092005-06-09=20= 15:02:01.671875000=20+0900=0A+++=20src/frame.h=092005-06-09=20= 15:25:14.062500000=20+0900=0A@@=20-451,6=20+451,13=20@@=0A=20=20=20/*=20= Additional=20space=20to=20put=20between=20text=20lines=20on=20this=20= frame.=20=20*/=0A=20=20=20int=20extra_line_spacing;=0A=20=0A+#if=20= (MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20||=20defined=20= (USE_TRANSPARENCY)=0A+#if=20defined=20(HAVE_CARBON)=20||=20defined=20= (WINDOWSNT)=0A+=20=20/*=20Opacity=20of=20the=20Frame,=20which=20should=20= be=20a=20number=20between=200.0=20and=201.0=20=20*/=0A+=20=20float=20= active_alpha,=20inactive_alpha;=0A+#endif=0A+=0A+#endif=20/*=20= USE_TRANSPARENCY=20*/=0A=20=20=20/*=20Set=20to=20non-zero=20in=20= change_frame_size=20when=20size=20of=20frame=20changed=0A=20=20=20=20=20=20= Clear=20the=20frame=20in=20clear_garbaged_frames=20if=20set.=20=20*/=0A=20= =20=20unsigned=20resized_p=20:=201;=0A@@=20-1003,6=20+1010,12=20@@=0A=20= extern=20Lisp_Object=20Qline_spacing;=0A=20extern=20Lisp_Object=20= Qwait_for_wm;=0A=20extern=20Lisp_Object=20Qfullscreen;=0A+#if=20= (MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20||=20defined=20= (USE_TRANSPARENCY)=0A+#if=20defined=20(HAVE_CARBON)=20||=20defined=20= (WINDOWSNT)=0A+extern=20Lisp_Object=20Qactive_alpha;=0A+extern=20= Lisp_Object=20Qinactive_alpha;=0A+#endif=0A+#endif=20/*=20= USE_TRANSPARENCY=20*/=0A=20=0A=20extern=20Lisp_Object=20Qleft_fringe,=20= Qright_fringe;=0A=20extern=20Lisp_Object=20Qheight,=20Qwidth;=0A@@=20= -1074,6=20+1087,12=20@@=0A=20=09=09=09=09=09=20=20=20=20Lisp_Object));=0A= =20extern=20void=20x_set_scroll_bar_width=20P_=20((struct=20frame=20*,=20= Lisp_Object,=0A=20=09=09=09=09=09Lisp_Object));=0A+#if=20= (MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20||=20defined=20= (USE_TRANSPARENCY)=0A+#if=20defined=20(HAVE_CARBON)=20||=20defined=20= (WINDOWSNT)=0A+extern=20void=20x_set_active_alpha=20P_=20((struct=20= frame=20*,=20Lisp_Object,=20Lisp_Object));=0A+extern=20void=20= x_set_inactive_alpha=20P_=20((struct=20frame=20*,=20Lisp_Object,=20= Lisp_Object));=0A+#endif=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20=0A=20= extern=20Lisp_Object=20x_icon_type=20P_=20((struct=20frame=20*));=0A=20=0A= ---=20src/macfns.c.orig=092005-06-09=2015:02:01.968750000=20+0900=0A+++=20= src/macfns.c=092005-06-09=2015:25:14.468750000=20+0900=0A@@=20-2026,6=20= +2026,61=20@@=0A=20#endif=20/*=20not=20MAC_OSX=20*/=0A=20}=0A=20=0A+#if=20= (MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=0A+/*=20Change=20the=20= opecity=20of=20frame=20F=20to=20ALPHA.=0A+=20=20=20ALPHA=20must=20be=20a=20= number=20between=200.0=20and=201.0=0A+=0A+=20=20=20The=20frame=20will=20= become=20completely=20invisible=20If=20ALPHA=20is=200.0,=0A+=20=20=20= while=20the=20value=20of=201.0=20makes=20it=20completely=20opaque.=20=20= */=0A+=0A+void=0A+x_set_active_alpha=20(f,=20alpha,=20old_alpha)=0A+=20=20= =20=20=20struct=20frame=20*f;=0A+=20=20=20=20=20Lisp_Object=20alpha,=20= old_alpha;=0A+{=0A+=20=20/*=20Don't=20change=20the=20alpha=20if=20it's=20= already=20ALPHA.=20=20*/=0A+=20=20if=20(EQ=20(alpha,=20f->active_alpha))=0A= +=20=20=20=20return;=0A+=0A+=20=20if=20(NILP=20(alpha))=0A+=20=20=20=20= return;=0A+=0A+=20=20if=20(FLOATP=20(alpha))=0A+=20=20{=0A+=20=20=20=20= f->active_alpha=20=3D=20XFLOAT_DATA=20(alpha);=0A+=0A+#if=20= TARGET_API_MAC_CARBON=0A+=20=20=20=20BLOCK_INPUT;=0A+=0A+=20=20=20=20= SetWindowAlpha=20(f->output_data.mac->mWP,=20f->active_alpha);=0A+=0A+=20= =20=20=20UNBLOCK_INPUT;=0A+#endif=0A+=20=20}=0A+=0A+=20=20return;=0A+}=0A= +=0A+void=0A+x_set_inactive_alpha=20(f,=20alpha,=20old_alpha)=0A+=20=20=20= =20=20struct=20frame=20*f;=0A+=20=20=20=20=20Lisp_Object=20alpha,=20= old_alpha;=0A+{=0A+=20=20/*=20Don't=20change=20the=20alpha=20if=20it's=20= already=20ALPHA.=20=20*/=0A+=20=20if=20(EQ=20(alpha,=20= f->inactive_alpha))=0A+=20=20=20=20return;=0A+=0A+=20=20if=20(NILP=20= (alpha))=0A+=20=20=20=20return;=0A+=0A+=20=20if=20(FLOATP=20(alpha))=0A+=20= =20{=0A+=20=20=20=20f->inactive_alpha=20=3D=20XFLOAT_DATA=20(alpha);=0A+=20= =20}=0A+=0A+=20=20return;=0A+}=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20= =0C=0A=20/*=20Subroutines=20of=20creating=20a=20frame.=20=20*/=0A=20=0A= @@=20-2736,6=20+2791,12=20@@=0A=20=20=20x_default_parameter=20(f,=20= parms,=20Qscroll_bar_width,=20Qnil,=0A=20=09=09=20=20=20=20=20=20=20= "scrollBarWidth",=20"ScrollBarWidth",=0A=20=09=09=20=20=20=20=20=20=20= RES_TYPE_NUMBER);=0A+#if=20(MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=0A= +=20=20x_default_parameter=20(f,=20parms,=20Qactive_alpha,=20= make_float(1.0),=0A+=09=09=20=20=20=20=20=20=20"activeAlpha",=20= "ActiveAlpha",=20RES_TYPE_FLOAT);=0A+=20=20x_default_parameter=20(f,=20= parms,=20Qinactive_alpha,=20make_float(1.0),=0A+=09=09=20=20=20=20=20=20=20= "inactiveAlpha",=20"InactiveAlpha",=20RES_TYPE_FLOAT);=0A+#endif=20/*=20= USE_TRANSPARENCY=20*/=0A=20=0A=20=20=20/*=20Dimensions,=20especially=20= FRAME_LINES=20(f),=20must=20be=20done=20via=20change_frame_size.=0A=20=20= =20=20=20=20Change=20will=20not=20be=20effected=20unless=20different=20= from=20the=20current=0A@@=20-4444,6=20+4505,10=20@@=0A=20=20=20= x_set_fringe_width,=0A=20=20=200,=20/*=20x_set_wait_for_wm,=20*/=0A=20=20= =20x_set_fullscreen,=0A+#if=20(MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=20= 1020)=0A+=20=20x_set_active_alpha,=0A+=20=20x_set_inactive_alpha,=0A= +#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20};=0A=20=0A=20void=0A---=20= src/macterm.c.orig=092005-06-09=2015:02:02.421875000=20+0900=0A+++=20= src/macterm.c=092005-06-09=2015:25:15.171875000=20+0900=0A@@=20-1771,6=20= +1771,15=20@@=0A=20=20=20return=20FONT_TYPE_UNKNOWN;=0A=20}=0A=20=0A+#if=20= (MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=0A+static=20void=0A= +x_set_frame_alpha=20(f,=20activate_p)=0A+=20=20=20=20=20struct=20frame=20= *f;=0A+=20=20=20=20=20int=20activate_p;=0A+{=0A+=20=20SetWindowAlpha=20= (f->output_data.mac->mWP,=20activate_p?=20f->active_alpha:=20= f->inactive_alpha);=0A+}=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20=0A=20= =0C=0A=20= /***********************************************************************=0A= @@=20-3489,6=20+3498,9=20@@=0A=20=20=20=20=20ActivateControl=20= (root_control);=0A=20=20=20UNBLOCK_INPUT;=0A=20=20=20x_update_cursor=20= (f,=201);=0A+#if=20(MAC_OS_X_VERSION_MAX_ALLOWED=20>=3D=201020)=20=0A+=20= =20x_set_frame_alpha=20(f,=201);=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A= =20}=0A=20=0A=20static=20void=0A@@=20-3504,6=20+3516,9=20@@=0A=20=20=20=20= =20DeactivateControl=20(root_control);=0A=20=20=20UNBLOCK_INPUT;=0A=20=20= =20x_update_cursor=20(f,=201);=0A+#if=20(MAC_OS_X_VERSION_MAX_ALLOWED=20= >=3D=201020)=20=0A+=20=20x_set_frame_alpha=20(f,=200);=0A+#endif=20/*=20= USE_TRANSPARENCY=20*/=0A=20}=0A=20=0A=20/*=20The=20focus=20has=20= changed.=20=20Update=20the=20frames=20as=20necessary=20to=20reflect=0A= ---=20src/w32fns.c.orig=092005-06-09=2015:02:02.984375000=20+0900=0A+++=20= src/w32fns.c=092005-06-09=2015:25:15.703125000=20+0900=0A@@=20-1978,6=20= +1978,64=20@@=0A=20=09=09=09=09=20=20=20=20=20=20wid=20-=201)=20/=20wid;=0A= =20}=0A=20=0A+#if=20defined=20(USE_TRANSPARENCY)=0A+/*=20Change=20the=20= opecity=20of=20frame=20F=20to=20ALPHA.=0A+=20=20=20ALPHA=20must=20be=20a=20= number=20between=200.0=20and=201.0=0A+=0A+=20=20=20The=20frame=20will=20= become=20completely=20invisible=20If=20ALPHA=20is=200.0,=0A+=20=20=20= while=20the=20value=20of=201.0=20makes=20it=20completely=20opaque.=20=20= */=0A+=0A+void=0A+x_set_active_alpha=20(f,=20alpha,=20old_alpha)=0A+=20=20= =20=20=20struct=20frame=20*f;=0A+=20=20=20=20=20Lisp_Object=20alpha,=20= old_alpha;=0A+{=0A+=20=20/*=20Don't=20change=20the=20alpha=20if=20it's=20= already=20ALPHA.=20=20*/=0A+=20=20if=20(EQ=20(alpha,=20f->active_alpha))=0A= +=20=20=20=20return;=0A+=0A+=20=20if=20(NILP=20(alpha))=0A+=20=20=20=20= return;=0A+=0A+=20=20if=20(FLOATP=20(alpha))=0A+=20=20{=0A+=20=20=20=20= f->active_alpha=20=3D=20XFLOAT_DATA=20(alpha);=0A+=0A+=20=20=20=20= BLOCK_INPUT;=0A+=0A+=20=20=20=20SetWindowLong(FRAME_W32_WINDOW=20= (f),GWL_EXSTYLE,=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= GetWindowLong(FRAME_W32_WINDOW=20(f),GWL_EXSTYLE)|WS_EX_LAYERED);=0A+=20=20= =20=20SetLayeredWindowAttributes(FRAME_W32_WINDOW=20(f),=0A+=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20RGB(255,=20255,=20255),=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20(int)((f->active_alpha)=20= *=20255.0),=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20LWA_ALPHA);=0A+=0A+=20=20=20=20= UNBLOCK_INPUT;=0A+=20=20}=0A+=0A+=20=20return;=0A+}=0A+=0A+void=0A= +x_set_inactive_alpha=20(f,=20alpha,=20old_alpha)=0A+=20=20=20=20=20= struct=20frame=20*f;=0A+=20=20=20=20=20Lisp_Object=20alpha,=20old_alpha;=0A= +{=0A+=20=20/*=20Don't=20change=20the=20alpha=20if=20it's=20already=20= ALPHA.=20=20*/=0A+=20=20if=20(EQ=20(alpha,=20f->inactive_alpha))=0A+=20=20= =20=20return;=0A+=0A+=20=20if=20(NILP=20(alpha))=0A+=20=20=20=20return;=0A= +=0A+=20=20if=20(FLOATP=20(alpha))=0A+=20=20{=0A+=20=20=20=20= f->inactive_alpha=20=3D=20XFLOAT_DATA=20(alpha);=0A+=20=20}=0A+=0A+=20=20= return;=0A+}=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20=0C=0A=20/*=20= Subroutines=20of=20creating=20a=20frame.=20=20*/=0A=20=0A@@=20-4321,6=20= +4379,12=20@@=0A=20=09=09=20=20=20=20=20=20=20"cursorType",=20= "CursorType",=20RES_TYPE_SYMBOL);=0A=20=20=20x_default_parameter=20(f,=20= parameters,=20Qscroll_bar_width,=20Qnil,=0A=20=09=09=20=20=20=20=20=20=20= "scrollBarWidth",=20"ScrollBarWidth",=20RES_TYPE_NUMBER);=0A+#if=20= defined=20(USE_TRANSPARENCY)=0A+=20=20x_default_parameter=20(f,=20= parameters,=20Qactive_alpha,=20make_float(1.0),=0A+=09=09=20=20=20=20=20=20= =20"activeAlpha",=20"ActiveAlpha",=20RES_TYPE_FLOAT);=0A+=20=20= x_default_parameter=20(f,=20parameters,=20Qinactive_alpha,=20= make_float(1.0),=0A+=09=09=20=20=20=20=20=20=20"inactiveAlpha",=20= "InactiveAlpha",=20RES_TYPE_FLOAT);=0A+#endif=20/*=20USE_TRANSPARENCY=20= */=0A=20=0A=20=20=20/*=20Dimensions,=20especially=20FRAME_LINES=20(f),=20= must=20be=20done=20via=20change_frame_size.=0A=20=20=20=20=20=20Change=20= will=20not=20be=20effected=20unless=20different=20from=20the=20current=0A= @@=20-8442,6=20+8506,10=20@@=0A=20=20=20x_set_fringe_width,=0A=20=20=20= 0,=20/*=20x_set_wait_for_wm,=20*/=0A=20=20=20x_set_fullscreen,=0A+#if=20= defined=20(USE_TRANSPARENCY)=0A+=20=20x_set_active_alpha,=0A+=20=20= x_set_inactive_alpha,=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20};=0A=20= =0A=20void=0A---=20src/w32term.c.orig=092005-06-09=2015:02:03.390625000=20= +0900=0A+++=20src/w32term.c=092005-06-09=2015:25:16.171875000=20+0900=0A= @@=20-1183,6=20+1183,20=20@@=0A=20=20=20=20=20return=20ANSI_FONT;=0A=20}=0A= =20=0A+#if=20defined=20(USE_TRANSPARENCY)=0A+static=20void=0A= +x_set_frame_alpha=20(f,=20activate_p)=0A+=20=20=20=20=20struct=20frame=20= *f;=0A+=20=20=20=20=20int=20activate_p;=0A+{=0A+=20=20= SetWindowLong(FRAME_W32_WINDOW=20(f),GWL_EXSTYLE,=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20GetWindowLong(FRAME_W32_WINDOW=20= (f),GWL_EXSTYLE)|WS_EX_LAYERED);=0A+=20=20= SetLayeredWindowAttributes(FRAME_W32_WINDOW=20(f),=0A+=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= RGB(255,=20255,=20255),=0A+=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20(int)((activate_p?=20= f->active_alpha:=20f->inactive_alpha)=20*=20255.0),=0A+=20=20=20=20=20=20= =20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20=20= LWA_ALPHA);=0A+}=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20=0A=20=0C=0A= =20= /***********************************************************************=0A= @@=20-2780,6=20+2794,9=20@@=0A=20=20=20=20=20=20struct=20frame=20*f;=0A=20= {=0A=20=20=20x_update_cursor=20(f,=201);=0A+#if=20defined=20= (USE_TRANSPARENCY)=0A+=20=20x_set_frame_alpha=20(f,=201);=0A+#endif=20/*=20= USE_TRANSPARENCY=20*/=0A=20}=0A=20=0A=20static=20void=0A@@=20-2787,6=20= +2804,9=20@@=0A=20=20=20=20=20=20struct=20frame=20*f;=0A=20{=0A=20=20=20= x_update_cursor=20(f,=201);=0A+#if=20defined=20(USE_TRANSPARENCY)=0A+=20=20= x_set_frame_alpha=20(f,=200);=0A+#endif=20/*=20USE_TRANSPARENCY=20*/=0A=20= }=0A=20=0A=20/*=20The=20focus=20has=20changed.=20=20Update=20the=20= frames=20as=20necessary=20to=20reflect=0A= --Apple-Mail-37-583323391 Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit Content-Disposition: inline _______________________________________________ Emacs-devel mailing list Emacs-devel@gnu.org http://lists.gnu.org/mailman/listinfo/emacs-devel --Apple-Mail-37-583323391--