<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Magic_User_Interface</id>
	<title>Magic User Interface - Revision history</title>
	<link rel="self" type="application/atom+xml" href="http://debianws.lexgopc.com/wiki143/index.php?action=history&amp;feed=atom&amp;title=Magic_User_Interface"/>
	<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Magic_User_Interface&amp;action=history"/>
	<updated>2026-10-26T00:34:44Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.43.1</generator>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Magic_User_Interface&amp;diff=6167865&amp;oldid=prev</id>
		<title>imported&gt;Pavlor: Undid revision 1327159608 by ~2025-40042-57 (talk) Undoing a good faith edit; there was a MUI 3.9 version for MorpOS back in 2000/2001: https://amiga-news.de/en/news/AN-2001-02-00161-EN.html</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Magic_User_Interface&amp;diff=6167865&amp;oldid=prev"/>
		<updated>2025-12-15T06:09:42Z</updated>

		<summary type="html">&lt;p&gt;Undid revision &lt;a href=&quot;/wiki143/index.php?title=Special:Diff/1327159608&quot; title=&quot;Special:Diff/1327159608&quot;&gt;1327159608&lt;/a&gt; by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/~2025-40042-57&quot; title=&quot;Special:Contributions/~2025-40042-57&quot;&gt;~2025-40042-57&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:~2025-40042-57&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:~2025-40042-57 (page does not exist)&quot;&gt;talk&lt;/a&gt;) Undoing a good faith edit; there was a MUI 3.9 version for MorpOS back in 2000/2001: https://amiga-news.de/en/news/AN-2001-02-00161-EN.html&lt;/p&gt;
