RavynOS – Finesse of macOS, freedom of FreeBSD
ravynos.com
ravynos.com
I wonder though, why start with old Objective-C cocoa APIs instead of Swift?
(I'm saying this as someone who would be more inclined to contribute if it was written in Swift.)
* They definitely did not start with Objective-C and a blank slate here; they're folding in monumental amounts of third-party code
Around minute 4, or go through the transcript.
Likewise for AppKit.
Apple, the “do as we say, not as we do” company.
Could bootstrap this by looking at everything in Homebrew (including casks) and sharing whether it seems to work on RavynOS yet (or whether it's ambiguous, and how you can help disambiguate).
I'm using sysutils/docker on FreeBSD with DOCKER_HOST env var set to "ssh://user@linuxvm" where linuxvm is a local VM running on bhyve[1]. Part of local FreeBSD filesystem is shared with the Linux VM via virtio-9p passthrough. Everything plays together nicely.
nerdctl[2] works with sysutils/containerd. You can't run Linux images on FreeBSD kernel (Linux jails may be an option) but there are FreeBSD images. Pkgbase[3] aims to make FreeBSD more modular, divided in chunks smaller than "base", "ports", "src"; feasible for containers.
[1] https://wiki.freebsd.org/bhyve
I'm generally a bit sceptical of this "copy macOS" idea. It isn't a particularly amazing operating system, it is mainly just very well supported by third parties considering that it is a unix. You won't have that if you recreate it in this way, and I'm not sure if you will be left with a very good experience.
Last but not least HaikuOS deserves some forward look
A macOS-like operating system based on FreeBSD - https://news.ycombinator.com/item?id=28087092 - Aug 2021 (67 comments)
Airyx OS - https://news.ycombinator.com/item?id=28068542 - Aug 2021 (254 comments)
Other than that it looks interesting, a sorta-Mac-aesthetic sorta-BSD.
And I actually like the UI and configurability of KDE.
So no, I'm not going to use it but it probably could have made me move to FreeBSD a few years earlier. But with this kind of 'copycat' I always wonder if they manage to support a large enough ecosystem to make it work well. After all the biggest selling point of macOS is traditionally the 'just works' principle. Using FreeBSD as a daily driver I know the hardware/driver side needs a lot of tinkering. Which I don't mind, but macOS users would.
I also wonder about their business model, it seems to be a company?
Good luck to the developers!
Yes, they definitely need some good luck, but sometimes rewriting the world is necessary to one day invent something new, or just eliminate architectural issues that are too entrenched in the old code to be easily circumvented without adding bloat and/or bugs. The price to pay is lagging behind the competition, with a potential bigger payoff only later, for those who persist. I see roughly a similar approach with the PinePhone: they probably went like "the heck with reverse engineering other phones, we make our own one from scratch!"; the result as of today is a ~90% working slow phone that very few among non tech users would want, but we see the much bigger potential if and when they'll reach hardware performance at least comparable to known brands. It takes courage, perseverance, and luck.
I've been involved in two rewrites during the past 5 years. While the rewrites were not by choice (one was forced by Flash EOL), in both cases there were multiple, very obvious (after the fact) benefits:
- Better, modern technology top to bottom
- Better dev process, facilitated by the better technology
- An excuse to focus functionally, and rethink. We couldn't possibly reproduce a heap of legacy features and were forced to focus on what mattered, and managed to offer those key features in a far superior way.
Done right, a rewrite can be fantastic. And sure, rewrites often happen for the wrong reasons and at the wrong time.
I'm a KDE user since 2010 and a week ago I purchased an M1 Pro (hopefully to install Asahi in the future). My desktop was basically a top bar with global menu, a few widgets and Latte Dock.
If I didn't know that Mac came up with the functionality before, I would think that it is Mac that feels like a skinned KDE
1. Antialiasing of fonts, how crisp and clear does it look on my screen? Windows has struggled with this especially after ClearType.
2. Alignment of elements in various applications. The traffic light window controls look way too far into the app's header. Find a happy medium, copy macOS's spacing.
3. Is the contrast in colors strong enough to tell me this was designed by someone who has some design (hopefully color theory background) or was it just an attempt to use many colors?
I noticed that too on the screenshots page. And it's weird cause it looks right under the "features you'd love" section on the main page. It looks like most of those images (the traffic light buttons, global menus, folder icons) are faked to look like macOS but then the screenshots don't actually look like that.
If you find your fonts rendered to thin compared to macOS you may try changing some of the freetype settings, such as:
FREETYPE_PROPERTIES="truetype:interpreter-version=35 autofitter:no-stem-darkening=0 cff:no-stem-darkining=0"windows clear type is using pixel-accurate subpixel smoothing, it works only in one direction with correct subpixel pattern
what people (including me) dislike about windows fonts is aggressive hinting, that is snapping font shape to pixel grid, it made sense in displays around VGA (640x480) but does not make sense on FHD screen
As an aside the PPI of my screen isn't that different from the PPI of my 15" CRT running 1024x768 (both are about 100). Note that there was less than 15" of usable space since CRTs were rated based on the tube size, not the visible size.
Also, the hardware. (It is much harder to make it work reasonably well across so many platforms without an army of full time devs.)
That's a genuine question, I just read yours in a few different ways.
However, I'd argue that relatively small details just fall into the category of overall interface polish. Not just aesthetic people polish, but the category of things that make you put your hands to your face and scream in frustration.
But yes, there are definitely important details in other layers that are worth considering. I think that when people make comparison's though, beetween macOS' level of finesse and something else, that finesse is defined by polish at most levels of interface with that hardware and so on.
Moreover in my opinion the contributor pool might be thin, most potentially interested users would prefer using MacOs, and most linux users being notoriously not fond of the lack of configuration. Happy to be proven wrong!
----------------
helloSystem: We have been in fact working with helloSystem! As some people have noticed, Release 0.2.X was basically helloSystem. (That was the second PoC. The first had been built on vanilla FreeBSD and had no GUI at all.) Under the hood, however, release 0.2.2 has a partial implementation of Cocoa, a modified compiler & linker that support frameworks, and several other additions that make it distinct. We have similar philosophies, and share technology and cooperate where it makes sense (e.g. Filer), but the project goals are quite different.
helloSystem wants to create a computer that is simple to use, open, elegant, small and fast. Older Mac OS X and Classic are an inspiration to what that might look like, but they are not explicitly trying to create an open-source Mac. In fact, they're mostly avoiding Objective-C and XML plists and other Mac technology in favor of simpler and/or more modern ways (e.g. Qt, C++, JSON).
ravynOS is explicitly trying to be compatible with Mac software at a source and eventually a binary level, without losing support for FreeBSD/X11 software, and to implement a very similar experience on the desktop and at the command line. For example, on ravynOS you can type open -a MyApp image.jpg and have image.jpg open in MyApp. You will find things in (mostly) the same directories as a Mac, like ~/Library or /System/Library/Fonts. This project is not as concerned about keeping the OS as small and simple as possible, and more concerned about making it clean, secure, performant, and compatible - implementing many of the features I use daily in macOS while skipping the lock-in and "tabletization" of the computer.
Some of the more technical differences between ravynOS and hello are:
- ravynOS uses a patched kernel with support for Mach, just like xnu, and a compiler suite that supports Frameworks and has preliminary support for Mach-O as well as
- ravynOS has a package repo with software built to "standard" paths like /System, /etc, and /usr instead of the FreeBSD repos which are built into /usr/local
- ravynOS desktop is being written from scratch with Cocoa, Mach, and OpenGL on a Wayland compositor, where hello's desktop is based on openbox, Menu and Filer (originally from LXQt) plus other lightweight services for notifications (dunst), screen color temperature (redshift) etc
- helloSystem uses a simplified .app structure whereas ravynOS uses real Bundles for .app
- helloSystem tends to use typical Unix paths and files, while ravynOS is moving towards typical Mac paths and files
- ravynOS tries to provide the same APIs as macOS
Nothing against FreeBSD (happy user here) so there's probably some good reasoning behind this.
The short answer is "hardware support". ravynOS should run on most commodity x86_64 hardware using FreeBSD's very stable and performant drivers.
The longer answer is that plus I don't see any real advantage to using xnu. We have merged in Mach support now (big thanks to NetBSD, NextBSD and the iX Systems folks for that) so the xnu approach just seems to add complexity and the effort of writing and maintaining drivers.
Considering how big this project is already, I opted to stick with the BSD kernel - at least for now
(btw, I don't know much about this kind of work, so I have no idea if it's feasible to port the drivers from Asahi to FreeBSD, or if they'll have to start mostly from scratch)
Mach the kernel, the IPC system, or the binary format?
PureDarwin was (is?) an attempt that hasn’t been able to break through those headwinds.
This is more than a little ridiculous and you know it.
Maybe the issue is something else entirely?
This OS sounds like a dream for me, but I have to imagine it will take many years and a lot of willing experimenters to make it usable. I wish I had that kind of time.
> You will need real hardware to run it.
Why doesn't it work in a VM?
Looks interesting enough to play around with but for such an ambitious project VM support should be one of the first dev priorities not only for dev and testing but for users wanting to take it for a spin.
Whenever I see something that looks like a poor copy of something else, it has an immediate (negative) effect on me from quite deep down.
It’s a variation of the uncanny valley I think.
The UI screenshots on the landing page all look like “best effort” copies of macOS UI elements but are just slightly off and that “slightly off” feeling really sits badly with me. This is not a intellectual judgement but an instinctive gut reaction.
I totally get what they’re trying to do, but I think it would be worth creating just a tiny bit more distance from the macOS design language because if you try to be a direct carbon copy of macOS, it’s just going to fail at at that.
It’s a bit like when you see cheap knock-off products replicating those of mainstream brands. The knock-offs could actually be quite well made but because they’re imitating other products they just don’t ever look right, and the failed imitation aspect overshadows everything else.
I wonder what others think (especially the macOS users amongst us).
Aside from that, I think the idea of the project is cool. It just needs more of its own identity I think.
Does this mean a mach emulation layer on top of or in the freebsd kernel?
Interestingly, it's a feature introduced to CSS way back in 2015. There must have been some major blockers on getting that out the door if it took ~7 years.
I believe that a bigger factor today is the third party support for your system.
stuff like teams not working, or netflix not being able to stream in 4k makes me still keep my windows machine, even though at this point its basically a firefox / vscode terminal with extra apps and of course a system level integration of docker.
Im pretty sure there is enough room for a true developer OS but it still needs to do all the "little" things that we have grown accustomed to.
I get the desire to avoid X11, but why write a GUI from scratch instead of using Wayland?
From a technical standpoint, maybe it won't matter, but I am concerned about the fact that they're using (at this time) a Wayland compositor. I have read that Wayland has some problematic technical design decisions (which were not known when it was conceived) and now today we have the awful situation where most apps in my experience run better in X.org and some are ok in Wayland. From an eyestrain perspective, I find x.org less straining to look at than Wayland. This may have something to do with the drivers but the compositor plays a role for sure. I don't use Wayland by choice. Name a widely used app? Sure, Firefox web browser. Turn on "Use autoscrolling" in the preferences and see how it is. On X.org it is smooth, on Wayland it uses XWayland instead and is not smooth. Both projects are years old. Every single X11 app requires programmers to re-write/convert them to native Wayland. It should have just broken compatibility from day 1 and started from scratch.
BSD DRI drivers are copied over from Linux, just older versions of them, so I don't have a lot of hope that there will be new drivers or a new compositor (likely years away).
Apple, while Darwin is a direct descendant of FreeBSD, Apple is not using Linux DRI drivers, they have enough NDA access that they have their own closed drivers, and instead of using X11, they made their own GUI stack.
I want to say what should be done is to do what Apple did, make a brand new gui stack on top, but that's incredibly difficult with limited resources. With Apple or MS you have endless amounts of money and developers, with X.org & Wayland you have years and years of incremental development. It's tough.
A typical examples is global hotkeys. On X11, any application can monitor all keystrokes at any time. On Wayland, applications only get keyboard events if they're in foreground. Global hotkeys must be done via a separate compositor API. This breaks applications which expect to be able to detect keystrokes when they're in background, but the "feature" they relied on also allows any random application to include a keylogger. Such applications need to update.
You mention Firefox uses XWayland. Firefox also has native Wayland support (I'm writing on it right now!). This is likely a mis-configuration at some level, or maybe the Firefox version is too old.
OTOH, things like scaling are completely broken on X11, and while the hacks around it improve over the years using a HiDPI display will likely never be as smooth as on Wayland. And if you have a laptop with a HiDPI display and a LowDPI external monitor, one of them is going to suck forever on Xorg.
We are, of course, on a transitional period. A lot of applications still need refinement. Qt in particular still has lots of bugs on Wayland. But these can be fixed, there's no broken design decision which makes them unfixable.
Edit: my mistake, RavynOS isn't a Linux distro!
Why? Because it will always be (far-ish) behind macOS features.
You may also want to take a look at OpenStep and Window Maker.
Otherwise, Elementary GUI on Gnustep is pretty much it.
first question, https://ravynos.com/faq.html
Elementary is just a nice skin with some particular tweaks and add-ons. Etoile’s goal was more akin to what they’re trying to achieve here, an actual Objective-C+Cocoa user space with a Mac compatible open library,
It seriously had worse UI design decisions than Gnome 3.
Specifically:
- I really miss a decent address bar in finder that can be edited directly
- some windows on mac are always on top, preventing access to other windows. E.g. Password dialogs for encrypted hard drives.
- "Cut" does not work for files in finder, severely complicating moving files
- The Maximize button does not maximize, but instead enters full screen, meaning that I never use it
- There is a delay of ~100ms when pushing caps lock on the keyboard that can not be turned off without installing karabiner elements
- Pressing enter in Finder renames a file instead of opening it, an action that is rarely needed and extremely unintuitive – this erroneous behaviour can also be corrected with karabiner elements
- Sometimes audio balance will randomly shift to the left or right with bluetooth headphones, had to install yet another app to auto-fix it every time it happens because Apple is too daft to fix the bug.
- There is no delete key on the Mac keyboard, meaning that deleting a file is suddenly a two- key shortcut combo, whereas it is much easier on Windows/Linux (hit delete). Sigh.
Sure some could be better, but changing these would upset the whole user base. (And mac users could claim those things broken in kde in the same way)
I have used windows, gnome2, gnome3, xfce, mac and so on and dislike kde, and gnome3, and all the others. Even mac is really dumb sometimes, but macos is the most polished by far.
I can read in the news more or less every day that fundamental things like input devices, monitors, audio, or basic GUI features are messed up or bluntly broken in macOS. People already "joking" that one needs to way at least two or three point releases before trying out major updates. That's even worse than the situation on Windows by now (and MS is also breaking things with every update).
As a Linux user that uses a "perpetual beta" distri (Debian Testing) I'm horrified about such news. Comparable breakage does happen on my OS maybe 2 times in a decade on average, and when some catastrophe like that happens (monitor stops working, no audio, USB not working, or such) it's usually fixed within hours!
Both Gnome and KDE are better desktop environments, heck even Windows 11 has done a better job (although they ruined the taskbar now).
The mere fact that you can not change things to your liking on Mac proves my point. You have to buy- and install third party applications from developers that you do not know or trust, and that is just to fix some of the most basic issues. Microsoft recently also decided to go down this route, and have now sabotaged their own Taskbar, preventing users from moving it.
It has nothing to do with "not being used to the Mac-way" – these things are just worse on Mac. There is nothing good about not having direct access to the location address in your File Manager, or not being able to change this stupid default behaviour of various keys and UI elements.
The ability to use "cut" on files, and actually change location by a text-based address bar are both to be considered core features. It is entirely brainless and inconvenient that we have to hold in "option" just to get a "move files" option to show up in the right click context menu.
> Sometimes audio balance will randomly shift to the left or right with bluetooth headphones
> There is a delay of ~100ms when pushing caps lock
Another seems objective not subjective
> Pressing enter in Finder renames a file instead of opening it
Who thinks the enter to rename is reasonable?
Decades of MacOS users?
What made me stick with the platform though was never having to worry about drivers, and updates being polite and patient, and not being bombarded with a billion ads everywhere like in Windows or Ubuntu. Also not having to drop into the command line to change monitor settings is nice. And the M1 is just soooo nice, fast and quiet and cool, no x86 laptop is even remotely close anymore. They put the ThinkPads, my previous favorite, to shame.
So yeah, to your point, the dumbed down UI is a pain, but the rest of the experience is so much nicer now. I'd take needing a few extra apps over having to go back to desktop Linux...
I can't remember the last time I had to do this on Linux. Sometime in the the 90's, I think.
It's like a race to the bottom to please an elusive lowest common denominator class of users that doesn't exist. I find these other "modern" UIs incredibly condescending.
Instead, discoverability should be #1, creating soft, natural learning curve that welcomes new users without capping or hiding advanced functionality.
Also, you can also fix the "caps lock" issue by remapping it to "control". Completely fixes the "caps lock" button. It works on Linux too! ;)
And of course, a "always on top" flag would have been really nice for dragging and dropping between windows. That option is really nice in KDE, but missing on both Mac and Windows.
Press Command-Shift-G and it will appear as a small window. (I haven't figured out how to do this in a "Open/Save File" dialog, so if anyone can chime in, greatly aprreciated)
> "Cut" does not work for files in finder, severely complicating moving files
It's annoying that there is no shortcut equivalent, but if you need to actually move a file either drag and drop it, or press Option while right-clicking in the target Finder window - the menu entry will change from "copy here" to "move here".
> The Maximize button does not maximize, but instead enters full screen, meaning that I never use it
Yuck, yeah. Very irritating. Use SizeUp, well worth the 13 US$.
It breaks my normal work-flow when I am on my mac, which is most the time nowadays.
There also is a shortcut for moving files, but I do not care about that.
this is something that should be done everywhere, if it isn't, it's a potential security issue.
Trust me, the alternative is much, much worse. You do not want users using the same password everywhere.
I use a password manager, passwords are encrypted and only briefly available doing the copy / paste operation. It also has an auto-fill option which further limits the attack surface.
KDE is much more respectful towards users, because you can actually remove/add the "always on top" flag as needed, and that IS the way it should be.
Luckily macos is extensible so you can create your own service for that.
What is the shortcut for "paste and move"?
The way Mac handles copying and pasting text is also horrendous, because it also copies the styling, something I actually never need to do. The way to paste text without styling is a horrendous long, and inconvenient keyboard combo.
Other system does that too, but it is just less often an issue. Typically what I do instead is I have a plain text window open, paste my text in that, then copy it again, and finally paste it in the intended destination. It is piss annoying
Oh, ok :)
I read the title--finesse of MacOS. I open the link, and the first thing I see at the top is the circular raven logo vertically misaligned with the header on mobile.
That made me think, okay let's try desktop version instead, so I switched to desktop render (still on mobile browser) -- this time the logo is vertically aligned but the padding / margin on top and bottom are lower than on the left.
This is of course nitpicking in the larger scheme of things--I haven't tried the OS, but the screenshots look great and definitely look like MacOS. However, with the title setting up expectations and the first impression being of a misaligned logo made me (unfairly) dismiss the project since I felt you were trying to claim a level of finesse that might not be there.
I don't use Linux, so I'll never really use this product, but it's interesting to me--why do people / projects/teams (in general--not just this product) try to emulate the "finesse" of Apple products? To me, it sets up unrealistic expectations from that product, and I might dismiss an otherwise excellent solution if it doesn't live up to that comparison.
Some do, but many look quite janky -- for example, check out the grey menu bar with Windows-98-style underlined shortcut keys in this one: https://ravynos.com/images/airyx_0.3.0pre_about.png
Perhaps I'm missing something, but this doesn't seem particularly visually different than the "aqua skins" that have been available on *nix for years.
Because people like them. Why do all sedans look kind of alike? Why are there dozens knock-off chairs that emulate the Aeron? Some people, myself included, really like the look and feel of macOS, but may want to run *nix instead. Enough of those people got together and made an OS.
Isn't it FreeBSD?
This is closer to macOS than it is to Linux.
I know why these kinds of pseudo words are chosen for products, they're unique and easy to search. But there are better ways to do this IMO. FreeBSD is a prime example of a great product name.
Was there other issues that bothered you?
What I did notice though was th first screenshot with the red, yellow, green buttons of osx window titles.
I think this is a really bad design, and I don't understand how people can like this.
Sure, nice round "buttons", but very unclear what their purpose is.
I think this is something of a red line through Mac/iOS: The preference of unclear user interface that "looks good" instead of a clear interface that communicates with the user.
I've used Mac for years, and still don't know what the yellow button does.
I like the idea of this new OS, but please make better design choices that Apple :-)
Minimize. That’s what the yellow button does. It’s as simple as clicking it once.
Is this common? I used it on windows but for years now, I have a ton of windows on top of each other or I just cmd+w my way out of one.
Maybe this is the idiomatic way and I’m not an outlier though. Is it?
But that involved portable thousands of hours interviewing and videotaping regular people trying to use Windows and then addressing issues found.
What do you think would be better? Can you give an example?
It can be tricky to make everything self explanatory, but at least if you use icons or text rather than just colour you give the brain something to help you recognize.
It feels in passing like a lot of work to build a skin/UI that will always be a few generations of the design language behind and not quite there, just given the volume of staff at Apple and them being the ones defining where their design language goes.
Like a choice between a Porsche and, according to Google a Zotye -- they'll look close but one will be the obvious "genuine article."
Would it not be better to take all that talent and consider a fresh approach to the user experience of a personal computer?
Unrelated to RavynOS, but I see the size of the Apple staff more like a weakness not a strength. They became terribly inefficient in the recent years.
For me it fits-to-content both vertically and horizontally. I just tested in both list- and icon-view. Mac OS 12.
> When I close a window and then press Cmd+tab, the icon is still there
This is because the Mac UI application/document conceptual model, which has been consistent since at least the 1980s. An application is either open or not. If you have multiple documents open, they are open within a single instance of the application. You can also have zero documents open. The application doesn't quit automatically when you close the last document.
Other operating systems flatten these two concepts into one, such that each new document appears as a new instance of the application.
I'm not suggesting one is better than the other. Just that I don't consider this a lack-of-finesse since it's been my mental model for 25+ years.
I'm also not disagreeing with your overall point. I can think of plenty of inconsistencies and lack-of-finesse in modern Mac OS UI, to be sure!
It drives me nuts on Windows that when I close FireFox the entire APPLICATION closes! I just wanted to close the window. Now when I start it again / open a new window, I have to enter my LastPass credentials. And pay the boot penalty.
IMHO, a multi-window app should not exit when I close the last window.
Linux Desktops and Windows both do this, macOS does not.
On Linux' Firefox, this does not seem to be the case. I just confirmed by closing a window with a few dozen tabs, and my other windows were perfectly fine. Same goes for VS Code, IDEA, Ghidra, Tilix, etc. This might be Wayland-specific behavior, but closing one window does not appear to take the rest of the apps with it (unless they were a child process).
But you always need ONE child window open or it will exit entirely.
MacOS has a different approach, where the application top level process keeps running, even if it has no windows, but this requires some sort of GUI element to communicate with application.
And with Firefox, it would make the "Restore all tabs on open" not work, since clicking X didn't close the app, and thus pressing Firefox again would just create a new empty window. For it to work, I had to not use the red button, but cmd + q or the menu bar.
Of course, I'd argue that maximise is the intuitive thing to expect, but the behaviour is not strictly broken, just... odd.
The behavior is inherited from the classic Mac OS which initially predates and was developed contemporaneously with Windows. Apple assigned one behavior and Microsoft assigned another. To the extent that one is “more intuitive” it’s because your expectations as to what should happen is different, and “maximize” is a lot easier to behaviorally define, describe and program than “zoom” so GUI programmers preferred it, or knew it better because the behavior and conventions they mimicked in X window managers were taken from what Microsoft was doing at the time.
When screen resolutions are 640x480 or 800x600 or even 1024x768, maybe you just want maximize all the time; but maximize is an anti-feature to me on anything bigger.
This behavior is called “Zoom”, and it’s defined per-application by that application. You could change that system-wide to minimize.
> […] when I close a window and then press Cmd+tab, the icon is still there, and if I select it nothing shows up.
Yes, the application hasn’t quit. You’ve only closed its last window.
To further expand on this, this is also application-defined behaviour. The application can choose whether it wants to stay open or close. This is no different from Windows (e.g. closing a Spotify window will just minimize it to taskbar), it's just that Cmd+Tab by default shows all running applications, whereas Win+Tab/Alt+Tab on Windows by default shows open windows.
If I want the app closed, cmd+q / alt+f4. Repeated cmd+w / ctrl+w shouldn't also close the app (IMO).
In either case, I find both implementations sloppy. Apple's solution is complete but redundant, and Windows' solution is simple but lacking. I have to give it to KDE and GNOME, both desktops manage to 'fix' this problem by encouraging people to minimize apps they aren't using. Your (X) icon still has the magic power to kill processes, and you get to keep your precious applications when you're done using them. Boom, no need for ultra-complex Application/Window/Form/Dialog hierarchy for the user to wrap their mind around. Simple solution to a simple problem.
Closing it via the "x" will minimize to tray and hide (which is the behavior I want, but an example nonetheless)
The default is usually ctrl-shift-c to copy and ctrl-c to send sigint - but setting the copy command to ctrl-c will usually flip them, making sigint ctrl-shift-c.
I enable this on basically all the terminals I use. I also immediately rebind cmd to ctrl in mac, since I can't stand the RSI inducing placement of the cmd key.
On Windows, ctr+c in a terminal will interrupt a running process, or, if text is highlighted, will copy that text instead of interrupting.
It works really well, and took me a long time of doing this without issues to realize what I was actually doing.
The original 1984 Mac keyboard did not even have a Ctrl key, it was added to later keyboards as people wanted access to terminal applications.
Example on Kitty, my current preferred terminal emulator this is just a few map directives away in the config:
map ctrl+c copy_to_clipboard
map ctrl+v paste_from_clipboard
map ctrl+shift+c send_text all \x03
Cmd+, opens preferences in every app.
Cmd+[ or ] goes "back" and "forward", in every app that has those concepts
Cmd+Shift+[ or ] switches tabs, in every app that has tabs, except a handful of stupid chat apps who think they're too good for it.
Cmd+W always closes the current tab, if the app has tabs, (or current window, if the app has no tabs), and does not quit the app – that's what Cmd+Q is for.
Etc.
Also notice how PageUp / PageDn, keys that my keyboard doesn't even have, are not used for crucial shortcuts like these.
Seemingly small things, but absolutely maddening when developers don't respect the common convention, or when a common convention does not exist.
I always thought this consistency was a feature of the app ecosystem and app developer attitudes rather than the OS itself, so I'm not sure what RavynOS can do to make third party apps obey their idea of consistent shortcuts? The wiki doesn't mention anything about shortcuts despite the language on the home page.
Cmd+Shift+, opens preferences in every app.
Alt+Left or Right (or Back or Forward) goes "back" and "forward", in every app that has those concepts
Cmd+Tab or Cmd+Shift-Tab switches tabs, in every app that has tabs.
Cmd+W closes the current tab by default, if the app has tabs, (or current window, if the app has no tabs)
Cmd+Q quits the app.
Etc.
What's again so special about macOS?
One needs only to avoid GTK stuff, Electron, and Windows Software, and one gets perfectly consistent behavior.
And those behaviors can be "even" configured globally! (That's something to mention specially of course when talking to Mac users as such an advanced feature like "configurability" is notoriously missing in the Apple universe).
So as long as one avoids all the inconsistencies then one gets consistent shortcuts? ;) Only using Qt apps on Linux is very hard. A lot of good apps are GTK or Electron. On macOS there is no GTK & Qt divide and Electron apps are very good at implementing macOS shortcuts. Hence you get more consistent bindings.
Also, many bindings are absent even in Qt app. For instance, on macOS you have Emacs-style bindings in every app (Ctrl+a, Ctrl+p, Ctrl+k, etc.). Those are very useful. You can get them on Linux (at leasts in GTK apps) but it's very hacky and it conflicts with a bunch of stuff, whereas they fit right in on macOS. Cmd+Shift+/ to search all menus is also super useful and I don't think you can do that on KDE.
> And those behaviors can be "even" configured globally! (That's something to mention specially of course when talking to Mac users as such an advanced feature like "configurability" is notoriously missing in the Apple universe).
If you don't think macOS can be configured then you are mistaken. It can't be configured to the extend that KDE can that is true (some of us consider that to be a feature). But a lot is still possible. As an example, kindaVim adds vim-style keybindings to every app which is kinda cool.
There are even whole distris doing that… ;-)
I have hardly any GTK app installed and I would not know what I'm missing. (Firefox uses GTK but it has it's own UI anyway). Electron? That's the plague of modern times. Besides VSCode (which I will switch away in a blink as soon as the alternatives are ready) I don't use any Electron peep. Also here I would not know what I'm missing.
But of course, it's only me. YMMV
> Cmd+Shift+/ to search all menus is also super useful and I don't think you can do that on KDE.
Global menu is of course integrated in KDE. You can even use it form KRunner (of course with fuzzy search).
https://libreddit.northboot.xyz/r/kde/comments/r85jcz/tip_yo...
I think the idea of using a "HUD" in KDE is actually even older than the macOS feature.
https://github.com/Zren/plasma-hud/
> If you don't think macOS can be configured then you are mistaken.
Apple products are made for the mass market. That's one of the reasons they actually follow the same philosophy as Gnome. What this means regarding options everybody knows I guess:
Options are hard to maintain and "confuse the user".
So Apple products are dumbed down even more with every release. (They even replace perfectly fine working software with "touch-ware" in the attempt to make everything more tailored to the causal users).
Not sure if this is what you're talking about, but KDE now has KCommandBar (or some name like that?), a HUD menu that can be invoked with Ctrl+Alt+I.
Though I as a KDE fan concede that the need for some GTK stuff is kinda disappointing, for me Firefox and Inkscape (can't care less about Electron stuff, though). Inkscape AppImages have turned out very handy, but alas the Firefox ones don't bundle GTK so you can't have a GTK-free system if you want to use Firefox.
Still though I don't think something as configurable as keyboard bindings are too much of a deal to promote or convince people about a DE or a OS.
I'm sure there's other programs on MacOS that don't follow the global key bindings.
Now, copy and paste. It is cmd-c in mac, in ubuntu you can’t tell me unless I tell you if I am in a terminal or not.
But most of all, readline shortcuts ctrl-a goes to the beginning of a line in nearly ever mac app. Not so in linux.
But the issues aren't Linux specific of course.
KDE is by now one of the most lightweight¹, stable, and usable desktops by far.
And KDE is completely configurable regarding look&feel. You can make it by now even look and behave like any other desktop with one click using global "themes" (the feature switches more than the theme; that's why I've put the term in quotes).
https://store.kde.org/browse?cat=121&ord=rating
¹ KDE beats mostly everything in this point, except maybe raw WMs and LXQt. Yes, it's more lightweight than say the GTK3 based Xfce by now… The "magic" lies to one part in Qt that gets optimized for embedded applications now for many years, and all the work in optimizing KDE itself after it got bad rep one and half decade ago for being bloated (which was indeed true back than; but they learned the lesson; only the internet FUD never dies).
For those more familiar with Windows and probably most Linux conventions, Home/End won’t behave how you want but they move to the start/end of a scrollable view (which IMO is more useful).
In most any app ^a will be your Home equivalent and ^e will be your End equivalent. If that sounds weird or weirdly familiar… a subset of emacs key bindings are built in for basically all native macOS text inputs. If you get weird and hook up a full keyboard to iOS devices, works pretty much the same!
(I personally use ^t quite a lot because I accidentally rtanspose letters while typing all too frequently)
Out of the box, several short-cuts conflicts.
Moreover, on non-US keyboards, many MacOS shortcuts are simply not reachable.
Also, having ctrl and cmd be separate keys is a godsend. No, I don't want to kill the running app, I want to copy some text.
In contrast, the Ctrl keys are usually located such that they're best accessed with your pinkies. Who thought that making people use their weakest fingers for the most common shortcuts is a good idea?
Could you remap your keys to have Ctrl keys under the thumbs in Windows / Linux? Yes, but then:
1) It will become hard to use Ctrl-based text navigation shortcuts (such as Ctrl+left to navigate one word left) with one hand, and
2) Ctrl+Tab will now use the same physical keys as Alt+Tab used to, and your brain will never heal from this (at least mine refuses to).
Why would it be any different than on macOS?
> 2) Ctrl+Tab will now use the same physical keys as Alt+Tab used to, and your brain will never heal from this (at least mine refuses to).
So why not switch this also? Where's the problem?
At least on Linux there are no issues. It's mostly clicking one checkbox, and changing "Alt-Tab" to "Ctrl-Tab".
but otoh ppl have strong opinions for the exact same reasons (hand/finger dexterity) by assigning ctrl to caps lock
less weird-pinky/hand-rotation does feel like a win, though
"[" on AZERTY french keyboard requires to type Option+Shift+5
"]" on AZERTY french keyboard requires to type Option+Shift+)
I can't even imagine how the equivalent of Cmd+[ could be a "shortcut".
I think I'm not alone in this approach; I wonder if this project has the change to be as rock-solid as Apple's offerings. If not, I'm guessing it's not for me.
Even the UI conventions that let you use the keyboard instead of the mouse are now often broken by Apple itself (it impacts power users more than impaired people since accessibility features are still good).
And no containers - those require you to run a different kernel on a VM.
Frankly I feel that macOS went back to being like Mac OS 9 in a lot of aspects - it's just enormously bigger and has a proper foundation but the UI is again mouse centric and proprietary and the system is more tightly coupled than ever with the hardware
You might say it wasn't the best distribution for reliability, or that graphics with NVidia are always an issue etc. but the fact remains that, for me, for an OS to "just work out of the box", MacOS is much better.
[I'm also not a Linux n00b, been using it for over a decade, though not an expert for sure]
There is one way to run nvidia stuff on Linux and have a decent experience: run a distro that actually support and has partnership with nvidia, which mean a distro like Redhat Enterprise Linux. It has long term support too.
It is the same with Apple or windows if you start using shitty drivers from a shady brand you will run into issues at some point.
My father even did the 20.10 to 21.04 LTS upgrade himself! I highly doubt if windows would've been as smooth an experience.
(Macs are out of question for us since none of us are rich!)
I'm not saying Pop is bad, but Windows upgrades are super easy and user friendly (if you ignore the privacy risks that come with using Windows). I wish common Linux distros would pack something like system restore by default already! I know these tools (based on BTRFS/ZFS snapshots) exist and work great, but they need to be set up manually and most people won't.
Ubuntu is a mess that introduces config-breaking changes every release and rides the already existing market. If Canonical tried to release their products nowadays without their track record and existing user base, they would never succeed.
The peak Linux experience for a Just Werx focused end user is probably openSUSE Tumbleweed on KDE or XFCE. Batteries included, fast and extremely hard to break package manager, YaST2 configuration manager, and lots of user repositories.
global menu
swift as a first class language
swiftUI like API
and you get my support! i'll donate
Either use Windows with WSL2, or Debian, or FreeBSD with some GUI, or MacOS.
Regardless of what OS you use - you will be using a Browser, Terminal, File Manager and VS Code/Rider/Visual Studio, emacs/vim. GASP
Enough of this distro hopping - it is the moder-day procrastination.
One of the main benefits of macOS is perfect hardware support. Linux has a definite edge on all other free software kernels here.
I hope they succeed, regardless of technical decisions.
Insofar as you have perfect support for the very small subset of hardware that computers running macOS can have. I'm sure you could get similarly perfect hardware support on Linux by being careful about which hardware you run it on.
I donated to marcan in the hopes that someone now will.
There should be a free software OS installer that is as easy to use and supports as much hardware with full functionality as the Apple OS installer. Apple has already done the heavy lifting of a well defined hardware target.
"does it run homebrew" is my lead question
Or even better, a better package manager that isn't slow as hell and understands semver.
Edit for people using macOS: if you want to install one thing without waiting to update unfold numbers of other things, hilariously Cakebrew (a GUI frontend for homebrew) will let you do that with homebrew as the package manager.
The situation is even more Linux-centric on Mx.
I think, thats the target. not 'run it on my mac' but 'be like a mac, running on my Lenovo PC, which already supports FreeBSD well[*]'
[*] does not always work well with blob demanding devices == 802.11/GPU
If you’re doing this kind of things, you’d better be producing and selling your reference laptop/desktop computer too.
Otherwise all I expect from seeing the FreeBSD logo is 2005-ish hardware support nightmares (thanks but no thanks, I’m not a teenager anymore).
The interesting part in Apple products is mostly the hardware.
My only gripe is I wish firefox would integrate it better instead with an UI similar to (now defunct?) Eolie web browser.
Also I haven't spend enough time with it recently but I think kde plasma has the flexibility to be probably as good as gnome. I just don't like the default settings and have always been too lazy to dig deep into it. I used to love kde3.
When people way gnome3 do they really mean gnome3 or gnome3..gnome43?
I really like Gnome 42 and improvement that can be seen in 43, but I didn't like gnome3 at all
The ability to just type and search through all menu items saved me so much time!
While I think that your take on Apple UI/UX not being good is rather contrarian (given that many quote them as some of the best in the industry), I agree that using Ubuntu with Unity was actually a reasonably pleasant experience, at least in the later years when they had addressed most of the quirks that the earlier versions struggled with.
Then again, I'm the kind of person who is also served perfectly well by something as simple as XFCE or LXQt, so maybe I'm a bit biased and my standards aren't the highest. Yet, I really appreciate a UI that's functional and feels snappy.
The Google of X The Apple of Y The Amazon of Z
It's almost always hype and it's annoying. It's as if they think they deserve credit for the intent, or the goal, rather than the actual product.
If what you want is to replicate the MacOS X UI you can customize the UI of your DE on Linux, or use something like ElementaryOS or use Pantheon.
What are the goals of this project?
Could we use Mac compatible apps in place of windows ones if Linux isn't available? Games? Productivity?
Stop chasing the look of MacOS. Replicate it's functionality and feel first.