Jump to content

K-Meleon

From Wikipedia

Template:Short description Template:Use mdy dates Template:Infobox software

K-Meleon is a free and open-source, lightweight web browser for Microsoft Windows. It uses the native Windows API to create its user interface. Early versions of K-Meleon rendered web pages with Gecko, Mozilla's browser layout engine, which Mozilla's browser Firefox and its email client Thunderbird also use. K-Meleon became a popular Windows browser and was available as an optional default browser in Europe via BrowserChoice.eu. K-Meleon continued to use Gecko for several years after Mozilla deprecated embedding it. Current versions of K-Meleon use the Goanna layout engine, a fork of Gecko created for the browser Pale Moon.

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,[1] when many new browsers were launched.[2] To open-source their once-dominant Netscape Communicator Internet suite, Netscape founded the Mozilla project.[3] K-Meleon was one of several browsers to use Mozilla's browser engine Gecko.[4] 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.[5]

Embedding Gecko

Screenshot of K-Meleon with a right-click menu
K-Meleon 0.2

Christophe Thibault released K-Meleon 0.1 on August 21, 2000.[6] While working at Nullsoft,[7] Thibault said he created the first simple release to attract attention, during a day off.[8][1] For the 0.2 release, he implemented features like context menus and moved development to SourceForge to welcome contributions from open-source developers.[9]

Thibault handed the project over to new developers,[10] including Brian Harris, Sebastian Spaeth, Jeff Doozan, and Ulf Erikson,[11] who began implementing browser functions through modular Kplugins.[12] The K-Meleon team released new versions with pop-up blocking and cookie management.[13] These releases introduced text-based configuration files called configs that allowed users to customize the browser or hide interface elements,[14][15] and a macro language to extend the browser.[16][17] Early reviews described K-Meleon as small, fast, limited, and visually similar to Internet Explorer.[1][6][7]

K-Meleon was built with open-source code from Mozilla but its narrower focus offered advantages over the Mozilla Application Suite,[13] which bundled the browser with applications for email, news, chat, and webpage editing.[18][19] 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.[20] K-Meleon brought a similar approach to Windows[21] using the operating system's native application programming interface (API) to create a lightweight user interface (UI).[5] The K-Meleon developers released a stand-alone web browser for Windows two years before the Firefox alpha release.[22] Mozilla created user interfaces via their cross-platform XML User Interface Language (XUL) layer.[23] This technology used Gecko to lay out application interfaces.[4] XUL allowed Mozilla to build one application for multiple operating systems but generated graphical controls that did not match the rest of the system.[24] 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.[6]Template:Efn

Screenshot of K-Meleon with a popup box that reads Hello World
K-Meleon 0.7 with a simple "Hello World" macro, the optional Tango theme, and several NPAPI plugins installed

K-Meleon 0.7 was released with the Mozilla 1.0 engine in October 2002.[25] 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.[26] 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.[27] In January 2006, Dorian Boissonnade became the lead developer and began working towards a 1.0 release.[28][29]

K-Meleon 1.0 was released in July 2006 and made the browser fully translatable.Template:Efn 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.[30] 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.[31][29]

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.[32] 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.[33][32] Version 1.5 introduced a true tabbed interface.[29]Template:Efn

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).[34] By 2010, it offered Windows users a choice of the 12 most popular web browsers, including K-Meleon.[35]

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.[36]Template:Efn In 2013, after years without an official, stable release, the K-Meleon group began developing version 74.[29] While Mozilla had ended support for embedding of Gecko, it maintained a technology called XULRunner.[37] XULRunner was a stand-alone implementation of the Gecko engine designed to launch applications.[38] K-Meleon 74 used XULRunner instead of Mozilla's deprecated embedding software.[39][29] Outside the new engine, version 74 brought small improvements, including better CPU use and minor bug fixes.[40]

K-Meleon 75 included a spelling checker, form auto-completion, and a new skin system.[41][42] Boissonnade began work on version 76 but suffered a hard disk drive failure during beta testing.[43]

Goanna branch

Two screenshots of K-Meleon with different appearances drawn from the windows theme
Two screenshots of K-Meleon 76 with the same K-Meleon theme but different system themes

