GUI customization

Posted by Asmodeusbrooding on Thu 22 Aug 2019 06:18 AM — 10 posts, 35,587 views.

#0
Hey guys,

I'm trying to change the color of the MENUITEMS in MUSHclient....
By MENUITEMS, I mean where it says File, Edit, View, Connection, etc etc on the top of the screen.

NOT this article, this wouldn't work...




The menu code is in en.dll, but I can't see a way to change their color that way..

I tried looking at mushclient.RC at
but I'm not sure where to find it..

To be clear, I'm trying to change the grey to another color (black, or dark grey)

Would be nice to be able to change the other menus to a darker color as well (Like the alt+enter menu, etc)

Is this possible somehow through modifying some code?


The grey is very distracting from the mud, and I want darker colors to be easier on my eyes.
I don't like full screen mode, either, sadly, so I'm hoping to find a solution besides that.

Please let me know where I should be looking to change this.


Looking at

it looks to be if I use
Note(GetSysColor(4))

I can get the color of the menu.
Where I might I access the point in which the colors listed in the link above might be changed?
Amended on Thu 22 Aug 2019 08:30 AM by Asmodeusbrooding
USA Global Moderator #1
MUSHclient does not have code to let you modify application theme data. When it was written there actually wasn't an approved way to do that yet. Microsoft only added official system methods for it later, and even today the documentation for the methods is pretty poor in regards to older versions of Windows like XP, which MUSHclient still supports.
#2
Fiendish said:

MUSHclient does not have code to let you modify application theme data. When it was written there actually wasn't an approved way to do that yet. Microsoft only added official system methods for it later, and even today the documentation for the methods is pretty poor in regards to older versions of Windows like XP, which MUSHclient still supports.


So while a method to easily obtain the syscolor info exists, there is no actual method to modify that info?

Nothing you can think of to do this at all?

Wouldn't something to the order of the most recent change like adding SetFrameBackgroundColour also work for something like altering color for the MENU?

I've got no idea, I'm just throwing ideas out.

EDIT: I think the colors can be modified here...
https://imgur.com/a/0DnPr8W

But I still can't modify the menuitems with this, and this method would only apply to the current user.
Hmmm...
Amended on Fri 23 Aug 2019 12:41 AM by Asmodeusbrooding
Australia Forum Administrator #3
There was a recent query about this, and as far as I could see the only way was to make owner-draw menus, which is a big pain.




Having said that, can't you just change the theme? That seems to work for doing custom menu colours:



#4
Hey Nick,
you can't change themes quite like that in Windows 10, they've removed the ability to do so. but I mean the area in your photos which is under the white text of FILE EDIT VIEW CONNECTION, not the actual drop down menu.

Also, a good word is stay away from a program called CCP (Classic Color Panel)

I loaded the "Defaults" and windows decided it didn't want to boot anymore.

Long story short, somehow BitLOCKER was installed on my computer and I had no idea what the password was so I had to reformat my entire computer and lose all of my hard work... so stay away from that program. Editing registry files in general is a poor idea, but you know that.

Anyways, that's so weird that it can't be customized.
Weird indeed.
Let me know if you think of some way to do this.
Australia Forum Administrator #5

Those toolbars under the menu can be hidden -> see the View menu.

Amended on Fri 23 Aug 2019 08:14 PM by Nick Gammon
USA Global Moderator #6
I can think of ways to change UI colors by adding code to MUSHclient, but not without adding code. I think the sane ways of doing it might break compatibility with XP.

Quote:
Those toolbars under the menu can be hidden -> see the View menu

I assumed that's off the table because of "I don't like full screen mode"
Amended on Fri 23 Aug 2019 08:18 PM by Fiendish
#7
Nick Gammon said:

Those toolbars *under* the menu can be hidden -> see the View menu.


All toolbars are hidden, but FILE EDIT VIEW CONNECTION etc still exists, and is quite bright.

It's okay if this can't be fixed, the client is still absolutely amazing, I'm just hoping to take away from the bright colors.

The scrollbar color can be changed, right? I think I can find how to do so with some digging around..
Australia Forum Administrator #8

You say you don’t like fullscreen mode, but with those toolbars off, and no tabs (at the top) which is probably the default, then the menus are hidden (you RH click to get at them).

You still see the scroll bar on the right, but that is the only thing. You can change the background colour of the command (input) part of the window).

One possibility would be to run a virtual machine. In fact that is how I maintain the client these days. I use Oracle VirtualBox since my main PC is Ubuntu. It runs under Windows, Mac and Linux, and is free.

You would then just need an old XP installation disk. There must be millions of them around, and you maybe have one yourself in a drawer. They are on eBay for around the $3 mark if you don’t have one.

On my (reasonably fast) PC the XP machine boots in around 21 seconds, and I usually leave it running. If you have a multiple CPU machine the virtual machine can use one of those CPUs (when it needs to) so you don’t really notice a slowdown elsewhere.

I think Fiendish also runs that way (but on a Mac as I recall). Or maybe he uses Wine.

In the virtual machine you can then customize the theme as I described earlier, without any fiddling around with the client.

I know for a fact that the client still runs on XP because that is what I test on. It is not a resource hog, and doesn’t use much disk.

You can full-screen the virtual machine, so you don’t need to worry about the Windows menus, desktop, etc. being a distraction.

The virtual machine captures the mouse and keyboard, so in full-screen mode while it is running it is easy to forget you are really running a different operating system. You use a special sequence (Press RH-shift, release it, then Alt+Tab in my case) to “escape” from the virtual machine if you hear a mail notification or something from the other operating system.

Amended on Sun 25 Aug 2019 08:52 PM by Nick Gammon
#9
Nick Gammon said:

You say you don't like fullscreen mode, but with those toolbars off, and no tabs (at the top) which is probably the default, then the menus are hidden (you RH click to get at them).

You still see the scroll bar on the right, but that is the only thing. You can change the background colour of the command (input) part of the window).

One possibility would be to run a virtual machine. In fact that is how I maintain the client these days. I use [Oracle VirtualBox](https://www.virtualbox.org/wiki/VirtualBox) since my main PC is Ubuntu. It runs under Windows, Mac and Linux, and is free.

You would then just need an old XP installation disk. There must be millions of them around, and you maybe have one yourself in a drawer. They are on eBay for around the $3 mark if you don't have one.

On my (reasonably fast) PC the XP machine boots in around 21 seconds, and I usually leave it running. If you have a multiple CPU machine the virtual machine can use one of those CPUs (when it needs to) so you don't really notice a slowdown elsewhere.

I think Fiendish also runs that way (but on a Mac as I recall). Or maybe he uses Wine.

In the virtual machine you can then customize the theme as I described earlier, without any fiddling around with the client.

I know for a fact that the client still runs on XP because that is what I test on. It is not a resource hog, and doesn't use much disk.

You can full-screen the virtual machine, so you don't need to worry about the Windows menus, desktop, etc. being a distraction.

The virtual machine captures the mouse and keyboard, so in full-screen mode while it is running it is easy to forget you are really running a different operating system. You use a special sequence (Press RH-shift, release it, then Alt+Tab in my case) to "escape" from the virtual machine if you hear a mail notification or something from the other operating system.



Very helpful stuff, I was just hoping for a bit of customization to give the client a bit of unique coloring for distribution to the users of a certain mud.
If it must be only that the inner windows can be customized, so be it!

Thanks for all of the help, I'll check out the virtual machine.