Finally fixed #dmenu to launch scripts from my `~/bin` correctly.

The issue is that my home directory is an import from my previous Pop!OS install, but currently running on CachyOS, and there's some differences of implicit assumptions between the two. The short version is that I was missing a `~/.xsession` file containing:

```
#!/bin/sh
. ~/.profile
```

I already had a `~/.profile` that worked correctly, but it wasn't being executed during X11 login, so I had the system default `$PATH` but nothing user-specific. I also needed to delete my `~/.cache/dmenu_run` so it would recompute my path-available executables. Now I can properly launch Zen browser, and a wrapped version of Signal that actually uses the correct credential wallet, when using #i3.

I'll probably have to figure out similar fuckery again if I ever get #sway to work on my graphics card.

@MaddieM4 More of a "did you know?" than a suggestion. As I've mentioned, I've been exploring sway and am rather enjoying rofi. Right now I'm using it for launching things and am going to look into how it handles window switching as well. The docs say it has dmenu compatibility, too. I haven't looked into that, but maybe something to explore? I may be replacing wmenu with it as well so I have one interface for all those things.
GitHub - davatorium/rofi: Rofi: A window switcher, application launcher and dmenu replacement

Rofi: A window switcher, application launcher and dmenu replacement - davatorium/rofi

GitHub

@loon Ooh, I looked into that a little before, but tunnel-visioned on solving a different very specific problem, so I didn't give it the attention it deserved, and I should revisit it. At the time, it struck me as right on the border between really useful and over-featured for my use case, so a proper investigation would really be needed to settle the question one way or another.

Wifey was interested in i3 but wanted to have a familiar, nested-category "start menu" type experience for program launching. So I looked at a shit ton of launchers, but all through the narrow lens of whether they could be configured to do what she was looking for. Never found a good solution, unfortunately. Maybe I'll make one someday.

In the meantime, I might as well install rofi and temporarily configure my Meta-D to run that instead of dmenu, and see how I feel after a week of daily driving it.

@loon Following up on this, I'm now remembering how annoying I find the "modes" model of rofi, really from the first time you run it without args.

One of the architectural decisions I love about #dmenu (and where my preferences overlap with Suckless in general) is that dmenu itself doesn't care what you're picking between or what you do with it, kinda same model as #fzf. This means that dmenu_run can be a pretty trivial wrapper script that, if pressed, you could probably faithfully rewrite in 20 minutes, give or take the caching feature.

Rofi, on the other hand, incorporates that complexity into a single do-everything program that becomes immediately byzantine to understand or navigate. I bet you could achieve 90% of the same functionality by having an input standard (even something like JSON) that's more advanced than mere lines, allowing for icons and such, while outsourcing the mode-specific complexity.

The one thing I do like, though, is that you can search by program description, like "term".

@MaddieM4 That's entirely fair! Part of what I like about rofi, and this is not at all relevant to you of course, is that it makes it easy to launch flatpak apps. I think I may end up just using wmenu when I have some time to configure everything. Trying to embrace the minimalism philosophy but I still like fancy features ​
@loon yup! For me, my workaround for flatpaks (and snaps) is traditionally small wrapper scripts in `~/bin`, which is why it was so important for dmenu to pick those up via user specific PATH, and also a tiny little example of flatpak/snap style approaches feeling hostile to people who actually like the UNIX style of OS. Not the worst example, but like... a microaggression.