&lt;table style=&quot;background-color: #fff; color: #202122;&quot; data-mw=&quot;interface&quot;&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;col class=&quot;diff-marker&quot; /&gt;
				&lt;col class=&quot;diff-content&quot; /&gt;
				&lt;tr class=&quot;diff-title&quot; lang=&quot;en&quot;&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;← Previous revision&lt;/td&gt;
				&lt;td colspan=&quot;2&quot; style=&quot;background-color: #fff; color: #202122; text-align: center;&quot;&gt;Revision as of 06:09, 15 December 2025&lt;/td&gt;
				&lt;/tr&gt;&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l18&quot;&gt;Line 18:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 18:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;Magic User Interface&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MUI&amp;#039;&amp;#039;&amp;#039; in short) is an [[Object-oriented programming|object-oriented]] system by Stefan Stuntz to generate and maintain [[graphical user interface]]s. With the aid of a preferences program, the user of an application has the ability to customize the system according to personal taste.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The &amp;#039;&amp;#039;&amp;#039;Magic User Interface&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MUI&amp;#039;&amp;#039;&amp;#039; in short) is an [[Object-oriented programming|object-oriented]] system by Stefan Stuntz to generate and maintain [[graphical user interface]]s. With the aid of a preferences program, the user of an application has the ability to customize the system according to personal taste.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Magic User Interface was written for [[AmigaOS]] and gained popularity amongst both programmers and users. It has been ported to [[PowerPC]] processors and adopted as the default GUI toolkit of the [[MorphOS]] operating system. The MUI application programmer interface has been cloned by the [[Zune (GUI toolkit)|Zune]] toolkit used in the [[AROS|AROS Research Operating System]].&amp;lt;ref&amp;gt;{{cite web |url=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://aros.sourceforge.net/documentation/developers/zune-application-development.php |title=AROS Research Operating System |website=Aros.sourceforge.net |access-date=2016-07-17 |url-status=dead |archive-url=https://web.archive.org/web/20160325022444/http://aros.sourceforge.net/documentation/developers/zune-application-development.php |archive-date=2016-03-25 }}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;The Magic User Interface was written for [[AmigaOS]] and gained popularity amongst both programmers and users. It has been ported to [[PowerPC]] processors and adopted as the default GUI toolkit of the [[MorphOS]] operating system. The MUI application programmer interface has been cloned by the [[Zune (GUI toolkit)|Zune]] toolkit used in the [[AROS|AROS Research Operating System]].&amp;lt;ref&amp;gt;{{cite web |url=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://aros.sourceforge.net/documentation/developers/zune-application-development.php |title=AROS Research Operating System |website=Aros.sourceforge.net |access-date=2016-07-17 |url-status=dead |archive-url=https://web.archive.org/web/20160325022444/http://aros.sourceforge.net/documentation/developers/zune-application-development.php |archive-date=2016-03-25 }}&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==History==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==History==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l36&quot;&gt;Line 36:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 36:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Application theory==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Application theory==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UI development is done at source-code level without the aid of GUI builders. In MUI application the programmer only defines logical structure of the GUI and the layout is determined at run time depending on user configuration. Unlike on other GUI toolkits developer does not determine exact coordinates for UI objects but only their relative placement to each other using object groups. In traditional [[Intuition (Amiga)|Intuition]]-based UI coding programmer had to calculate placement of gadgets relative to font and border sizes. By default all UI elements are resizable and change their size to match window size. It can also automatically switch into smaller font or hide UI elements if there is not enough space on screen to display window with full contents. This makes it very easy to build UI which adapts well to tiny and large displays as well.&amp;lt;ref&amp;gt;{{cite web|url=http://www.sasg.com/mui/concepts.html |title=MUI Concepts |website=Sasg.com |access-date=2016-07-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://amigaworld.net/modules/faq/index.php?cat_id=2#15 |title=The Amiga Computer Community Portal Website |website=Amigaworld.net |access-date=2016-07-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Stuntzi, S: MUI Programmer Documentation. 1997&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;UI development is done at source-code level without the aid of GUI builders. In MUI application the programmer only defines logical structure of the GUI and the layout is determined at run time depending on user configuration. Unlike on other GUI toolkits developer does not determine exact coordinates for UI objects but only their relative placement to each other using object groups. In traditional [[Intuition (Amiga)|Intuition]]-based UI coding programmer had to calculate placement of gadgets relative to font and border sizes. By default all UI elements are resizable and change their size to match window size. It can also automatically switch into smaller font or hide UI elements if there is not enough space on screen to display window with full contents. This makes it very easy to build UI which adapts well to tiny and large displays as well.&amp;lt;ref&amp;gt;{{cite web|url=http://www.sasg.com/mui/concepts.html |title=MUI Concepts |website=Sasg.com |access-date=2016-07-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://amigaworld.net/modules/faq/index.php?cat_id=2#15 |title=The Amiga Computer Community Portal Website |website=Amigaworld.net |access-date=2016-07-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Stuntzi, S: MUI Programmer Documentation. 1997&amp;lt;/ref&amp;gt;&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are over 50 built-in MUI classes today and various third-party MUI classes.&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;There are over 50 built-in MUI classes today and various third-party MUI classes.&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l74&quot;&gt;Line 74:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 74:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Other GUI toolkits==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Other GUI toolkits==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Currently there are two main widget toolkits in the Amiga world, which are competing with each other. The most widely used is MUI (adopted into [[AROS]], [[MorphOS]] and in most Amiga programs), the other one is [[ReAction GUI|ReAction]] which was adopted in AmigaOS 3.5. There is in development a GTK MUI wrapper and it will allow the porting of various [[GTK]] based software.&amp;lt;ref&amp;gt;{{cite web|url=&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://sourceforge.net/projects/gtk-mui/ |title=GTK-MUI download |website=SourceForge.net |access-date=2016-07-17}}&amp;lt;/ref&amp;gt; There is also modern interfaces based on XML, [&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://www.feelin.fr/ Feelin].&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;Currently there are two main widget toolkits in the Amiga world, which are competing with each other. The most widely used is MUI (adopted into [[AROS]], [[MorphOS]] and in most Amiga programs), the other one is [[ReAction GUI|ReAction]] which was adopted in AmigaOS 3.5. There is in development a GTK MUI wrapper and it will allow the porting of various [[GTK]] based software.&amp;lt;ref&amp;gt;{{cite web|url=&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://sourceforge.net/projects/gtk-mui/ |title=GTK-MUI download |website=SourceForge.net |access-date=2016-07-17}}&amp;lt;/ref&amp;gt; There is also modern interfaces based on XML, [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://www.feelin.fr/ Feelin].&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Palette extension to Workbench defaults==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==Palette extension to Workbench defaults==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot; id=&quot;mw-diff-left-l112&quot;&gt;Line 112:&lt;/td&gt;