Active development on K-Meleon takes place using Goanna,[44] a fork of Gecko created for the browser Pale Moon.[45] With Firefox Quantum, Mozilla rewrote large parts of its browser engine.[46] In 2017, Roy Tam forked K-Meleon 76 to run on Goanna.[47] The project's former lead developer Boissonnade wrote; "Thanks for taking care of that little lizard [after I] left it".[48] 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.[17] K-Meleon has lower memory requirements than other low-resource browsers.[49]

K-Meleon is updated on a rolling release schedule.[50] By default, the browser is a multi-lingual portable application that can directly run from the host computer or removable media.[51] It is also included in the PortableApps.com repository.[52] By 2023, K-Meleon was not compatible with major web apps and social media sites.[53] As of October 2024, the final planned release is version 76.5.5.[54]

Customization

Customization of K-Meleon's interface is possible using text-format configuration files called configs.[15] The menus, keyboard shortcuts, and more can all be customized via K-Meleon's configuration files.[55][56] These configs can call upon macros,[57] a type of extension that can be opened in a text editor.[33]

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!".[58]

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.[57]

CTRL ALT H = 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.[59]

NewToolbar{
   !NewButton{
	   macros(HelloWorld)
   }
}

This combination of configs and macro modules provides control over much of the browser.[60] 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".[61] Popular browsers use systems like WebExtensions, where there is a separation between users and extension developers.[62][63]

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.[64] It allowed administrators to hide some features from patrons.[65] 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.[15]

Legacy Windows versions

K-Meleon supports a range of legacy software and hardware.[17] Version 76 supports Windows XP (2001) and Windows Vista (2006).[66][67] Windows XP and its Windows Embedded POSReady 2009 variant have been unsupported since 2019.[68]Template:Efn The latest major browser releases to support these operating systems are Microsoft's Internet Explorer 8 (2014),[69] Google Chrome 49.0.2623.112 (2016),[70] and Mozilla Firefox 52.9.0 (2018).[71]

Web browsers cannot access secure websites if they do not support Transport Layer Security (TLS) encryption.[72] As of 2018, most major web sites use TLS encryption via HTTPS.[73]Template:Efn Early versions of K-Meleon for Windows 2000 and Windows 9X receive occasional updates for TLS certificates.[17] K-Meleon 74 can access secure websites on Windows 2000 using an old version of the Goanna engine combined with up-to-date ciphers.[74] K-Meleon 1.5 can run on Windows 95, Windows 98, and Windows Me.[75] Occasional TLS updates allow version 1.5 to access secure websites.[76]

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.Template:Efn

Template:Mw-datatable

Complete K-Meleon release history
Version Initial Release Latest Update Gecko Version Notes
0.1 Aug 21, 2000 Aug 21, 2000 M17 [1]
0.2 Nov 26, 2000 Jan 29, 2001 M18 Template:NoteTag[77][78]
0.3 Feb 13, 2001 Feb 13, 2001 0.8 Template:NoteTag[79]
0.4 May 11, 2001 May 11, 2001 0.9 Template:NoteTag[80]
0.5 Sep 27, 2001 Sep 27, 2001 0.9.4 [81]
0.6 Oct 30, 2001 Oct 30, 2001 0.9.5 [82]
0.7 Oct 31, 2002 Feb 12, 2003 1.2b Template:NoteTag[83][84]
0.8 Nov 10, 2003 Dec 23, 2003 1.5 [85][86]
0.9 Jan 18, 2005 Apr 25, 2006 1.7.13 Template:NoteTag[87][88]
1.0 Jul 15, 2006 Sep 22, 2006 1.8.0.7 Template:NoteTag[89][90]
1.1 May 22, 2007 Jul 18, 2008 1.8.1.17 Template:NoteTag[91]
1.5 Aug 8, 2008 Dec 9, 2022 1.8.1.24 Template:NoteTag[92][93]
1.6 Nov 14, 2010 Dec 12, 2010 1.9.1.20 [94][95]
74.0 Sep 8, 2014 Aug 14, 2021 24.7 Template:NoteTag[96][74]
75.0 Nov 25, 2014 Jun 24, 2015 31.5 Template:NoteTag[97][98]
75.1 Sep 19, 2015 Dec 14, 2022 31.8 [99][100]
76.0 RC May 2, 2016 Dec 20, 2016 38.8 Template:NoteTag[101]
76.G Nov 28, 2017 Dec 15, 2018 Goanna 3.x Template:NoteTag[102]
76.2.G Jan 10, 2019 Aug 22, 2020 Goanna 3.4.6 [103]
76.3.G Aug 29, 2020 Feb 5, 2021 Goanna 3.4.6 [104]
76.4.G Feb 12, 2021 Apr 7, 2023 Goanna 3.4.6 [105]
76.5.G Dec 1, 2024 Oct 10, 2024 Goanna 3.6.0 [54]
Notes

