Graphics :  K-Meleon Web Browser Forum
All about K-Meleon icons, skins and throbbers. 
Archetypal (Navigator-style theme)
Posted by: RJJIII
Date: June 10, 2022 06:35PM

Archetypal is an experimental theme I started as a research project to better understand K-Meleon's skin system. The art's based on the old Netscape 4 Navigator. I started with Eyes-Only's Netscape Modern theme, and am very grateful for it. I ended up replacing the art in that theme with art from FOXSCAPE by Michael Walden. I did a lot of touch-up/layout stuff for the icons but FOXSCAPE is the basis for all the vintage Netscape stuff. Everything is available under the same Creative Commons license as FOXSCAPE.

The name is a reference to how Netscape shaped how we imagined what the web was and what the web could be.

Because I made this theme to intentionally push the skin system, you'll pretty much have to use it on a fresh profile or else the toolbars will be likely be very jumbled. There is a Window Management toolbar that will inactive by default because I was worried about packing too many buttons into the main toolbar. It's made for KM75+ but uses syntax that is safe for all versions of K-Meleon. It'll work alright on KM74 and would even mostly work on KM1.5 after changing the commands.

Check out this link to download it or view some screenshots:

https://rjjiii.github.io/K-Meleon/Archetypal/

I've also attached it to this post.

Attachments: Archetypal.zip (77.7 KB)  
Options: ReplyQuote
Re: Archetypal (Navigator-style theme)
Posted by: RJJIII
Date: July 18, 2022 06:42AM

This may be a discovery or maybe this is common knowledge, but it's possible to change the XUL theme on a profile in another browser. Then when you use the profile in K-Meleon it will change the theme used in stuff like the "about" pages. I wouldn't recommend it but do think it's interesting that this is possible at all:

https://rjjiii.github.io/K-Meleon/Archetypal/UsingAFirefoxTheme.png

I've updated the first post with a new version of Archetypal.

Changes and new features:
+ Added more support for K-Meleon's localization system.
+ Added comments in menuicons.cfg.
+ Better transparency.

Options: ReplyQuote
Re: Archetypal (Navigator-style theme)
Posted by: RJJIII
Date: August 16, 2022 04:52AM

I've attached a new version of Archetypal to this post.

Changes and new features:
* Toolbar names, tooltips, and messages all changed to use .kml localization.
* Updated skin.js
* Updated readme.txt with additional research questions.