&lt;td colspan=&quot;2&quot; class=&quot;diff-lineno&quot;&gt;Line 112:&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==External links==&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;==External links==&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.sasg.com/mui/ MUI homepage]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.sasg.com/mui/ MUI homepage]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;−&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #ffe49c; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;del style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;http&lt;/del&gt;://nightly.muidev.de Unofficial MUI nightly build directory]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot; data-marker=&quot;+&quot;&gt;&lt;/td&gt;&lt;td style=&quot;color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #a3d3ff; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [&lt;ins style=&quot;font-weight: bold; text-decoration: none;&quot;&gt;https&lt;/ins&gt;://nightly.muidev.de Unofficial MUI nightly build directory]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.pjhutchison.org/tutorial/mui_howitworks.html Tutorial]&lt;/div&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;div&gt;* [http://www.pjhutchison.org/tutorial/mui_howitworks.html Tutorial]&lt;/div&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;td class=&quot;diff-marker&quot;&gt;&lt;/td&gt;&lt;td style=&quot;background-color: #f8f9fa; color: #202122; font-size: 88%; border-style: solid; border-width: 1px 1px 1px 4px; border-radius: 0.33em; border-color: #eaecf0; vertical-align: top; white-space: pre-wrap;&quot;&gt;&lt;br&gt;&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;</summary>
		<author><name>imported&gt;Pavlor</name></author>
	</entry>
	<entry>
		<id>http://debianws.lexgopc.com/wiki143/index.php?title=Magic_User_Interface&amp;diff=1136606&amp;oldid=prev</id>
		<title>imported&gt;Pavlor: Undid revision 1293979115 by 188.143.4.226 (talk) MorphOS started with 3.9</title>
		<link rel="alternate" type="text/html" href="http://debianws.lexgopc.com/wiki143/index.php?title=Magic_User_Interface&amp;diff=1136606&amp;oldid=prev"/>
		<updated>2025-06-05T14:46:45Z</updated>

		<summary type="html">&lt;p&gt;Undid revision &lt;a href=&quot;/wiki143/index.php?title=Special:Diff/1293979115&quot; title=&quot;Special:Diff/1293979115&quot;&gt;1293979115&lt;/a&gt; by &lt;a href=&quot;/wiki143/index.php?title=Special:Contributions/188.143.4.226&quot; title=&quot;Special:Contributions/188.143.4.226&quot;&gt;188.143.4.226&lt;/a&gt; (&lt;a href=&quot;/wiki143/index.php?title=User_talk:188.143.4.226&amp;amp;action=edit&amp;amp;redlink=1&quot; class=&quot;new&quot; title=&quot;User talk:188.143.4.226 (page does not exist)&quot;&gt;talk&lt;/a&gt;) MorphOS started with 3.9&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;{{Short description|Widget toolkit for AmigaOS}}&lt;br /&gt;
{{Infobox Software&lt;br /&gt;
| name = Magic User Interface&lt;br /&gt;
| logo = Magic-user-interface-logo.png&lt;br /&gt;
| screenshot = AmbientDesktop.png&lt;br /&gt;
| caption = A screenshot of the MUI-based [[Ambient (desktop environment)|Ambient]] desktop.&lt;br /&gt;
| developer = Stefan Stuntz&lt;br /&gt;
| released = {{Start date and age|1993}}&lt;br /&gt;
| latest_release_version = 5.0&lt;br /&gt;
| latest_release_date = {{Start date and age|2015|6|19}}&lt;br /&gt;
| operating_system = [[AmigaOS]], [[MorphOS]]&lt;br /&gt;
| platform = [[Amiga]]&lt;br /&gt;
| genre = [[Widget toolkit]]&lt;br /&gt;
| licence = [[Proprietary software|Proprietary]]/[[Shareware]]&lt;br /&gt;
| website = {{URL|www.sasg.com/mui/}}&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
The &amp;#039;&amp;#039;&amp;#039;Magic User Interface&amp;#039;&amp;#039;&amp;#039; (&amp;#039;&amp;#039;&amp;#039;MUI&amp;#039;&amp;#039;&amp;#039; in short) is an [[Object-oriented programming|object-oriented]] system by Stefan Stuntz to generate and maintain [[graphical user interface]]s. With the aid of a preferences program, the user of an application has the ability to customize the system according to personal taste.&lt;br /&gt;
&lt;br /&gt;
The Magic User Interface was written for [[AmigaOS]] and gained popularity amongst both programmers and users. It has been ported to [[PowerPC]] processors and adopted as the default GUI toolkit of the [[MorphOS]] operating system. The MUI application programmer interface has been cloned by the [[Zune (GUI toolkit)|Zune]] toolkit used in the [[AROS|AROS Research Operating System]].&amp;lt;ref&amp;gt;{{cite web |url=http://aros.sourceforge.net/documentation/developers/zune-application-development.php |title=AROS Research Operating System |website=Aros.sourceforge.net |access-date=2016-07-17 |url-status=dead |archive-url=https://web.archive.org/web/20160325022444/http://aros.sourceforge.net/documentation/developers/zune-application-development.php |archive-date=2016-03-25 }}&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
==History==&lt;br /&gt;
Creating GUI applications on Amiga was difficult for a very long time, mainly because the programmer got only a minuscule amount of support from the operating system. Beginning with Kickstart 2.0, the gadtools.library was a step in the right direction, however, even using this library to generate complex and flexible interfaces remained difficult and still required a great deal of patience.&lt;br /&gt;
&lt;br /&gt;
The largest problem in existing tools for the creation of user interfaces was the inflexible output. Most of the programs were still using built-in fonts and window sizes, thus making the use of new high resolution graphics hardware adapters nearly unbearable. Even the preference programs on the Workbench were still only using the default fixed-width font.&lt;br /&gt;
&lt;br /&gt;
In 1992 Stefan Stuntz started developing a new object-oriented GUI toolkit for Amiga. Main goals for new GUI toolkit were:&lt;br /&gt;
* &amp;#039;&amp;#039;Font sensitivity:&amp;#039;&amp;#039; Possible for the font to be set in every application.&lt;br /&gt;
* &amp;#039;&amp;#039;Changeable window sizes:&amp;#039;&amp;#039; Windows have a sizing gadget which allows users to change the window size until it suits their needs&lt;br /&gt;
* &amp;#039;&amp;#039;Flexibility:&amp;#039;&amp;#039; Elements can be changed by the user regarding their own personal tastes.&lt;br /&gt;
* &amp;#039;&amp;#039;Controlling by keyboard:&amp;#039;&amp;#039; Widgets can be controlled by the keyboard as well as by the mouse.&lt;br /&gt;
* &amp;#039;&amp;#039;System integration:&amp;#039;&amp;#039; Every program has an [[ARexx]] port and can be iconified or uniconified by pushing a gadget or by using the Commodities exchange program.&lt;br /&gt;
* &amp;#039;&amp;#039;Adjusting to its environment:&amp;#039;&amp;#039; Every application can be made to open on any screen and adapts itself to its environment.&amp;lt;ref&amp;gt;Stuntzi, S: MUI User Documentation. 1997&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
MUI was released as [[shareware]]. Starting from MUI 3.9 an unrestricted version is integrated with MorphOS, but a shareware key is still required to activate all user configuration options in AmigaOS.&lt;br /&gt;
&lt;br /&gt;
==Application theory==&lt;br /&gt;
UI development is done at source-code level without the aid of GUI builders. In MUI application the programmer only defines logical structure of the GUI and the layout is determined at run time depending on user configuration. Unlike on other GUI toolkits developer does not determine exact coordinates for UI objects but only their relative placement to each other using object groups. In traditional [[Intuition (Amiga)|Intuition]]-based UI coding programmer had to calculate placement of gadgets relative to font and border sizes. By default all UI elements are resizable and change their size to match window size. It can also automatically switch into smaller font or hide UI elements if there is not enough space on screen to display window with full contents. This makes it very easy to build UI which adapts well to tiny and large displays as well.&amp;lt;ref&amp;gt;{{cite web|url=http://www.sasg.com/mui/concepts.html |title=MUI Concepts |website=Sasg.com |access-date=2016-07-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;{{cite web|url=http://amigaworld.net/modules/faq/index.php?cat_id=2#15 |title=The Amiga Computer Community Portal Website |website=Amigaworld.net |access-date=2016-07-17}}&amp;lt;/ref&amp;gt;&amp;lt;ref&amp;gt;Stuntzi, S: MUI Programmer Documentation. 1997&amp;lt;/ref&amp;gt;&lt;br /&gt;
&lt;br /&gt;
There are over 50 built-in MUI classes today and various third-party MUI classes.&lt;br /&gt;
&lt;br /&gt;
===Example===&lt;br /&gt;
&lt;br /&gt;
&amp;lt;syntaxhighlight lang=&amp;quot;c&amp;quot;&amp;gt;&lt;br /&gt;
// Complete MUI application&lt;br /&gt;
#include &amp;lt;libraries/mui.h&amp;gt;&lt;br /&gt;
#include &amp;lt;proto/muimaster.h&amp;gt;&lt;br /&gt;
&lt;br /&gt;
// Sample application:&lt;br /&gt;
   ApplicationObject,&lt;br /&gt;
      SubWindow, WindowObject,&lt;br /&gt;
         WindowContents, VGroup,&lt;br /&gt;
            Child, TextObject, MUIA_Text_Contents, &amp;quot;Hello World!&amp;quot;, End,&lt;br /&gt;
         End,&lt;br /&gt;
      End,&lt;br /&gt;
   End;&lt;br /&gt;
&amp;lt;/syntaxhighlight&amp;gt;&lt;br /&gt;
&lt;br /&gt;
This example code creates a small MUI application with the text &amp;quot;Hello World!&amp;quot; displayed on it. It is also possible to embed other [[BOOPSI]] based GUI toolkit objects inside a MUI application.&lt;br /&gt;
&lt;br /&gt;
==Applications==&lt;br /&gt;
Some notable applications that use MUI as a widget toolkit include:&lt;br /&gt;
&lt;br /&gt;
* [[Aladdin4D]] - 3D rendering/animation application&lt;br /&gt;
* [[Ambient (desktop environment)|Ambient]] - desktop environment&lt;br /&gt;
* [[AmIRC]] - IRC client&lt;br /&gt;
* [[Digital Universe]] - desktop planetarium&lt;br /&gt;
* [[IBrowse]] - web browser&lt;br /&gt;
* [[Origyn Web Browser]] - web browser&lt;br /&gt;
* [[PageStream]] - desktop publishing&lt;br /&gt;
* SimpleMail - email client&lt;br /&gt;
* [[Voyager_(web_browser)|Voyager]] - web browser&lt;br /&gt;
* [[YAM (Yet Another Mailer)|YAM]] - email client&lt;br /&gt;
&lt;br /&gt;
==Other GUI toolkits==&lt;br /&gt;
Currently there are two main widget toolkits in the Amiga world, which are competing with each other. The most widely used is MUI (adopted into [[AROS]], [[MorphOS]] and in most Amiga programs), the other one is [[ReAction GUI|ReAction]] which was adopted in AmigaOS 3.5. There is in development a GTK MUI wrapper and it will allow the porting of various [[GTK]] based software.&amp;lt;ref&amp;gt;{{cite web|url=http://sourceforge.net/projects/gtk-mui/ |title=GTK-MUI download |website=SourceForge.net |access-date=2016-07-17}}&amp;lt;/ref&amp;gt; There is also modern interfaces based on XML, [http://www.feelin.fr/ Feelin].&lt;br /&gt;
&lt;br /&gt;
==Palette extension to Workbench defaults==&lt;br /&gt;
MUI extended [[Workbench (AmigaOS)|Workbench]]&amp;#039;s four-colour [[Palette (computing)|palette]] with four additional colours, allowing smoother [[Image gradient|gradient]]s with less noticeable [[dither]]ing. The [[MagicWB]] companion to MUI made use of this extended palette to provide more attractive icons to replace the dated Workbench defaults. MUI 4 added support for [[alpha blending]] and support for user defined widget shapes.&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot; style=&amp;quot;margin-left:auto;margin-right:auto;&amp;quot;&lt;br /&gt;
! !! colspan=&amp;quot;8&amp;quot; | MUI eight-colour palette&lt;br /&gt;
|-&lt;br /&gt;
! Colour&lt;br /&gt;
| style=&amp;quot;background:rgb(149,149,149);&amp;quot;| &lt;br /&gt;
| style=&amp;quot;background:rgb(000,000,000);&amp;quot;| &lt;br /&gt;
| style=&amp;quot;background:rgb(255,255,255);&amp;quot;| &lt;br /&gt;
| style=&amp;quot;background:rgb(59,103,162);&amp;quot;|&lt;br /&gt;
| style=&amp;quot;background:rgb(123,123,123);&amp;quot;| &lt;br /&gt;
| style=&amp;quot;background:rgb(175,175,175);&amp;quot;| &lt;br /&gt;
| style=&amp;quot;background:rgb(170,144,124);&amp;quot;| &lt;br /&gt;
| style=&amp;quot;background:rgb(255,169,151);&amp;quot;| &lt;br /&gt;
|-&lt;br /&gt;
! Red&lt;br /&gt;
| 149 || 000 || 255 || 59 || 123 || 175 || 170 || 255&lt;br /&gt;
|-&lt;br /&gt;
! Green&lt;br /&gt;
| 149 || 000 || 255 || 103 || 123 || 175 || 144 || 169&lt;br /&gt;
|-&lt;br /&gt;
! Blue&lt;br /&gt;
| 149 || 000 || 255 || 162 || 123 || 175 || 124 || 151&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
==See also==&lt;br /&gt;
{{Portal|Amiga}}&lt;br /&gt;
* [[ReAction GUI]] (ClassAct)&lt;br /&gt;
* [[Zune (widget toolkit)|Zune]]&lt;br /&gt;
&lt;br /&gt;
==References==&lt;br /&gt;
{{Reflist}}&lt;br /&gt;
&lt;br /&gt;
==External links==&lt;br /&gt;
* [http://www.sasg.com/mui/ MUI homepage]&lt;br /&gt;
* [http://nightly.muidev.de Unofficial MUI nightly build directory]&lt;br /&gt;
* [http://www.pjhutchison.org/tutorial/mui_howitworks.html Tutorial]&lt;br /&gt;
&lt;br /&gt;
{{AmigaOS}}&lt;br /&gt;
{{MorphOS}}&lt;br /&gt;
{{Widget toolkits}}&lt;br /&gt;
&lt;br /&gt;
[[Category:Widget toolkits]]&lt;br /&gt;
[[Category:Amiga APIs]]&lt;br /&gt;
[[Category:Amiga software]]&lt;br /&gt;
[[Category:AmigaOS]]&lt;br /&gt;
[[Category:AmigaOS 4 software]]&lt;br /&gt;
[[Category:MorphOS]]&lt;/div&gt;</summary>
		<author><name>imported&gt;Pavlor</name></author>
	</entry>
</feed>