Christophe Thibault, Sebastian Spaeth, Brian Harris, Jeff Doozan, Mark Liffiton, Rob Johnson, Ulf Erikson, Jordan Callicoat, Dorian Boissonnade, Roy Tam, et al.[1][2]
K-Meleon began with the goal of being faster and lighter than Mozilla's original Internet suite. Until 2011, K-Meleon embedded Gecko in a stripped-down interface. Throughout its lifespan, K-Meleon has required small amounts of random-access memory (RAM). K-Meleon 76 supports discontinued versions of Windows such as Windows XP and Windows Vista. Mozilla no longer supports these platforms after their Firefox Quantum rewrite.
Customization is another primary design goal. Users can change the toolbars, menus, and keyboard shortcuts from text-based configuration files. K-Meleon supports macros, which are small browser extensions that users can examine, write, or edit in a text editor. K-Meleon's custom configuration files can trigger macros. Reviews describe the customization features as versatile but intimidating to the average user. Due to its adaptability, K-Meleon was recommended for Internet cafés and libraries in the early 2000s.
History
Christophe Thibault started the K-Meleon project in the 2000s,[4] when many new browsers were launched.[5] To open-source their once-dominant Netscape Communicator Internet suite, Netscape founded the Mozilla project.[6] K-Meleon was one of several browsers to use Mozilla's browser engine Gecko.[7] Thibault designed K-Meleon to combine Gecko with native Windows interface elements, an approach that was less resource-intensive and allowed the browser to blend into its environment.[8]
Embedding Gecko
Christophe Thibault released K-Meleon 0.1 on August 21, 2000.[9] While working at Nullsoft,[10] Thibault said he created the first simple release to attract attention, during a day off.[11][4] For the 0.2 release, he implemented features like context menus and moved development to SourceForge to welcome contributions from open-source developers.[12]
Thibault handed the project over to new developers,[13] including Brian Harris, Sebastian Spaeth, Jeff Doozan, and Ulf Erikson,[1] who began implementing browser functions through modular Kplugins.[14] The K-Meleon team released new versions with pop-up blocking and cookie management.[15] These releases introduced text-based configuration files called configs that allowed users to customize the browser or hide interface elements,[16][17] and a macro language to extend the browser.[18][19] Early reviews described K-Meleon as small, fast, limited, and visually similar to Internet Explorer.[4][9][10]
K-Meleon was built with open-source code from Mozilla but its narrower focus offered advantages over the Mozilla Application Suite,[15] which bundled the browser with applications for email, news, chat, and webpage editing.[20][21] To create a stand-alone browser, the Galeon project embedded Mozilla's rendering engine. Galeon was released for Linux using GNOME's widget toolkit GTK.[22] K-Meleon brought a similar approach to Windows[23] using the operating system's nativeapplication programming interface (API) to create a lightweight user interface (UI).[8] The K-Meleon developers released a stand-alone web browser for Windows two years before the Firefox alpha release.[24] Mozilla created user interfaces via their cross-platform XML User Interface Language (XUL) layer.[25] This technology used Gecko to lay out application interfaces.[7] XUL allowed Mozilla to build one application for multiple operating systems but generated graphical controls that did not match the rest of the system.[26] K-Meleon was smaller and more closely integrated into the Windows desktop than Mozilla's browser, and could use the native bookmarking system to access Internet Explorer's favorites.[9][a]
K-Meleon 0.7 was released with the Mozilla 1.0 engine in October 2002.[27] Despite AOL disbanding upstream parent company Netscape in 2003, the development of K-Meleon continued. Mozilla continued work on Gecko, and K-Meleon was updated with service packs and version 0.8.[28] In 2005, Ulf Erikson announced version 0.9 would be the final version of K-Meleon he would build. He was the project's developer but stated he was no longer using K-Meleon as his primary browser after moving to Linux.[29] In January 2006, Dorian Boissonnade became the lead developer and began working towards a 1.0 release.[30][31]
K-Meleon 1.0 was released in July 2006 and made the browser fully translatable.[b] It stored localizations in separate library-and-config files within existing K-Meleon installations. Parts of the browser could be translated in a text editor.[33] K-Meleon 1.0 maintained support for its existing system of text-based configuration files and introduced a new graphical interface to change preferences from within the browser.[34][31]
Version 1.1 expanded the macro system. Earlier versions placed all of the macros into a single config file. Initial releases came with fewer than 50 lines of macro code and instructions for end users to create their own macros.[35] Later versions came with over 1,000 lines of macro code, and the macros users wrote and shared online. In response, K-Meleon developers separated macros into modules.[36][35] Version 1.5 introduced a true tabbed interface.[31][c]
In Europe, version 1.5 was an optional default Windows browser through Microsoft's browser ballot. Due to accusations of abusing its market position to promote Internet Explorer, Microsoft introduced a browser ballot in the European Economic Area (EEA).[38] By 2010, it offered Windows users a choice of the 12 most popular web browsers, including K-Meleon.[39]
7x releases
In 2011, Mozilla ended support for embedding the Gecko layout engine; because K-Meleon had previously relied on this API, the browser's future became uncertain.[40][d] In 2013, after years without an official, stable release, the K-Meleon group began developing version 74.[31] While Mozilla had ended support for embedding of Gecko, it maintained a technology called XULRunner.[45] XULRunner was a stand-alone implementation of the Gecko engine designed to launch applications.[46] K-Meleon 74 used XULRunner instead of Mozilla's deprecated embedding software.[47][31] Outside the new engine, version 74 brought small improvements, including better CPU use and minor bug fixes.[48]
Active development on K-Meleon takes place using Goanna,[52] a fork of Gecko created for the browser Pale Moon.[53] With Firefox Quantum, Mozilla rewrote large parts of its browser engine.[54] In 2017, Roy Tam forked K-Meleon 76 to run on Goanna.[55] The project's former lead developer Boissonnade wrote; "Thanks for taking care of that little lizard [after I] left it".[56] K-Meleon on Goanna remains compatible with deprecated versions of Windows and can run with smaller amounts of RAM than those required by mainstream web browsers.[19] K-Meleon has lower memory requirements than other low-resource browsers.[57]
K-Meleon is updated on a rolling release schedule.[58] By default, the browser is a multi-lingual portable application that can directly run from the host computer or removable media.[59] It is also included in the PortableApps.com repository.[60]
Customization
Customization of K-Meleon's interface is possible using text-format configuration files called configs.[17] The menus, keyboard shortcuts, and more can all be customized via K-Meleon's configuration files.[61][62] These configs can call upon macros,[63] a type of extension that can be opened in a text editor.[36]
A simple "Hello, World!" program could be written in K-Meleon's macro language that would pop up a small window with the message "Hello world!".[64]
HelloWorld{
alert("Hello world!");
}
To trigger the macro, a keyboard accelerator could be created by adding the code below to the accelerator config, causing the macro to launch if the Ctrl, Alt, and H keys are pressed at the same time.[63]
CTRLALTH= macros(HelloWorld)
Custom toolbars offer more options, but the syntax is similar. The example below would create a new toolbar with a button to trigger a macro.[65]
NewToolbar{
!NewButton{
macros(HelloWorld)
}}
This combination of configs and macro modules provides control over much of the browser.[66] It also creates a learning curve for customization that is not present in most browsers. A CNET review criticized K-Meleon because it "requires some knowledge of computer code to get the most out of it".[67] Popular browsers use systems like WebExtensions, where there is a separation between users and extension developers.[68][69]
Because of its flexibility, K-Meleon was useful for environments in which the browser needed to be customized for public use, such as libraries and Internet cafés.[70] It allowed administrators to hide some features from patrons.[71] For example, a library could hide interface elements like the address bar or limit the computer's access to an online resource like the library catalog.[17]
Web browsers cannot access secure websites if they do not support Transport Layer Security (TLS) encryption.[79] As of 2018, most major web sites use TLS encryption via HTTPS.[80][f] Early versions of K-Meleon for Windows 2000 and Windows 9X receive occasional updates for TLS certificates.[19] K-Meleon 74 can access secure websites on Windows 2000 using an old version of the Goanna engine combined with up-to-date ciphers.[82] K-Meleon 1.5 can run on Windows 95, Windows 98, and Windows Me.[83] Occasional TLS updates allow version 1.5 to access secure websites.[84]
Release history
K-Meleon, which was first released in 2000, has been under development for over 20 years and is still maintained. The most-recent version K-Meleon 76 is updated on a rolling release schedule. All versions of K-Meleon are written for Microsoft Windows operating systems.[g]
^Version 0.2 is the first version hosted at SourceForge and introduced right-click context menus.
^Version 0.3 is a rewrite using MfcEmbed instead of WinEmbed and the BCG Library. It introduced Kplugin support for menus and toolbars, a preferences dialog, customizable menus and accelerator keys, basic authentication, page source view, and the option to save files to disk.
^Version 0.4 introduced support for Netscape bookmarks, full-screen display, the macro extension Kplugin, the history Kplugin, icons in menus, cache support, configurable cookie and image settings, and the option to disable Java and JavaScript.
^Version 0.7 introduced layered windows for "tabbed browsing", support for Opera bookmarks, automatic detection of popular third-party (NPAPI) plugins, text zoom, print preview, page setup, type ahead find, and skin support.
^Version 0.9 introduced the Privacy Kplugin, the Flashblock extension, an RSS feed reader, and a new default skin (Phoenity). It was updated with community-driven Gecko updates.
^Version 1.0 introduced full localization support, the first official localization (German), updates to the URL bar, configurable download options, a XUL-based advanced preferences panel, Gecko updates, improvements in Unicode handling for macros and menus, and a new default RSS/Atom feed reader (NewsFox).
^Version 1.1 expanded multi-language support. It introduced several official localizations, modular macros, the session saver Kplugin, new customization of search engines and mouse gestures, multi-user configuration files, Gecko updates, and the update checker Kplugin.
^Version 1.5 replaced the native preferences panel with the XUL-based former advanced preferences panel. It introduced true tabs instead of layered windows, new configuration options, a Unicode build for Windows NT, a non-Unicode build for Windows 9X, and Gecko updates.
^Version 74 transitioned away from embedding Gecko to update the browser engine. The jump in version number is related to K-Meleon's user agent string.
^Version 75 introduced Gecko updates, an expanded JSBridge, an expanded macro language, support for "about:" pages, new spellcheck features, and a shorter privacy bar using text. It enabled the container for Adobe Flash by default.
^Version 76 on Goanna is a new branch that switched from Gecko to Goanna.
General references for this table include K-Meleon file releases,[114] release notes,[115] changelogs,[50] and the Announcements forum.[116]
^This approach of embedding Gecko into a native interface was also used by Camino on macOS.[7]
^Previous versions could be translated because they were open-source. The source code could be downloaded, the source files translated, the browser code recompiled, and the resulting application distributed under an open-source license.[32]
^Previously used in unofficial builds, true tabs supported drag and drop, could have individual close icons, and could be placed on the bottom of the window.[37]
^The situation also left the future of other embedded Gecko browsers unclear. Camino's developers initially explored transitioning to the WebKit rendering engine.[41] Mozilla later discontinued the Mac-only browser.[42] Marco Gritti, the lead developer of Galeon, had already forked that project to create GNOME Web,[43] which was switched to a WebKitbackend. GNOME Web developer Christian Persch described Mozilla's support for embedding of Gecko on Linux as "unmaintained and stagnant".[44]
^ReactOS, the open-source implementation of Windows, only targets compatibility up to the discontinued Windows Server 2003.[75]
^ Popular browsers like Chrome, Edge, Safari, and Internet Explorer rely on the operating system for client certificates. Mozilla software can use client certificates directly from the browser.[81]
^K-Meleon can run on POSIX-compliant systems if they have an implementation of the Windows API like the Wine compatibility layer.[72]
References
^ abErikson, Ulf; Holman; Mutch; Moses; Sachner; Zarneth (2002). "§ 8.1 Acknowledgements". K-Meleon User's Guide and Reference Manual. K-Meleon Documentation Project. Archived from the original on August 25, 2007. Retrieved December 22, 2022.
^"About K-Meleon" (Credits for K-Meleon 76). K-Meleon Project. 2017.
^Dunsdon, Nicole (October 11, 2000). "Rebel Web browsers worth considering". Calgary Herald. p. TB4.
^ abcBoswell, David; King, Brian; Oeschger, Ian; Collins, Pete; Murhpy, Eric (September 24, 2002). "Mozilla as Platform". In Boswell, David (ed.). Creating Applications with Mozilla. O'Reilly Media. p. 7. Archived from the original on February 2, 2023. Retrieved February 2, 2023.
^Jarkoff, Scott (August 22, 2000). "K-Meleon Owns Netscape's Gecko". Dimension Music. Lynx Technology Group. Archived from the original on January 8, 2001. Retrieved September 9, 2022.
^Erikson, Ulf; Holman; Mutch; Moses; Sachner; Zarneth (2002). "§ 4.6 Configs". K-Meleon User's Guide and Reference Manual. K-Meleon Documentation Project. Archived from the original on May 21, 2018. Retrieved December 22, 2022.
^Karaboychev, Kalin (July 14, 2008). "K-Meleon – инсталация и настройки". Kaldata (in Bulgarian). Kaldeita Kom EOOD. Archived from the original on December 31, 2022. Retrieved December 31, 2022. (Refer to the visual tour of the "Advanced Preferences" panel.)
^ abKohler, Klaus (May 9, 2007). "What's new?". K-Meleon 1.x Reference. Archived from the original on September 24, 2009. Retrieved February 9, 2023.
^ ab"K-Meleon Macro Module". FileInfo – The File Extensions Database. Sharpened Productions. August 12, 2009. Archived from the original on March 18, 2023. Retrieved March 18, 2023.
^Wang, Mao (August 23, 2009). "快速网页浏览器K-MeleonCCF ME 0.094版". MyDrivers.com. 驱动之家. Archived from the original on December 23, 2022. Retrieved December 23, 2022. K-MeleonCCF是一个非官方K-Meleon版本,源自K-Meleon 1.0 branch。最新CCF版与最新K-Meleon 官方版间最大的不同在于CCF版支持"real tab structure"(由Dorian开发)。[...] K-MeleonCCF ME 0.09版本的标签上可以显示关闭按钮, 标签栏可以置于窗口的下方。 [K-MeleonCCF is an unofficial K-Meleon version that comes from the K-Meleon 1.0 branch. The biggest difference between the latest CCF version and the latest K-Meleon official version is that the CCF version supports "true tab structure" (developed by Dorian). [...] K-MeleonCCF ME version 0.09 can display a close button on each tab, and the tab bar can be placed at the bottom of the window.]
^Persch, Chris (April 1, 2008). "ANNOUNCEMENT: The Future of Epiphany". Gnome Development Announcements List (Mailing list). GNOME Project. Archived from the original on August 22, 2022. Retrieved August 28, 2022.
^Feldt, Kenneth (February 9, 2009). Programming Firefox. O'Reilly Media. p. 374. XULRunner is a deployment method that uses the stand-alone Gecko runtime engine (also known as XULRunner) to launch XUL applications.
^Serea, Razvan (November 26, 2014). "K-Meleon 75 Beta 1". Neowin. Neowin LLC. Archived from the original on December 22, 2022. Retrieved December 21, 2022.
^ abBoissonnade, Dorian. "K-Meleon Changelog". Archived from the original on September 13, 2022. Retrieved August 29, 2022.
^Boissonnade, Dorian (December 20, 2016). "K-Meleon 76 RC". Archived from the original on December 22, 2022. Retrieved December 22, 2022.
^Kohler, Klaus (November 27, 2006). "Configuration Files". K-Meleon 1.x Reference. Archived from the original on September 23, 2009. Retrieved February 9, 2023.
^ abDoozan, Jeff (2001). "Macro Definition File for K-Meleon 0.6 (macros.cfg)" (Documentation). K-Meleon. Doozan described the accelerator syntax to add a macro command as "Sample Usage: in accel.cfg KEY = macros(example)" with "example" being the name of an individual macro sections enclosed in brackets.
^Erikson, Ulf; Holman; Mutch; Moses; Sachner; Zarneth (2002). "§ 7.7 Macro Language". K-Meleon User's Guide and Reference Manual. K-Meleon Documentation Project. Archived from the original on February 9, 2023. Retrieved December 22, 2022.
^Doozan, Jeff (2001). "Toolbar Definition File for K-Meleon 0.6 (toolbars.cfg)" (Documentation). K-Meleon. Doozan documents the formatting as "ToolBar Name { Button Name { command id (required) } }" with many optional parameters including size, "Tool Bar(16,16){ = NAME OF TOOLBAR* (WIDTH, HEIGHT), DEFAULT=(16,16)", and bitmap "image file[s]" for various states.
^For versions 0.2–0.8.2: "File Releases". Archived from the original on June 4, 2006. Retrieved January 6, 2023. (Individual version release notes available under the respective [Notes] link.)
^For versions 1.1–76: "K-Meleon: Announcements". Kmeleon.sourceforge.net. Archived from the original on September 13, 2022. Retrieved November 25, 2014.
External links
Unified XUL Platform MDN Backup – Archive of pre-Quantum Mozilla documentation applicable to the Goanna engine and UXP applications
Roy Tam's repositories on GitHub – Refer to developer Roy Tam's repositories for the latest version of the browser shell and browser engine source code