Also here is the current list of questions/answers (really only relevant if you're creating a theme) from the readme:
Quote

Since this is an experimental research skin, I've tested out and
answered many questions about the browser and how it handles skins. This
is really more of an iFAQ because these are all quite inFrequently Asked
Questions but here goes:

Q: What image formats are supported by K-Meleon themes?
A: PNG, BMP, JPG, GIF, and TIFF are supported. WEBP and SVG are not supported.

Q: What if I used an animated image?
A: Only the first frame of animation is used.

Q: Which icon formats scale to different sizes?
A: PNG, BMP, JPG, GIF, and TIFF all scale.

Q: What are the rules for putting which icon into which image file?
A: None really. You can put every single icon into a single image, break them up into individual images, or divide them in any way that makes sense for you.

Q: How do I get a text-only button?
A: Do not define a menu icon and start your button name with a "!" so that "MyButton" becomes "!MyButton". Search toolbars.cfg for "!Bookmarks" as an example.

Q: What will K-Meleon do for icons if the 75-style syntax is used without skin.cfg?
A: It uses menuicons.cfg instead. Every toolbar icon in this theme also has a menu icon, so you can try commenting out their .bmp files in toolbars.cfg. When you restart the browser, you'll have the menu icon scaled to the toolbar's height.

Q: Can I have multiple sizes of buttons on the same toolbar?
A: Not really. Different heights will cause a lot of problems. Different widths will likely cause problems. You can have different lengths of text but K-Meleon will set the width for every button to the width of the largest. You can use images that have different sizes but the same aspect ratio (24,24 with 32,32 OR 16,48 with 8,24 BUT NOT 24,24 with 8,24) and K-Meleon will scale the images, but it makes more sense to just create images at the same pixel size.

Q: How do I get different size buttons on the same row?
A: Put them in different toolbars.

Q: When is skin.js used?
A: Skin.js is consistently used when a profile is used for the first time or when a user switches themes without adjusting any GUI settings. The browser will check user.js, then pref.js, then skin.js, and then use defaults. Any preference that can be set with user.js, pref.js, or about:config (which writes to pref.js) can be set in skin.js. K-Meleon will only use it if the pref does not exist in the other 2 files. This can cause some odd behavior. Any preference left at its default state won't appear in pref.js and therefore can be changed by skin.js. However, if a user were to move their URL, just for example, down to the bottom row of toolbars this would change some of their "toolband" preferences but not all. Then if the user switched themes, the new theme would overwrite the many default settings but not the settings for the URL bar or likely the adjacent toolbar. It won't be clear to users why some toolbars move around but others don't when switching themes.

Q: Can separate buttons call the same command.
A: They must be in separate toolbars. Otherwise, only one button for each command will get a tooltip and all buttons for the same command will use one icon.

Q: Will K-Meleon translate tooltips?
A: K-Meleon will translate not just tooltips but any text with available translation including menu names and status bar messages. For example, the tooltips all translate in this theme but if you look at the "Lock" button you'll see that it uses a menu name because there was no comparable tooltip in the browser by default. If you use a custom tooltip then K-Meleon will obviously not translate it.

Q: Can I use Privacy Bar buttons in other toolbars?
A: K-Meleon won't correctly update their on/off state. To toggle the buttons K-Meleon will look for the Privacy Bar by name.

Q: Can I use the "toolbars" menu with a button?
A: Normally you can toggle toolbars on or off by right-clicking empty space. But if the toolbars are all full then what? Any button with no defined right-click menu will give you that default menu. Also, the lock button in this theme pulls up that menu by design.

Q: What determines which buttons are attached to the tab bar?
A: K-Meleon puts them on the right edge of the toolbar named "Tab/&Window Buttons" BUT the width of the bar is determined by the NUMBER of buttons (assumed to be 16 pixels wide) not the actual width of the buttons. Using a larger button size will cause the toolbar to bleed off the right edge of the screen.

Q: Can I use macro language in toolbars.cfg?
A: No, the skin has to call a separate macro from a .kmm file.

Q: Why does the command list show commands like restart and print preview command that don't show up in the browser's menus?
A: There are both newer commands in K-Meleon that don't have a menu entry (like restart) and there are older commands that no longer function completely (print preview).

Q: How do you disable the throbber?
A: K-Meleon defines "Throbber.avi" as the throbber toolbar and even if you leave a throbber out of your theme, any theme can pull assets from the default skin including the throbber. The best solution I found is sort of a hack. K-Meleon looks for very specific things in the AVI file. Things like 32-bit color, a soundtrack, captions, and so on can't be processed by K-Meleon. If K-Meleon finds the throbber's file to be out of its range of parameters, it just disables the throbber toolbar. The easiest way then to disable the throbber for a theme is to create a new text file and rename it "Throbber.avi" and K-Meleon then won't even list a throbber toolbar when using that theme.

Q: What does K-Meleon do to the toolbars if I skip numbers in the skin.js index values?
A: It crams random toolbars into those empty slots even if you specified an index for the toolbars further down. The index values have to start at zero and include every increment.

Q: Can I make a variant of this skin?
A: Only in KM74. The skin(variant) feature was deprecated in KM74. Take at look at the default assortment of themes it came with. Even though they could borrow assets, that technique had already been abandoned. For example, AlphaAura(CNoT) pulls no assets from AlphaAura. In KM75 the feature was removed. All themes can pull assets from the default and the shared folder in KM75.

Q: Can I pair a K-Meleon theme with a Mozilla .xpi theme?
A: Not really. It's possible to set the Mozilla theme used in about pages and XUL windows by modifying the user profile with a different Mozilla browser. However, K-Meleon does not itself have a way to disable or enable Mozilla themes. Additionally these themes are massive and to avoid errors must target the exact version of a browser. Incorrectly setting the theme manually or with the secondary browser trick can corrupt the profile.

Q: Can I make K-Meleon use custom settings for toolbar position?
A: I tried creating a version of this skin where every toolbar has a unique and custom name. This was the only 100% reliable way to have the skin display in its default configuration from skin.js and it had the added benefit that changes made to the Archetypal skin did NOT affect other K-Meleon skins. Normally there are glitches switching between skins when the browser combines user prefs, skin defaults, and browser defaults, but this allowed me to switch into Archetypal, change things around, and switch back to another theme with no issue. It had several unfortunate side effets though. It disabled all translation of toolbar names in the toggle menu, the Privacy Bar did not correctly sync its icons, the browser could not "attach" the tab icons, and XUL-based extensions had no toolbar to create buttons.

Q: Will K-Meleon translate menu text if it's used as a name for a toolbar?
A: Yes. It just works.

Q: What happens if I give 2 toolbars the same name?
A: This will cause weird errors. K-Meleon will put your toolbars in strange locations. The browser will let you drag them to other areas, but won't correctly remember their locations.


Attachments: Archetypal.zip (80.2 KB)  
Options: ReplyQuote


K-Meleon forum is powered by Phorum.