Setting transparent property on an already created window in electron - electron

Do you guys know if I can set BrowserWindow property to be transparent in the middle of my program and not during the creation time ?, since css based animations on window work only if its transparent, I need the window to show up with background color and then go transparent just before my animation kicks in

There is no way to make a window frameless or transparent after its been created.

Related

Is there a way to create a semi-transparent window with Allegro?

Is there a way to create a display (a window) using allegro, in such way that the background of the window would be translucent.
In SDL2 we can achieve that result using this little bit of code:
SDL_SetWindowOpacity(window, 0.5);

Remove gray tint from apps created with Titanium Appcelerator

In a project created in Titanium Appcelerator/Alloy I created a simple window with a TabGroup button. That button opens a modal window, which contains a NavigationBar.
Without specifying anything in the TSS files, a gray tint is applied to both the TabGroup and the NavigationBar(s). I'd like to remove it and make everything translucent, as it would look natively.
Moreover, you can see that the NavigationBar of the modal window is translucent during the opening animation, and then it suddenly becomes gray after the navigation.
If you want nav buttons in header-bar area, then your only solution is to use these two properties:
1- Window's barColor property
2- Window's translucent property
Using first property, you can set any background color in navigation header area, and setting 2nd one to false - you can remove the transparency which will show the actual color you apply using 1st property.
Moreover, you can use Window's navTintColor to tweaks tint changes in navigation header
+
You can apply font & color using Window's titleAttributes property.
titleAttributes : {
color : 'white',
font : { fontFamily : 'some-family', fontSize : 18 },
},
Here's a sample app I have created which shows demo of manual Modal Window animation for further fully customisation: Sample App for manual Modal Animation

System tray progress indicator not visible only on panorama page

I'm using Jeff Wilcox's solution for a global progress indicator. All hooked up simple and is working great except for a panorama page I have. The problem is that the Progress Indicator is not visible at all and it's only on this one page.
All of my calls that go through my data service are using the same wrapper that sets IsLoading = true so I've verified this is working. I've also added a Thread.Sleep in there to make sure the call wasn't just returning too quickly before setting IsLoading = false.
Is there anything different about a panorama control that would hide it? I was setting the background to an image, but I pulled that and made sure the main layout grid background was set to transparent just in case.
Is there anything else that should be set in xaml to make sure this is visible?
*Please note this is not the old PerformanceProgressBar control
Yes, there is something in the XAML, and you might kick yourself if you don't have it set (happened to me several times) check this property:
<phone:PhoneApplicationPage
xmlns:shell="clr-namespace:Microsoft.Phone.Shell;assembly=Microsoft.Phone"
xmlns:SystemTray.IsVisible="True">
Also make sure that your progress bar actually has room to display. Progress bar takes 32 pixels off the top, so generally speaking you want your content to occupy only 768 pixels in height.
I believe that by default when you create a Panorama page using visual studio, the height is set to 800, and SystemTray.IsVisible is set to false.

Change SC.say("hello") Alert window border colour

How to change the border color of SC.say() popup window in smartgwt.Do i have to create a custom window and specify all edge images to change border colour.
Yes, according to me, you should use com.smartgwt.client.widgets.Dialog, if you want customized look or widgets in place of SC class. You can have all the properties that will make your dialog looks the same such as:
dialog.setIsModal(isModal);
dialog.setMessage(message);
dialog.setMessageStyle(messageStyle);
dialog.setIcon(icon);
dialog.setButtons(buttons);
dialog.setTitle(title);

Avoid painting over nested controls

I am writing a toolbar-style control and use the ThemeServices unit to paint the background required by the toolbar. Like so:
ThemeServices.DrawElement(Canvas.Handle,
ThemeServices.GetElementDetails(trRebarRoot), ARect);
I then drop child controls onto the toolbar and voila - instant toolbar. Except that every now and again I notice that the nested (child) controls don't repaint as well. So my control paints its background and the child controls disappear until you move the mouse over them.
Some of the edit controls show their client area (no border) and some of them are just gone altogether.
This happens mostly when I place a window from another application over the toolbar and move it away.
I keep thinking this has to be very easy to cure, that perhaps I'm somehow preventing the paint message from reaching the child controls, or missing an override but I have been unable to figure it out.
For this to work properly so you do not end up over-painting the child controls from the WM_NCPaint, you can use the Window's GDI Region functions to create a clipping region which excludes the areas you do not want to paint.
You can do this by creating a Region using the CreateRectRgn (or similar) function with the size of your background.
Select this region in to the DC you are using via the SelectClipRgn function.
Next, loop through the top level child windows on your toolbar / panel and calling ExcludeClipRect with the appropriate coords for each child.
Finally when you paint, only the area's that have not been excluded will be painted.
Also be aware you might need to clear up your region (best check the GDI help).
That's normal for a canvas to have to repaint when covered by another windows control.
You should draw your tool bar in the OnPaint event of the container control.
OK, I found the problem myself. I was drawing the background in WM_NCPAINT because it is a gradiated background that cannot really be drawn bit by bit. I didn't realize that WM_NCPAINT is often called without the client controls being repainted. So I still paint the background in WM_NCPAINT but also in WM_PAINT. The latter is already clipped to exclude the border and to get the former to clip the client area, I called ExcludeClipRect.
This works like a treat.

Resources