t-majid / mintty

Automatically exported from code.google.com/p/mintty
0 stars 0 forks source link

Better transparency #3

Open GoogleCodeExporter opened 8 years ago

GoogleCodeExporter commented 8 years ago
Currently the same alpha value is applied to the whole window, including
text and window frame. This is done rather simply by turning the window
into a "layered" window and setting it LWA_ALPHA attribute.

It would look better though if only the background was transparent, which
could be done using UpdateLayeredWindow() and an appropriate BLENDFUNCTION.
Trouble is, the standard controls don't work with that, so that a custom
scrollbar and the window controls would need to be implemented. This would
be far too much bother for what it's worth though, so it ain't gonna happen.

Vista's "Desktop Window Manager", however, might make this more doable.
Here's a blog that explains it:

http://weblogs.asp.net/kennykerr/archive/2006/08/10/Windows-Vista-for-Developers
-_1320_-Part-3-_1320_-The-Desktop-Window-Manager.aspx

Original issue reported on code.google.com by andy.koppe on 26 Dec 2008 at 12:02

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Issue 53 has been merged into this issue.

Original comment by andy.koppe on 13 Feb 2009 at 7:08

GoogleCodeExporter commented 8 years ago
Vista "glass" is the word.

Original comment by andy.koppe on 13 Feb 2009 at 7:09

GoogleCodeExporter commented 8 years ago
I noticed in enable_glass() you extend the frame into the client area for 
glass.  I'm
assuming this is what gives mintty the uniform glass look.

I was wonder if this could be made a toggle to respect the "Opaque when focused"
option. It will only extend the client area when the window is unfocused.  
Either
that or work will need to be done to darken the client area similiar to how 
WMP11
darkens the top and bottom of its client area when the window is focused.

Original comment by dh.darre...@gmail.com on 30 Nov 2009 at 4:23

GoogleCodeExporter commented 8 years ago
Agreed, it should respect the "opaque when focused" option, or otherwise 
disable that
tickbox when "Glass" is enabled.

Meanwhile, as it says in the manual:

       To make this reasonably usable, the glass colour
       needs to be set to be as dark as possible in the Windows control panel:
       choose Personalize from the desktop context menu, click on Window
       Color, turn the color intensity up to the maximum, show the color
       mixer, and turn the brightness down to black.

Unfortunately the opacity and colour of the glass can't be controlled by
applications, as far as I know anyway. What can be done is control the alpha 
channel
of what they paint on the window, but not from plain ol' GDI, which is what 
mintty
uses. Instead, Windows automatically assigns alpha=0 to black and alpha=255 to 
white,
with everything else ranging in between. Getting full control over this would 
require
a rewrite of the text rendering using DirectWrite or some such.

Original comment by andy.koppe on 30 Nov 2009 at 7:03

GoogleCodeExporter commented 8 years ago
Applied "opaque when focused" setting to glass mode in r664 on 0.5 branch.

Original comment by andy.koppe on 8 Dec 2009 at 8:01

GoogleCodeExporter commented 8 years ago
Realistically, I won't be redoing text rendering using DirectWrite instead of 
GDI any 
time soon, because it would be a big effort resulting in only a small 
prettiness gain. 
Also, DirectWrite is only available on Vista and up. Therefore, the current 
transparency and glass support is as good as it's going to get for the 
foreseeable 
future.

Original comment by andy.koppe on 30 May 2010 at 7:38

GoogleCodeExporter commented 8 years ago
good to see glass is in mintty
but without closing this ticket, either simple or glass transparent is not 
usable. it's hard to read the text for now. low transparent is the only choice. 
maybe i my mintty/glass isn't fine tuned? did i miss something to make it more 
readable? not all color behind mintty is friendly to mintty for me.

Original comment by xue...@gmail.com on 24 Aug 2010 at 2:05

GoogleCodeExporter commented 8 years ago
Xuefer, did you see comment 5?

Original comment by andy.koppe on 24 Aug 2010 at 2:12

GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
[deleted comment]
GoogleCodeExporter commented 8 years ago
Hi Andy,

in reference to your first post, if you define a BLENDFUNCTION you'd have to 
make your own scrollbar, but I and many other people don't particularly care 
for scrollbars anyway.

What about just not allowing a scrollbar in transparency mode?

As for the other window controls, close/min/max buttons shouldn't be a big deal 
right?

Original comment by rkito...@gmail.com on 23 Feb 2013 at 4:47

GoogleCodeExporter commented 8 years ago
See https://github.com/mintty/mintty/issues for further progress on this issue.

Original comment by towom...@googlemail.com on 7 Aug 2015 at 1:35