Improvement requests :  K-Meleon Web Browser Forum
Use this forum to talk about a feature you're missing. 
Add Client Edge around the brousing frame
Posted by: Anixx
Date: May 05, 2016 08:39PM

Please add Client Edge style to the browsing window so to make the border to have 3D effect (as in IE 6):



For me worked adding the WS_EX_CLIENTEDGE property to the window of Afx:00090000:8:00010003:00000006:00000000 class that hosts the MozillaWindowClass.



Edited 1 time(s). Last edit at 05/05/2016 08:39PM by Anixx.

Options: ReplyQuote
Re: Add Client Edge around the brousing frame
Posted by: Anixx
Date: February 13, 2017 02:12AM

I see this has been already implemented (although the setting is hidden). Thank you!


This is what should be added to the prefs.js file to enable this option:

user_pref("kmeleon.display.clientEdge", true);



Edited 1 time(s). Last edit at 02/13/2017 02:47AM by Anixx.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: siria
Date: February 13, 2017 07:59AM

Thanks for finding!

After a closer look inside KM exe:
it also has prefs for a sidebar now?
What's it for, any use for macros?
kmeleon.sidebar.width
kmeleon.sidebar.visible
kmeleon.sidebar.lastVisible

also possibly interested, but contained even in ancient KM1.6 already (about:config):
print.use_native_print_dialog + tons more for print
kmeleon.general.guest_account
etc.



Edited 3 time(s). Last edit at 02/13/2017 08:11AM by siria.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: JamesD
Date: February 13, 2017 05:56PM

Is the Perf the only thing to add? I am on holiday, working on an old laptop, and my eyes are not so good anymore. I cannot see if it changes my display or not. I made a macro. I am working with 76RC2.

k_frame.kmm

#  K-Meleon Macros (http://kmeleon.sourceforge.net/wiki/index.php?id=MacroLanguage2)
#
# ---------- k_frame.kmm
# ---------- Temporary solution to allow user to show or not show
# ---------- a Client Edge style around the browsing window so to
# ---------- make the border to have 3D effect.
#
# Dependencies      : main.kmm
# Resources         : -   
# Preferences       : "kmeleon.display.clientEdge" 
# Version           : 0.2  2017-02-13  JamesD 
# ----------------------------------------------------------------------------------

_k_frame_switch {
macroinfo=_("Select whether or not to display the client edge for K-Meleom's window.");
menuchecked = getpref(BOOL, "kmeleon.display.clientEdge"); 
togglepref( BOOL, "kmeleon.display.clientEdge");
}

_k_frame_BuildMenu {
setmenu("&Edit", macro, "Display Client Edge", "_k_frame_switch", "Pr&eferences");
}
# ----------------------------------------------------------------------
$OnInit=$OnInit."_k_frame_BuildMenu;";
$macroModules=$macroModules."k_frame;";


Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: Anixx
Date: February 14, 2017 01:10AM

Yes, it is the only thing to add, works well for me (better than on the first screenshot because the redunant separator is also removed):



A disadvantage is that it also appears in some dialogs.

By the way, what are the macros for? Can you explain? Is it something that would modify the menu in the later releases?

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: JamesD
Date: February 14, 2017 01:28PM

Quote
Anixx
For me worked adding the WS_EX_CLIENTEDGE property to the window of Afx:00090000:8:00010003:00000006:00000000 class that hosts the MozillaWindowClass.

How did you do this?

Quote
Anixx
By the way, what are the macros for? Can you explain? Is it something that would modify the menu in the later releases?

A macro is a special text file with commands that is read at KM startup. A macro can create a menu item for use while KM is running.

To use the macro k_frame, copy all the code beginning with the first line starting with a '#'. Paste the code into a text editor like notepad. Save the file as k_frame.kmm. Be sure to save as all types so that notepad will not add the extension 'txt'.

Copy the k_frame.kmm file to the macros folder in your KM root folder. When you next start KM the macro will be read in and you can see a new menu item in the EDIT menu.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: Anixx
Date: February 14, 2017 02:02PM

> How did you do this?

Using Window Detective for instance.

What's the purpose of a macro if one can directly change the prefs file? Or macro is going to be merged to the distribution?



Edited 2 time(s). Last edit at 02/14/2017 02:05PM by Anixx.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: JamesD
Date: February 14, 2017 02:36PM

Does Window Detective show a method to use JScript via WScript to add the property? I see that the software is on Sourceforge. I would like to have a way to add the property automaticly.

My macro is a method (temporary) to allow user to set the value TRUE or FALSE. I cannot change the EDIT > PREFERENCES > GUI APPEARANCE > AT STARTUP panel. I think that is where the user should be able to make the choice.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: Anixx
Date: February 14, 2017 06:30PM

> Does Window Detective show a method to use JScript via WScript to add the property? I see that the software is on Sourceforge. I would like to have a way to add the property automaticly.

What do you mean? There is a pref option already. In general you can use AHK or VBScript or whatever to add such property. Window Detective does not allow to do it automatically.



Edited 2 time(s). Last edit at 02/14/2017 06:32PM by Anixx.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: rodocop
Date: February 14, 2017 09:48PM

Anixx,

like any other application-related macrolanguage (or script language) KM's one is the scripting way to manage the application not by GUI, but through scripts. Or macros.

Well we call 'macros' both the kmm-files and single 'command units' (I don't know how to call this correct - I'm not a coder) in this files that are responsive for some particular action.

These macros not only can change prefs or add menu items. They do interact with KM application itself, forcing it do some useful things - single, multiple, cascading, parallel, etc.

Every macrofile (*.kmm) is read on the startup and usually it adds some GUI element (menu item, button, hotkey) to interact with user, to give user new possibilities, new options and functions of browser. But also they may have no one - just defining the conditions to do something automatically.

Well, KM macros are that thing what you call 'addon' or 'extension' in other browsers.

But also some in-built basic functions of K-Meleon browser are implemented through macros too. So we can say KM is natively modular and extendable browser.

You can read more technical info about KM macrolanguage here.



Edited 2 time(s). Last edit at 02/14/2017 09:51PM by rodocop.

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: siria
Date: February 14, 2017 10:40PM

Yes, but the link is setting russian language. Am afraid only the english version gets occasional a few updates, and there were quite a bunch since KM7X...

Options: ReplyQuote
Re: Add Client Edge / div KM prefs
Posted by: rodocop
Date: February 14, 2017 11:13PM

I know, siria,

but I think Anixx isn't ready to start writing macros immediately. Just asked about them in general ;-)



Edited 1 time(s). Last edit at 02/14/2017 11:21PM by rodocop.

Options: ReplyQuote


K-Meleon forum is powered by Phorum.