Delegate Obsidian panes to OS windows

I don’t actually know how many Obsidian users are also i3wm/Sway/Hyprland/Qtile/XMonad/etc. users but I honestly cannot see how leveraging OS windows can be anything but an advantage. Window managers (W*ndows’ excepted, ironically enough) are expressly designed to manage these sorts of things. The only functionality I can’t see implemented better than in Obsidian is stacked tabs. So here’s my idea:

Each side panel gets its own window so long as it’s open. So does each tab group and the ribbon. The Status bar is a floating dock window. Remove all hotkeys for manipulating these. They’re managed by the OS now.

I have nothing like the technical prowess to implement this but I honestly think that something like this is one of the few things holding me back from diving full-on into tiling window managers (I’m still using Xfce atm).

Finally, feasibility. Obsidian already has an “open tab in new window” feature that works much the same. I don’t see why this couldn’t be a logical extension thereof. I guess it would sort of end up looking like GIMP, huh?

I can’t help you with this, but I’m not sure I understand your point. You want non-Obsidian programs to be opened in an Obsidian tab?

What would be the point of that? Can’t you use your window manager to tile Obsidian on one side or one corner, and other programs on the other side?

Existing tools are better at managing windows than Obsidian ever will be, so Obsidian should stop trying. And if they don’t, then there should at least be a way to work around that.

No. The point is to split the various graphical parts of Obsidian into distinct windows so they can be managed by your window manager. It’s to solve a UX issue with existing tools, and solve it in a very UNIX way: i3 (or whatever you use) is better at managing groups of graphical interfaces, so why should Obsidian even try to do that? It won’t be better. It won’t be more featureful (stacked tabs perhaps excepted, which is why I’m suggesting tab groups be windows). And it certainly won’t make Obsidian faster or more lightweight. That’s the point of UNIX, isn’t it? Each executable does one thing and does it well. At this stage, that’s more a rule of thumb than an actual guiding principle (rofi and busybox, for instance, do a lot of pretty different things) but it’s nonetheless a good principle. If someone has already done it better than you, why should you even try to best them? If you want it to be better, make it better. Don’t run from behind.

This is sort of like W*ndows lagging a few years behind Linux in features, with MICROS~1 racing to keep their stranglehold on the market intact. It’s also a perfect example: Linux tends to follow a UNIX design; W*ndows does not. Linux is cohesive and flexible, while W*ndows is a bloated whale, dying on the shores of corporate subconsciousness. But I digress!

One could use it to create an effect like having arbitrary graphical programs running “as” an Obsidian tab group (or at least in place of one), but again, that’s not the point.

With i3 (or Sway or Hyprland or any other tiling window manager) I can map arbitrary keys (even modally, like Vim! Someone did this in Qtile at some point but I’m not touching Python with a thirty-nine-and-a-half-foot pole) to do things like rearrange windows, resize windows, and so on. Maybe splitting the two side panels into separate windows isn’t entirely possible (is it?) but certainly delegating tab groups is. The point is not that Obsidian is “in the way” or anything like that, the point is that Obsidian shouldn’t even be trying to implement its own tab-group-manager because window managers already exist.

Frankly, I’m sick of the one-window-fits-all mentality in GUI design. If I want to split my work up, I should be able to. Obsidian is flexible and I love it for that. This is one of the points where it’s stubbornly inflexible and I hate that.

This was initially prompted by a want to resize tab groups, move tabs, etc. with the keyboard. You can’t do that it Obsidian because there are no commands for it and then no key bindings. Which just made me realize that VSCode and (some) browsers and so on are all really just dumping a huge part of their UI/UX resources into solving a closed problem: window management. i3wm. Swaywm. Hyprland. Hyprwm. Mutter. And so on and so forth.

UI/UX has become so stuck on the floating-desktop paradigm that they can’t see the solution dangling in front of them. And it’s been there for years.