Page 16 of 16

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Tue Aug 19, 2025 8:54 am
by Bitblazer
PrincieD wrote: Sun Aug 17, 2025 11:53 pm
idle wrote: Sun Aug 17, 2025 10:22 pm Sweating in the uk 🇬🇧 is a thing now. 😳
It is we don't have vents! we do have radiators though :lol:
Thats why i love my ventilator with watercooling. The important element is the water cooling. IT is simple and cheap to lower the temperature of the water, by cooling the water down by several degrees. That lowers the room temperature by a few degrees and is a rather affordable and easy to do method to cool down your working/sleeping room in combination with the fridge you aleady own.

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Tue Aug 19, 2025 4:56 pm
by PrincieD
Bitblazer wrote: Tue Aug 19, 2025 8:54 am
PrincieD wrote: Sun Aug 17, 2025 11:53 pm
idle wrote: Sun Aug 17, 2025 10:22 pm Sweating in the uk 🇬🇧 is a thing now. 😳
It is we don't have vents! we do have radiators though :lol:
Thats why i love my ventilator with watercooling. The important element is the water cooling. IT is simple and cheap to lower the temperature of the water, by cooling the water down by several degrees. That lowers the room temperature by a few degrees and is a rather affordable and easy to do method to cool down your working/sleeping room in combination with the fridge you aleady own.
That's a good system, I haven't heard of water cooling in homes before. Air conditioning isn't really a thing in the UK too (apart from shops and offices) because our climiate is generally cold (so we have radiators) this is why when we do have heat waves we're totally not prepared for it.

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Tue Aug 26, 2025 6:53 pm
by Zach
You guys need to be extremely aware that Evaporative coolers can make your comfort much worse. You are dumping all that moisture into the air, so you will end up with a slightly cooler environment, yes, but it will also be much more humid. Humid air holds more water by virtue of the fact it is warmer. SO you can end up with not much temperature reduction, but a muggy environment.

Better off to save up your money and buy a window unit of some sort for a dedicated room, or if you have the airflow, one or two units to help cool down the whole house. Of course that will also depend on electricity prices, but I know I'd never dream of using an evaporative cooler unless I lived in the literal desert (a hot and dry environment with low humidity).

In the USA they are nicknamed "swamp coolers" because that's what they turn the environment into.

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Sun Oct 12, 2025 2:47 am
by Zach
Hey Chris,

hope you didn't get cooked alive 8)

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Sun Oct 12, 2025 5:17 pm
by PrincieD
Zach wrote: Sun Oct 12, 2025 2:47 am Hey Chris,

hope you didn't get cooked alive 8)
:lol: barely lol Thankfully autumn is here now!

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Thu Oct 23, 2025 9:59 pm
by PrincieD
Hi guys, back on track now after having a bit of a break.