Template:NoteFoot

General references for this table include K-Meleon file releases,[106] release notes,[107] changelogs,[42] and the Announcements forum.[108]

See also

Template:Portal

Notes

Template:Notelist

References

Template:Reflist

Template:Navboxes

  1. 1.0 1.1 1.2 1.3 Template:Cite news
  2. Template:Cite magazine
  3. Template:Cite news
  4. 4.0 4.1 Template:Cite book
  5. 5.0 5.1 Template:Cite web
  6. 6.0 6.1 6.2 Template:Cite news
  7. 7.0 7.1 Template:Cite magazine
  8. Template:Cite news
  9. Template:Cite news
  10. Template:Cite web
  11. Template:Cite book
  12. Template:Cite mailing list
  13. 13.0 13.1 Template:Cite news
  14. Template:Cite book
  15. 15.0 15.1 15.2 Template:Cite journal
  16. Template:Cite mailing list
  17. 17.0 17.1 17.2 17.3 Template:Cite news
  18. Template:Cite news
  19. Template:Cite web
  20. Template:Cite news
  21. Template:Cite web
  22. Template:Cite news
  23. Template:Cite interview
  24. Template:Cite news
  25. Template:Cite news
  26. Template:Cite news
  27. Template:Cite mailing list
  28. Template:Cite mailing list Quoted by co-developer Hao Jiang: Template:Cite web
  29. 29.0 29.1 29.2 29.3 29.4 Template:Cite news
  30. Template:Cite book
  31. Template:Cite news (Refer to the visual tour of the "Advanced Preferences" panel.)
  32. 32.0 32.1 Template:Cite book
  33. 33.0 33.1 Template:Cite web
  34. Template:Cite news
  35. Template:Cite news
  36. Template:Cite news
  37. Template:Cite book
  38. Template:Cite book
  39. Template:Cite web
  40. Template:Cite news
  41. Template:Cite news
  42. 42.0 42.1 Template:Cite web
  43. Template:Cite web
  44. Template:Cite news
  45. Template:Cite news
  46. Template:Cite news
  47. Template:Cite web
  48. Template:Cite web
  49. Template:Cite news
  50. Template:Cite web
  51. Template:Cite news
  52. Template:Cite web
  53. Template:Cite web
  54. 54.0 54.1 Template:Cite web
  55. Template:Cite news
  56. Template:Cite book
  57. 57.0 57.1 Template:Cite document 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.
  58. Template:Cite book
  59. Template:Cite document 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.
  60. Template:Cite magazine
  61. Template:Cite news
  62. Template:Cite web
  63. Template:Cite web
  64. Template:Cite web
  65. Template:Cite news
  66. Template:Cite web
  67. Template:Cite web
  68. Template:Cite web
  69. Template:Cite web
  70. Template:Cite news
  71. Template:Cite news
  72. Template:Cite web
  73. Template:Cite news
  74. 74.0 74.1 Template:Cite web
  75. Template:Cite news
  76. Template:Cite web
  77. Template:Cite web
  78. Template:Cite web
  79. Template:Cite web
  80. Template:Cite web
  81. Template:Cite web, Or alternate archived file link: K-Meleon 0.5 Release Notes
  82. Template:Cite web
  83. Template:Cite web
  84. Template:Cite web
  85. Template:Cite web
  86. Template:Cite web
  87. Template:Cite web
  88. Template:Cite web
  89. Template:Cite web
  90. Template:Cite web
  91. Template:Cite web
  92. Template:Cite web
  93. Template:Cite web
  94. Template:Cite web
  95. Template:Cite web
  96. Template:Cite web
  97. Template:Cite web
  98. Template:Cite web
  99. Template:Cite web
  100. Template:Cite web
  101. Template:Cite web
  102. Template:Cite web
  103. Template:Cite web
  104. Template:Cite web
  105. Template:Cite web
  106. For versions 0.2–75.1: Template:Cite web
  107. For versions 0.2–0.8.2: Template:Cite web (Individual version release notes available under the respective [Notes] link.)
  108. For versions 1.1–76: Template:Cite web