8 ms·
Show HN: Libmui is a macOS Classic widget lib for Linux
Not sure if I would post this for the last day of #marchintosh OR wait for tomorrow the 1st of April. Both apply equally.
Anyway, here's a pet project of mine, I made it as a glued on for another pet project of mine, but it developed a life of it's own now and can soar skyward toward success, fame, and glory.
- mattbee 3y agoThis is really cool, Michel wrote this for his Apple II emulator, and I've been using it (as a slight troll) to replace the front-end for an Archimedes emulator. It's early days, but if _I_ can understand the API, it must be OK :)
- jhbadger 3y agoEven using it for an Apple II emulator is a bit of a troll because back in the day Apple II users resented the Mac as they wanted Apple to continue the Apple II line and were upset that Apple dumped it in favor of focusing on the Mac. That said, I do have a fondness for the classic Mac interface
- zozbot234 3y agoThe Apple IIgs had a simplified Mac-style GUI, so it kinda fits.
- buserror 3y agoThe IIgs UI is not simplified at all, it had pretty much all the toolkits the Mac had in terms of user interface. It had all the graphics bits, the IPC bits, even networking, layered filesystem etc etc; it is often overlooked how far they had gone in term of featureset at the time of GS/OS 6.03 which was the last (official) release.
- mrkstu 3y agoI think the main problem was that the chunkier graphics necessitated by the lower resolution always made the IIgs graphics look like a primitive copy, so everyone assumed the rest of the stack underlying it was similarly primitive.
- TMWNN 2y agoIs any part of GS/OS based on original MacOS code ported from 68000 to 65C816? Or is it a clean-sheet reimplementation? If one in 1988 wanted to port a MacOS application to GS/OS, how difficult would it have been? What would have been the IIgs equivalent to, say, MPW?
- tpmoney 3y agoRelated, there's a public domain truetype font that's a pretty great copy of the original Chicago system font: https://fontlibrary.org/en/font/chicagoflf https://fontlibrary.org/en/font/chicagoflf
- buserror 3y agoI was pondering using Chicago as default font, but it is pretty 'typecast' (no pun intended, this time ;-)) -- Charcoal (that was used in System 8.x onward) is a lot less 'known' and also, I think, a significant improvement... But it is actually pretty easy to switch to Chicago in the library -- apart from the clone you mention, there is also a 'plain' TTF version of the original Chicago floating around...
- pvg 3y agoCharcoal fits the spirit of the hiDPI remake better to my eyes too. But as we're on 'spirit' and pedantry, the unaligned popup selectors in the demo look off to me, compare with https://www.oreilly.com/api/v2/epubs/0201700042/files/0201700042_ch14lev1sec5_image01.gif https://www.oreilly.com/api/v2/epubs/0201700042/files/020170... or similar.
- dingdingdang 3y agoThe unaligned popup selectors scared me too... hope it won't be added to "get off my lawn"-faq ;)
- buserror 3y agoYes there are a few tweaks to make -- I worked in 'passes' in the code, and my last 'pass' at the menus was a little while ago, normally I go and fix the little nags as I go along. Last (big) pass was the text editor, which isn't totally finished and polished but I had to release something for the deadline ;-)
- pvg 3y agoI found it fascinating that my brain readily accepts this as macOS Classic UI, even though, as you say, it's a kind of System 7++ - a neat trick to have pulled off. Then after a bit it starts nitpicking on alignment and spacing unasked, like some weird Apple Cult Manchurian Candidate.
- FourOnTheFloor 3y ago[flagged]
- exe34 3y agoI prefer win 95 over the modern sh¡tfest, but what I really miss is the shiny aqua stuff that make you want to lick the screen. I couldn't even afford a Mac at the time, so I had the aqua-like themes on gnome (back when you could configure stuff and have it not break early the following week).
- buserror 3y agoAqua was something else when it came out wasn't it? BUT -- fun fact, that pulsing "OK" button was using 30%+ CPU on my iMac DV back then... The price you had to pay for lickable UIs :-)
- szundi 3y agoWe used a swing look and feel of aqua and clients loved it… until iOS7 came in
- FourOnTheFloor 3y agoShitfest indeed. "back when you could configure stuff and have it not break early the following week" Exactly, but this was true on every GUI EXCEPT the vaunted Mac. For what, two decades, you could set up your own system-wide color scheme under Windows, which would be inherited by all competent apps. I set up a nice, non-inverse (today's trendy "dark") scheme in 1991 and used it into the 2000s. Then, just before everyone finally realized that staring at black text on a glaring white screen all day sucks... Microsoft removed the scheme editor from Windows entirely. The Windows shitshow has only gotten more rank from there. Not knowledgable enough to weigh in on Linux and Unix GUIs.
- AshamedCaptain 3y ago> I miss the days were UIs were /crafted/ not just decided for you bad a bad 'layouting' engine with huge rectangular flat buttons and no sense whatsoever of 'design' or usability. I couldn't disagree more regarding 'layouting' engines. I absolutely detest pixel-perfect English-only UIs that basically look like a mess the moment anything (including font DPI) changes. You CANNOT imagine how much pain the work of the translator is and it just doesn't matter because it will look horrible anyway, specially the more "smarts" the original English form designer applied. I want to enlarge the fonts, reduce the size of the useless icons, and set black backgrounds, and no amount of "creativity" from the original designer is going to convince me to lose that flexibility. I'll also translate to my native tongue thank you very much. Flat buttons and no usability testing is another story, of course.
- exe34 3y agoThis is why we can't have nice things.
- buserror 3y agoIt is not terribly difficult to make 'crafted' UI localizable, there are a few rules to follow that's all. I worked for apple back in the day and shipped software translated in countless languages, and the same 'crafted' UI worked pretty well in all cases. Of course there are always exceptions, and 'modern' HiDPI present issues if all you do is use hard coded pixels as a unit, but it is still manageable.
- Kwpolska 3y agoWould it work if the other language increased the text length twofold? How about right-to-left languages? What if the language is sensitive to numbers and putting a numeric textbox in the middle of a sentence would require the sentence to change phrasing significantly depending on the value? Here’s a screenshot of the Windows Vista start menu in English: https://cdn.arstechnica.net/wp-content/uploads/2015/07/Screenshot-2015-07-22-09.46.36.jpg https://cdn.arstechnica.net/wp-content/uploads/2015/07/Scree... As you can see, it’s a nicely crafted layout, with the power buttons at the bottom taking up all the available space, and the thin separator lines below "E-mail", below "Games", and above "All Programs" are taking up the entire widths of the boxes they’re in (minus reasonable margins). Here’s the Polish version: https://ia902303.us.archive.org/24/items/WinVistaSP2AIOPLMay2017/1%20%282%29.png https://ia902303.us.archive.org/24/items/WinVistaSP2AIOPLMay... The awful translation made both columns of the menu much wider, making the separators look too short, and adding blank space next to the power buttons.
- sirwhinesalot 3y agoAlready better than GTK4
- deleted 3y ago[deleted]
- zozbot234 3y agohttps://github.com/B00merang-Project/Mac-OS-9 https://github.com/B00merang-Project/Mac-OS-9 includes a GTK+4 theme. If you like the "High Contrast" look, check out https://github.com/B00merang-Project/System-4 https://github.com/B00merang-Project/System-4 too.
- desiderantes 3y agoVery apt username
- e40 3y agoGlad you didn’t post tomorrow. The one day of the year I don’t look at any HN or Reddit or any social media sites. I hate April Fools pranks.
- proneb1rd 3y agoThis looks great. I wish I could switch my entire MacOS ui to that.
- carlosjobim 3y agoActivate high contrast mode from the accessibility settings and you're almost there.
- yjftsjthsd-h 3y ago> In the 'example' folder, the playground demo copies it to an X11 window via a XCB 'shared' pixmap, so works great even via remote X11. The library is 'smart', like the old OSes, it keeps track of 'invalid' regions, and only redraws what is needed, so theres very very little overdraw. So it actually is technically superior to most (all?) "modern toolkits. Nice:)
- deleted 3y ago[deleted]
- eitland 3y agoNot a Mac fanboy even if I now use a Macbook Pro for most of my work (and like it). But this is good. I mean: anything that brings back some sanity. Clear unambiguous controls. Menus instead of gear icons, hamburger menus and fly droppings. Great work!
- tomthehero 3y agoModern UI is confusing and disgusting. They're more magazines than useful software.
- ndiddy 3y agoNice project, I really liked the old classic Mac UI. All your examples look great and it seems easy to use from looking at the widget demo code.
- kstrauser 3y agoThis is gorgeous. Well done! My only nitpick is that MUI is already the name of an Amiga GUI toolkit. A widget lib named libmui is not what I’d think it was.
- deleted 3y ago[deleted]
- Findecanor 3y agoMagic User Interface (MUI) is still the primary toolkit on MorphOS, in addition to being the go-to toolkit for many newer Amiga programs as well. When it was released in 1993, it was very modern. Object-oriented, scalable layout, simple to program, themeable and very customiseable. I wouldn't be surprised if the developers of Qt, Gtk and SwiftUI would reveal that they would have taken inspiration from it. https://en.wikipedia.org/wiki/Magic_User_Interface https://en.wikipedia.org/wiki/Magic_User_Interface http://www.sasg.com/mui/ http://www.sasg.com/mui/
- daviddlhg 3y agogtk+/gnome folks were apparently at least vaguely aware of Amiga MUI e.g. discussing it in a context of implementing theming/styling in Feb 1998 - https://lists.gnome.org/archives/gnome-themes-list/1998-February/msg00024.html https://lists.gnome.org/archives/gnome-themes-list/1998-Febr...
- rcarmo 3y agoAmazing. Now all we need is for this to replace all the Electron stuff out there, and sanity will be restored on the desktop.
- deleted 3y ago[deleted]
- klodolph 3y agoI know that this is picky but the old Apple Human Interface Guidelines specify things like how much distance you put between different elements! Try it out. Go for the 1992 edition of the HIG, for this System 7 look. Like, when you have a dialog box, you have a certain number of pixels on the left, right, top, and bottom. The buttons are a certain number of pixels apart. If you look at old software from the very early days of the Mac, you’ll see that it’s kind of the wild west of user interfaces—either the HIG wasn’t out yet, or people weren’t reading it. The HIG also has a bunch of good practices for thins like how to name buttons and menu items. Buttons should ideally be single words, and should be verbs. Menu items get a “…” ellipsis if there’s a dialog box that appears before you perform the action. The book shows how common interfaces look in non-English languages, like Arabic, Hebrew, and Japanese.
- deleted 3y ago[deleted]
- actionfromafar 3y agoGood thing we innovated away all of that. Now we have hamburger menus and magically disappearing UI elements.
- hnthrowaway0328 3y agoYeah. No.1 PIA is a thin scrollbar on Serious Sam Mental difficulty.
- amlib 3y agoThin overhead super low contrast scrollbars that keep disappearing and have a hitbox even smaller than the visual part. I hate how this thing seems to have infected every single software. I've been using computers since I was 10 years old and these things give me some trouble, imagine someone who is not as comfortable with tech or has some disability, even a minor one. It's a trainwreck.
- raybb 3y agoHere are some screenshots and links for the 1992 edition of Apple's Human Interface Guidelines. https://safereddit.com/r/MacOS/comments/me2r7j/macintosh_human_interface_guidelines_from_1992/ https://safereddit.com/r/MacOS/comments/me2r7j/macintosh_hum...
- deleted 3y ago[deleted]
- deleted 3y ago[deleted]
- jimbokun 3y agoLoved the FAQ.
- felipefar 3y agoI liked the dual header 2D graphics rasterizer that this uses: https://github.com/xboot/libcg https://github.com/xboot/libcg. I'm always amazed by how we can build powerful software with minimal dependencies like that. Would it be that hard to build nice, clean and powerful UI libraries as alternatives to Electron?
- musicale 3y agoNo. But then what would we do with all of the extra memory and performance?
- buserror 3y agoExtra memory and performance is invariably passed down to people who will come up with lovely bloat to fill the void :-) I find it quite horrifying in many ways to see how much resources are used for so very little in terms of user benefits. Not just 'UI' per se, but just general functionality. And the 'reasons' are always the same too, 'it is more maintainable' (read: it is not, in 2 weeks time the new version of your stack will break your 'code'.), 'it is easier to read for a newcomer' (read: no, not at all, it is just this week's fancypants trend), 'it is more secure' (read: just because we don't actually KNOW what it's doing, and rely on hopefully someone else for it) etc etc.
- jfb 3y agoThe real reason is always the same: it's cheaper. That's just the way it goes.
- jhatemyjob 3y agoThis is incredible. It's MIT licensed AND written in C! If you added shims for the AppKit APIs this might give GNUstep a run for its money.
- anthk 3y agoOr just theme GNUStep, it supports themes like this.
- jhatemyjob 3y agoSure. But the problem with GNUstep is the GPL.
- OnlyMortal 3y agoThat’s very cool. I wonder how much effort would be needed to read resources from a resource fork (.rsrc) to create UI. If it could be done, ResEdit could be used :-)
- wiz21c 3y agoGreat Job !