>Mac OS is just as customizable as Linux it is unix so all dotfiles from vim etc work. There is a tiling window manager yabai which isn't just a window layout like on windows or pop os but a proper tiling window manager https://github.com/koekeishiya/yabai . You can make Mac OS do what you want which you cant on windows some features even work without disabling SIP.
I've been looking at Yabai, which apparently has a menu bar replacement. I've seen others who've used that to really rice out their Mac.
Overall, with literature managers I found myself reluctant to add new papers because of the mental transaction cost associated with "filing things away". It is much easier to both "read" and "write" (mentally) to my existing pool of literature with this tool - try it.
Also I don't find myself worrying about how to organize some autoencoder architecture with an immunotherapy review. Everything goes in the same place, which is how our brain works.
Of course if you're not comfortable with mouseless (tmux/vim/yabai), Zotero is probably a much better option...
You would need to install the scripting add-on for yabai.
Essentially on macOS, the Dock (yes, the dock) controls the window server. Yabai solves this by injecting some code into the dock.app binary to control it. However, this involves disabling SIP (which I'm not sure your company may let you do)
So its a bit of all 3 - Mac thing because apple likes to keep things locked down - Yabai thing because technically there's a hacky solution - Not really you setting it wrong, its just confusing
See: https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection and https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release)#macos-big-sur---automatically-load-scripting-addition-on-startup
Yabai doesn't require you to disable SIP there are just some features that won't work without doing so. I've been using Yabai for a year or so, SIP fully enabled, and it works just fine. It's obviously not i3 but it's as near you can get.
https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection
Emacs works well on OSX and you shouldn't encounter any problems. I recommend using railwaycat's OSX port. If you're big on replicating your Manjaro experience you can even get a tiling WM like https://github.com/koekeishiya/yabai.
Linux's utility really comes into play when you're doing any sort of development work — so since you do programming you might prefer it. How important it is mostly depends on what CS you do, and I'd say using Linux becomes more preferable the more low level things you do (if you work with C/C++, systems programming, etc), although it's just generally the target platform for a lot of dev tools for all types of CS so your life will be easier on it.
Some important steps: * Replace your terminal with iTerm2, Alacritty, or Kitty * Decide if you want your native dock or systray shown. the most #RICE of this is to hide both and replace them with an/some Ubersicht bars. I just hid mine - I use the dock rarely but often use the hidden systray. Just try each (hidden, shown, replaced by Ubersicht) and get a feel for which works best * install and set up yabai. I think it's by far the best WM for macOS. This script here will re-enable monocle mode, which is a definite needed feature for me at least. It works especially well with mission control from apple. I think yabai in general does tbh. Mission control should be set up with three finger swipe but you might have to mess around in system preferences to enable it, I don't remember * get used to the terminal! this is your new home. cherish it. switch to commandline applications like vim or ranger, gotop, neofetch, mpd + ncmpcpp, cal-curses or khal, epr, just replace whatever you use with a commandline version, there's bound to be one. Even something like rainbowstream for twitter or spotify-tui. It's also useful to keep a window with keyboard shortcuts open, for like yabai or kitty, until you've learned them well enough
If you want any more advice just send me a message
Great Manjaro is a great distro. I use arch with bspwm its great and so customisable. I used to run xfce as well.you can heavily rice Mac OS by installing a tiling window manager called yabai https://github.com/koekeishiya/yabai there are some pretty nice setups over on unixporn.
Mac OS is fine its pretty crap for gaming because no proton wine or dxvk support because of vulkan. But as a Linux user mac os is fine and much better than using windows. I use a macbook as my main laptop and it really compliments my linux desktop. I may end up switching to a XPS or Thinkpad in the future though. I just get excited talking about linux :)
That's pretty sweet! I just made half the jump with the iPad Pro & the Mac mini. I think the iPad Pro is an AMAZING device and easily beats my old Samsung Note tablet by far.
One thing I wanted to ask you though, is how is the Mac experience vs Windows or Linux so far? Although I'm in love with my iPad, I'm having second thoughts about the Mac unfortunately. A lot of it just feels roundabout and clunky, like the way you tile windows side-by side, it's not a simple drag and snap like on a GNOME-based linux distro, KDE-based distro or Windows. Being used to UNIX though, I'm already finding ways to tweak it tho, like this tiling manager on GitHub: https://github.com/koekeishiya/yabai, so it might still workout in the end :)
I think you mentioned you were learning to program, so I'm interested how it's affected your development workflow vs what you used before (good or bad).
yeah, the commands used to set it up are documented there: https://github.com/koekeishiya/yabai/wiki/Configuration#padding-and-gaps
yabai -m config top_padding 15
yabai -m config bottom_padding 15
yabai -m config left_padding 15
yabai -m config right_padding 15
yabai -m config window_gap 15
here's my .yabairc for ref: https://github.com/filedesless/dotfiles/blob/efc876f628f619085ec1a7ce5fe9ace719e7fcc9/.yabairc
Eh, well you're not going to replace the Mac interface, or finder, but you can dress it up a little by cobbing together some applications and scripts to rice it up a little.
https://github.com/koekeishiya/yabai/blob/master/assets/screenshot.png
Or you could try your luck with running an x11 server in a container or something, then rigging the display by ip through xquartz. Running something native in macos would take a lot of compiling from source or ports. Doubt you'd get gnome or kde running these days but maybe wm2 or dwm? 🤷♂️
On Windows, fancy zones + multiple desktops is good enough. I have mine set up with a 60% zone and a 30% zone, which windows move to by default (ie. right click while dragging to float)
For OSX, most of the time I full screen apps, and use my laptop screen for Slack or some auxiliary tool. Most of the actual window management happens with vim splits. Recently I've been trying a WM called yabai with mixed success so far.
Two 27"s is still probably better for work, but video games look very pretty on the 49".
Details:
Wallpaper: reddit
WM: yabai
Bar: sketchybar
I didn’t love window management on macOS so I just installed my own window manager.
https://github.com/koekeishiya/yabai
Then installed khd as a shortcut manager to use all the commands with the window manager. Swap windows, make windows bigger, send apps to other desktops, all works great.
https://github.com/koekeishiya/skhd
You can also make the shortcuts do whatever else you want.
The power of Unix!
Yes, it will be a bit tricky to install, you ll need to relpace the actual bin with a v4.0 one, the only thing you ll lose is to be able to create and destroy spaces. I dont really care for those features, so everything is gg for me :)
So, its just an installation of yabai and skhd, and a bin replacement. :)
Linking precompiled v4 yabai: https://github.com/koekeishiya/yabai/files/7726893/yabai-v4.0.0.tar.gz
Also this thread might help you, in case of being stuck somewhere: https://github.com/koekeishiya/yabai/issues/1054
Have fun!! ^^
I don‘t know from the top of my head, but yabai has a whole Wiki section dedicated to SIP:
https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection
Technically, yabai seems to work without disabling SIP but with fewer available features. I disabled it.
I use a window manager: Yabai
And I use something called Ubersicht which allows me to show widgets on the desktop. So the top bar is a Ubersicht widget named Simple Bar
Actually the developer just got an M1 pro device running Monterey and he has been working hard to get it working for Apple Silicon devices and on Monterey. I believe he has a working version but it just hasn’t been released yet. You can check here to see his progress https://github.com/koekeishiya/yabai/issues/1054
Towards the bottom
> If you are running yabai on macOS 10.13.6 (High Sierra) you can and should re–enable System Integrity Protection after the installation has completed.
Although I believe at some point in the past (maybe currently?) there is a feature that doesn't work with it completely disabled all the time, but I don't use the feature nor remember which one it was/is.
> Is yabai good? Like does it have any limits that Linux WMs don’t have?
I didn't found how to: 1) disable title bar with buttons for default applications 2) move menu bar to application window
but both are seem OSX limitations
> Is it “dangerous”/hard to install?
I was forced to disable SIP in order to make scripting addition working on my M1. The rest installation process is pretty easy and fun :)
> And macOS is a good enough Fisher-Price toys version of a UNIX-like OS
This is an interesting burn, given that macOS is a certified UNIX and Linux is the actual "UNIX-like". And what was that you were saying about tiling window managers?
Quibbling aside, I am genuinely interested to hear what you mean by "the way Finder works in the background".
I'm not entirely sure, maybe just restart your pc so yabai gets loaded at the startup? You could maybe also follow these steps if you haven't done that already...
Surprised that yabai hasn't been mentioned here, it's really the only sane window management solution for someone who is looking for a tiling window manager: https://github.com/koekeishiya/yabai
I switched the other way, from macOS to Windows (for various reasons, but mostly to compile big projects faster with a Ryzen; I still use my MBP as a browser machine/Chromebook though), and yabai is what I modeled my own tiling window manager on: https://github.com/LGUG2Z/komorebi/
> Mac runs vim, emacs, vs code, netbeans, eclipse, etc.
Those are just IDEs. I can turn even MS Office 1995 into an IDE if I feel like it.
How about support for things like Nvidia Cuda?
> docker, vmware fusion, parallels, virtual box,
With the same guest performance as if you were running the VM on Windows, I suppose? No KVM is a deal breaker. There's just no comparison between VMs on Linux and on Mac.
> What do you need that MacOS doesn’t have?
Since it's pretty clear you didn't come here to have a sane and educated discussion, I'll let you know what I need that MacOS doesn't have.
I like tiling window managers. I think they're great. Mac doesn't have them. Oh wait, they actually do, it's called yabai. And it's like the only one they have.
Playing actual PC games. There's no Proton and no Wine on MacOS. Also most emulators either don't even have a Mac version or they are experimental to the point where you can't play the game.
KVM for my VMs.
Customizeability. I kid you not, every single Mac I've ever came across has that same damn wallpaper, the same bar on the bottom and even the same bookmarks. They all feel the same.
GNU command line tools. I have some rather lengthy shellscripts and they don't run on a Mac without some editing.
The overall feeling of not being in control of my PC. I can't flag single packages for not updating, I can't use alternate spins of the DE, the kernel and everything in between. If I had a Mac, it'd be just another one in an infinite sea of Macs. It could never be MY Mac. But wait, I can change the font and the icons!
I don't use a Mac pretty much for the same reasons why I don't use FreeBSD. Except for number 1 and number 6, because even FreeBSD lets me change the DE and gives me room for customizability.
By disabling SIP you allow scripts to modify your system files, so it would then be possible for malware and other malicious scripts to modify these files and cause harm to your system. Still, imo it's worth it to use yabai with SIP disabled. Though, you can also use yabai with SIP enabled, but then you won't have every feature.
You can read more on yabai's wiki.
You can give tiling Window managers a try, can start with something simpler like Amethyst and then can consider more hardcore ones like Yabai if you are comfortable manually programming different layouts and stuff.
Tiling Window managers are the simple most significant thing to have contributed towards my increased productivity all these years.
I wish I could answer either of your questions but unfortunately I have not tried Spacehammer/Hammerspoon or i3. I will state however that in order to achieve the most "pure" wm experience that you would get with something like i3 you will need to disable SIP to unlock features like space creation/destruction and other stuff listed here.
Things like, switching to a different workspace.
You have to use the built-in capabilities of MacOS to accomplish that.
I don't think it has been fixed yet, see https://github.com/koekeishiya/yabai/issues/725 for the issue.
I don't get this have you not seen yabai its a tiling wm for mac os and is regularly featured on r/unixporn Mac OS being unix based is just as customizable as Linux. https://github.com/koekeishiya/yabai
I indeed upgraded to Big Sur. The bar works fine but there has been some changes in the installation process of yabai. You'll find these changes here.
By making sure both Ubersicht & yabai are correctly installed & up to date everything should be better.
If you are still experiencing some issues, feel free to open an issue here anytime. :)
Look for a different job.
Unwilling to do that, try https://github.com/koekeishiya/yabai
But I seriously recommend to just look for a different job where you can use Linux.
Well, ricing is certainly possible on macOS, it's just more restricted. If you disable SIP, you could use Yabai, a tiling WM, to make windows transparant. You could change system icons, change the look of the dock, do many things that would not be possible with SIP. If, however, you keep SIP enalbed, you can use another tiling WM, Amethyst, and you can use Uebersicht for widgets.
I'm not currently on macros, but I used to be. It got a full rewrite recently, but I used to use chunkwm. It is now called yabai. https://github.com/koekeishiya/yabai It is fantastic. Very well documented.
Übersicht is rather simple to install, you can simply download it here and install it. You’ll need to check the settings that make it start on computer startup.
On the other hand, yabai is a bit harder to configure. There are some explanations here. The important step is (after setup) making yabai start automatically with brew services: brew services start koekeishiya/formulae/yabai
.
I’ve detailed these step here.
You'll need some more detailed tips depending of the difficulties you may encounter so do not hesitate to pm me if you need help.
I do have SIP disabled, and you must be right about that being the difference: the yabai wiki lists pinning windows as one of the features that requires SIP be partially disabled.
You can do that with yabai -- it's a tiling wm (sort of), but there's a non-tiling mode that you can set it to and still have the benefit of pinned windows afaik.
Edit: I see from your other comment you are already using it; I have this in my skhdrc for floating & pinning a window: yabai -m window --toggle float; yabai -m window --toggle sticky
Amethyst is the most polished tiling WM for macOS, but its workings are a lot different from i3. I tried it and found the differences to be a bit too great for me. chunkwm has been reborn as https://github.com/koekeishiya/yabai, hopefully that works a bit better. I haven't tried it yet, though.
If you just want to recreate jumping between workspaces with a custom keybinding, I'd recommend rolling your own solution with Hammerspoon; it's a really powerful scripting framework and pretty quick to get up and running.
I would take a look at Amethyst or Yabai.
I'm using Amethyst currently, it's configured entirely through a GUI preferences pane, but there's a lot of options there. Gaps, margins, keyboard shortcuts, layouts, etc.
I used Yabai for a few weeks, and it has a lot going for it as well, but installation and setup is more involved. Yabai also requires you to use something like skhd to setup keyboard commands to control Yabai. I moved off of Yabai for Amethyst after Yabai kept crashing when I would unplug my laptop, but YMMV.
Yabai also has more options like window borders and transparency, while Amethyst is more focused on just the tiling.
Haha, yes. I would read the Yabai documentation and install it if you wanna try it out. Warning: if it's your first time using a wm it can be a bit jarring at first but you get used to it and it's so satisfying to have your windows align in an ordered fashion.
Another note: Yabai documentation says that you should disable your Mac's System Integrity Protection first but I would wait and see if you like Yabai first before doing that. Disabling the SIP just gives you more options (like turning off shadow, etc).
You're limited on options, but yabai comes closest to the i3/bspwm experience I'm used to.
You'll use skhdc as a hotkey handler along with yabai to control the desktop. Most of that stuff is documented on github https://github.com/koekeishiya/yabai .
As for the comparison I'm not sure, I haven't used kwm, but I've got it set up so that it works and feels identical to my i3 desktop configuration with a little bit of noticeable slowness.
See screenshot for system information.
hombrew | neofetch, cmatrix, htop, gotop, ranger, nano (yabai dotfiles)
Not much played around with besides setting basic opacity and gaps, haven't played with the bar yet. Key bindings are via a separate .skhdrc, much like BSP, but are a pain in the a** because macOS already has soooo many key bindings to work around.
Dock and standard macOS menu bar are simply hidden using available macOS Aqua settings. If I have to run something besides Manjaro at work, then at least it doesn't have to be Windows...
You only need to disable it if you want to navigate spaces, and move windows from space to space or between displays. For that it needs you to add the scripting-addition (https://github.com/koekeishiya/yabai/wiki/Installing-yabai-(latest-release))
Yabai offers this functionality and is actively maintained. Several features in yabai don't work without disabling SIP, but I'm fairly certain that the active window border works without it.
At chunkwm github's readme they mention this:
>chunkwm is no longer in development because of a C99 re-write, yabai.
>
>yabai was originally supposed to be the first RC version of chunkwm.
I'd personally go with yabai.
Yes to all three questions. There are options to hide the dock and menu. If you want a true tiling experience, you can check out yabai - I used it back when it was called chunkwm, but I tend to move stuff so much so I tend to prefer floating setups currently.
Also yeah what the hell - the corners on everything in Mojave + look like rubbish. I am running DWM on my second work machine and I am so reassured every time I see those perfectly square edges.
brew service stop yabai
and brew services stop skhd
.It's been a long ass while since I riced, so here we go.
First, they downloaded xquartz along with any dependancies it may have, I can't recall, then they downloaded and installed yabai a tiling window manager that runs within xquartz, iTerm and from reading the comments above, the video player IINA.
Also from reading above I don't believe much was changed within yabai, i don't and have never used it though so I'm not sure.
I feel you. One thing I really miss is i3. For terminal splits I mostly use tmux and for window management outside the terminal I use yabai.
Other than that, I miss the freedom on Linux a little bit but on the other hand I am very happy with Spotlight, Alfred and global file search (like scanned documents) across all devices. I also like that I am more focused on productivity and actually getting things done instead of always customizing my OS and thinking about what I can tweak just a little more.
look at amethyst or yabai for window management if you are used to an automatic tiling window manager.
Also, there are several applications that help with launching like skhd. Hammerspoon, bettertouchtool, keyboard maestro, etc. also have ways to run arbitrary commands. Alfred can also run commands in the terminal.
Hi there, I can't get it to work at all. But, I am using Yabai as my window manager on Mojave 10.14.6, so that may have something to do with it. It's still a very cool idea, and I will try on my other system that's just running plain old Mojave later. Thank you again!
if you're allowed , install Linux on it . It should be straightforward . The T2 chip thing , i think was retracted if i'm not mistaken. As for most of the `mac-tools` they use , you can use most of that on linux.
Anyways , if you want to stick mac route , these are your options.
​
Mac Route - software:
window manger :
- https://github.com/koekeishiya/yabai -- you can pretty much i3-gaps it
Terminal :
As for the terminal , it's pretty much a unix terminal
maybe try iterm2 , everyone likes it. Personally , I don't really care about the terminal ... it's a terminal ...
​
package manager :
Home-brew is a great package manager, it has some flaws , but as a package manager it does the job. Has alot of stuff you might need there.
​
Mac Route - Hardware :
​
Get an external keyboard / mouse , you should ideally go wireless. Maybe look at the g305 and the g613. Together won't cost you more than a 100 bucks.
For the keyboard shortcuts to work you need to also install "skhd".
Copy the example config from here: https://github.com/koekeishiya/yabai/blob/master/examples/skhdrc to ~/.skhdrc
Install the service using this command:
brew install koekeishiya/formulae/skhd
Start the service with:
brew services start skhd
This is not doable with AppleScript at all. The APIs for this are unavailable, and you need to control the window server to manipulate spaces.
If you're good with the command line you can use yabai. The functionality to move spaces requires System Integrity Protection to be disabled, so yabai can take over Dock.app and control the window server.
The following script will do the job with a mix of yabai
and jq
, and I explained every step in detail.
#! /usr/bin/env zsh
# swap space 1 on display 1 with space 1 on display 2
# requires yabai and jq
# grab the index of the focused space
space1="$(yabai -m query --spaces --space | jq '.index')"
# grab the index of the first display
display1="$(yabai -m query --displays | jq ".[] | select(.spaces[] | contains(${space1}))")"
# create a temporary space to work on
yabai -m space --create
# focus the temporary space
yabai -m space --focus "$(yabai -m query --spaces --display | jq 'map(select(."native-fullscreen" == 0))[-1].index')"
# grab the index of the visible space on the other display
space2="$(yabai -m query --spaces | jq 'map(select(.focused == 0 and .visible == 1)).index')"
# grab the index of the other display
display2="$(yabai -m query --displays | jq ".[] | select(.spaces[] | contains(${space2}))")"
# move space1 to display2
yabai -m space "${space1}" --display "${display2}"
# move space2 to display 1
yabai -m space "${space2}" --display "${display1}"
# destroy the space we were temporarily working from
yabai -m space --destroy
yabai itself works with SIP enabled, it's just some features that require that yabai controls the window server. You can find a full list in the wiki: https://github.com/koekeishiya/yabai/wiki/Disabling-System-Integrity-Protection