Jump to content
Roger Cigol

Removing semi transparency in background compile window

Recommended Posts

RAD Studio 13 (with Sept patch).

Clang 64 build (using 64bit IDE) - set for "background compilation".

When I start the build the compiler information box pops up as per previous versions of RAD Studio. But no it is semi-transparent. Since this box is lying over my editor and project windows I have semi transparent text in the compiler status box over the top of the half visible text in the source code. The result : it is hard to read either ! I much prefer a normal solid box for the compiler status. Easy to read. It's easy to move the window if I do really need to see what is underneath.

QUESTION: Anyone know how to configure the IDE so that this pop up box is NOT semi-transparent?

Screen shot attached

SemiTransparent.JPG

Share this post


Link to post
21 hours ago, Anders Melander said:

The change nobody asked for and I immediately turned off background compile.

My project is big and this "escape route" is less attractive to me. I guess your answer means that you did not find a way to disable this transparency "feature".....

Share this post


Link to post
1 minute ago, Roger Cigol said:

you did not find a way to disable this transparency "feature".....

I didn't bother looking. A full build of 2.5 million lines of code takes 30 seconds on my new system so I don't actually need the feature.

But I can see that you're compiling C++ code so I guess your compile time is slightly longer 🙂 

 

Share this post


Link to post

OMG! When will self declared usability engineers finally learn, that transparency looks only good on screen (as in movies and TVs) not in everyday use. I'm still trying to figure out where the first transparent whiteboard (sic!) was shown. I believe it was in the classic CSI or perhaps the film "Minority Report". Ugh!

Share this post


Link to post
1 hour ago, Sherlock said:

I believe it was in the classic CSI or perhaps the film "Minority Report". Ugh!

More likely Star Wars. I don't think early Star Trek had anything like it.

Share this post


Link to post
2 hours ago, Anders Melander said:

A full build of 2.5 million lines of code takes 30 seconds on my new system so I don't actually need the feature.

I made some tests and found that background compile time increases by 100-150% compared to foreground. Not sure if these numbers are typical.

Share this post


Link to post

One Question regarding transparency, since I have never used it:

How do you enable/disable and configure it for a VCL form? I guess there will be some properties for doing that.

Edited by dummzeuch

Share this post


Link to post

It's being set in code at run-time (i.e. it's not just a property that we can patch on the form) so my best guess is that you'd need to intercept the Windows API call that turns it on.

 

As far as I can tell there's no registry value to control it. I've used procmon to trace all registry access during IDE startup, and when the compile progress form is shown, and the only relevant entry being read was the one that controls background compilation.

Share this post


Link to post

Found it: The form is ProgressForm of type TProgressForm. Its AlphaBlend property is True and AlphaBlendValue is 200.

(And that transparency is definitely annoying. Who thought this would be a good idea?)

 

@Anders Melander I already have code for intercepting form creation/showing, so it should be possible to "improve" that "feature" with a plugin (I'm thinking about GExperts) at runtime.

Share this post


Link to post
34 minutes ago, dummzeuch said:

Its AlphaBlend property is True and AlphaBlendValue is 200.

I'm guessing you inspected the run-time properties because this is what the form looks like in the binary (coreide370.bpl😞

object ProgressForm: TProgressForm
  Left = 201
  Top = 114
  ActiveControl = CancelButton
  BorderIcons = []
  BorderStyle = bsDialog
  Caption = 'Compiling'
  ClientHeight = 340
  ClientWidth = 580
  Color = clBtnFace
  Font.Charset = DEFAULT_CHARSET
  Font.Color = clWindowText
  Font.Height = -12
  Font.Name = 'Segoe UI'
  Font.Style = []
  PopupMode = pmAuto
  OnActivate = FormActivate
  OnClose = FormClose
  OnCreate = FormCreate
  OnDestroy = FormDestroy
  OnShow = FormShow
  TextHeight = 15
...
end

 

If it was a property stored in the form we could have disabled it with a custom resource module (e.g. coreide370.foo).

 

35 minutes ago, dummzeuch said:

Who thought this would be a good idea?

Well, I guess we've all (those of us that knew about it) thought that the AlphaBlend feature was a cool thing (I've certainly been there) until we actually tried it.

If only there was some easy way of getting feedback on stuff like that before you release it into the wild. If only...

Share this post


Link to post
1 minute ago, Anders Melander said:

I'm guessing you inspected the run-time properties because this is what the form looks like in the binary (coreide370.bpl😞

 

Yes of course, because as you already wrote: That property is set dynamically.

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now

×