Skins now support global variables (which are accessible by all skins) with the new SkinSetGlobalVariable(Name.s, Value.s, noUpdate = #False) command. e.g. SkinSetGlobalVariable("my-color", "rgb(255, 0, 0)") So skin CSS examples look like this:

Code: Select all

SkinSetValue("titlebar", "", "", "background", "var(color-accent)")
SkinSetValue("titlebar", "", "", "background", "linear-gradient(var(color-accent), var(color-accent-dark1))")
SkinSetValue("window", "", "", "border", "1px var(color-winborder-active) mask-inner")
The SkinSetGlobalVariable() command by default will automatically update all windows / widgets with a skin and any property value that has the global variable specified with the CSS 'var()' command (without the '--' prefix). The Value parameter can be anything for example it could be "url('Icons/Window/96_minDark_n.png')" so think of the CSS var() command like a macro replacement.

This was needed with full window skinning to correctly grab the system colours (accent) etc dynamically. Currently implemented global variables:

Code: Select all

color-accent
color-accent-dark1
color-accent-dark2
color-accent-dark3
color-accent-light1
color-accent-light2
color-accent-light3
color-foreground
color-background
color-winborder-active
color-winborder-inactive
The cool thing is when creating your own custom widgets you can respect the user's choosen accent color easily etc.. and this will automatically update when the user changes their settings.

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Fri Oct 24, 2025 1:24 am
by PrincieD
Image

Code: Select all

SkinSetValue("window", "", "", "border-radius", "10px")
- Running on Windows 10
Ignore the red drop-shadow (SkinSetValue("window", "", "", "box-shadow", "0 0 20px red")) - that's still for testing

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Mon Nov 24, 2025 11:42 pm
by PrincieD
Hi guys, just a quick update.

The event handler engine can now handle adding window specific events to a widget (and not just a window object) with the AddEventHandler(Object, EventType, *Callback, *UserData = #Null) command, for example:

AddEventHandler(mySuperCoolWidget, #PG_Event_WindowMinimize, @WidgetMinimizeEventHandler())

This works regardless of what window the widget is currently in so the LayoutInsertWidget(Layout, Widget, Index = #PG_Last, Flags = #Null) command works automatically depending on what window the layout is in (if any). Makes it dead easy to handle events like #PG_Event_WindowActivate / #PG_Event_WindowDeactivate where you would probably do a WidgetSetSkinState(Widget, State.s = "", Component.s = "") command inside the event callback (as is the case with the window TitleBar widget!).

The full window skinning TitleBar widget is coming along nicely with the system command hover and active button CSS styles now fully respecting the OS settings for accent color and "Title bars and window borders" option with new global CSS variables "var(color-titlebar-active)", "var(color-titlebar-active-button-hover)", "var(color-titlebar-active-button-active)". It's been a pain reversing how Windows calculates these different shades as there is no API.

This is what the TitleBar widget CSS currently looks like:

Code: Select all

SkinSetValue("titlebar", "", "", "background", "var(color-titlebar-active)")
SkinSetValue("titlebar", "", "", "color", "white")
SkinSetValue("titlebar", "", "", "text-align", "center")
SkinSetValue("titlebar", "", "", "vertical-align", "center")

; minimize button
SkinSetValue("titlebarMinimize", "", "", "background", "url('Icons/Window/96_minDark_n.png')")
SkinSetValue("titlebarMinimize", "", "", "background-repeat", "no-repeat")
SkinSetValue("titlebarMinimize", "", "", "background-position", "center")
SkinSetValue("titlebarMinimize", "hover", "", "background", "url('Icons/Window/96_minDark_n.png'), var(color-titlebar-active-button-hover)")
SkinSetValue("titlebarMinimize", "active", "", "background", "url('Icons/Window/96_minDark_n.png'), var(color-titlebar-active-button-active)")
SkinSetValue("titlebarMinimize", "hover-active", "", "background", "url('Icons/Window/96_minDark_n.png'), #5E5C5B00") ;- !! is this needed?
SkinSetValue("titlebarMinimize", "", "", "transition", "background .3s, border .3s")
SkinSetValue("titlebarMinimize", "hover", "", "transition", "background 0s, border 0s")
SkinSetValue("titlebarMinimize", "hover-active", "", "transition", "background 0s, border 0s")

; maximize button
SkinSetValue("titlebarMaximize", "", "", "background", "url('Icons/Window/96_maxDark_n.png')")
SkinSetValue("titlebarMaximize", "", "", "background-repeat", "no-repeat")
SkinSetValue("titlebarMaximize", "", "", "background-position", "center")
SkinSetValue("titlebarMaximize", "hover", "", "background", "url('Icons/Window/96_maxDark_n.png'), var(color-titlebar-active-button-hover)")
SkinSetValue("titlebarMaximize", "active", "", "background", "url('Icons/Window/96_maxDark_n.png'), var(color-titlebar-active-button-active)")
SkinSetValue("titlebarMaximize", "hover-active", "", "background", "url('Icons/Window/96_maxDark_n.png'), #5E5C5B00")
SkinSetValue("titlebarMaximize", "", "", "transition", "background .3s, border .3s")
SkinSetValue("titlebarMaximize", "hover", "", "transition", "background 0s, border 0s")
SkinSetValue("titlebarMaximize", "hover-active", "", "transition", "background 0s, border 0s")

; close button
SkinSetValue("titlebarClose", "", "", "background", "url('Icons/Window/96_close_n.png'), #E8112300")
SkinSetValue("titlebarClose", "", "", "background-repeat", "no-repeat")
SkinSetValue("titlebarClose", "", "", "background-position", "center")
SkinSetValue("titlebarClose", "hover", "", "background", "url('Icons/Window/96_close_n.png'), #E81123")
SkinSetValue("titlebarClose", "active", "", "background", "url('Icons/Window/96_close_n.png'), #A92831")
SkinSetValue("titlebarClose", "hover-active", "", "background", "url('Icons/Window/96_close_n.png'), #E8112300")
SkinSetValue("titlebarClose", "", "", "transition", "background .3s, border .3s")
SkinSetValue("titlebarClose", "hover", "", "transition", "background 0s, border 0s")
SkinSetValue("titlebarClose", "hover-active", "", "transition", "background 0s, border 0s")
Hopefully have the beta out for Christmas (fingers crossed!)

Cheers! Chris.

Re: ProGUI V3 Alpha 3 Ready for testing!

Posted: Thu Dec 04, 2025 7:22 am
by Zach
Cool stuff man 8)