Thunderbird Littering My Home

Posted by speckx 1 day ago

Counter86Comment59OpenOriginal

Comments

Comment by acabal 1 day ago

Home folder litter is one of my top pet peeves in computing. In fact it's the only reason why I refuse to use snaps on Ubuntu. I don't even care about whatever technical stuff everyone argues about - but snaps create a permanent `~/snap/` directory and Ubuntu devs don't care. There's been a bug report on Launchpad for over a decade[1] and it's the second highest voted bug in Ubuntu history, but no, Ubuntu devs think littering the home folder with highly visible system-level machinery is totally unavoidable.

It's like putting your car's engine in the passenger seat - rude, intolerable, and plain stupid. What if Grandma was browsing her home folder and deleted `~/snap/` because she has no idea what it is?

[1] https://bugs.launchpad.net/ubuntu/+source/snapd/+bug/1575053

Comment by godelski 3 hours ago

I want to add an addendum to this. There's just so much bad naming everywhere. So often I'll be looking for configs and can't find them because the name of the configs folder isn't remotely the same as that of the program. How is anyone supposed to know? `~/.config/TrollTech.conf`? Are you really telling me you don't expect people to be confused? The only nice thing I can say is that at least it is put in `~/.config` and not `~/.` There's plenty of things with more menacing looking names too.

Hell, it isn't even computers. I bought a monitor from Samsung recently and it showed up in my bank as Hanwha Vision. You google it and you find a wiki page for the company, and read

  > Hanwha Vision (Korean: 한화비전), founded as Samsung Techwin, is a video surveillance company.
or you look at the parent company, which was originally Korea Explosives. Seriously, if fucking In N Out can show up as "IN N OUT <LOCATION>" they can just show up as "Samsung" or something else actually meaningful.

I know there's 2 problems in computer science but there's a huge difference between not having a good name and having a misleading name. And don't get me started on emails. People wonder why there's so much fraud, but I'm just impressed there isn't more. The normal way things work makes it hard to distinguish things from fraud. We've just created a world where the signal is impossible to distinguish from the noise because we decided it was a good idea to obfuscate the signal...

Comment by andOlga 11 hours ago

This is why Linux needs a sensible, universal way to hide files that doesn't involve bloody renaming them (since that will just cause the original one to be re-created! What is that!?). Many file managers respect the .hidden file, which is a start! But it's not enough, shells and `ls` don't care. It's one of those many strange failures that make Linux on the desktop still painful to use.

Comment by poly2it 11 hours ago

On topic of hidden files: wherefrom is the pattern of treating configuration files as hidden? I'm referring to the pattern of `.configfile` -- I mean, for code projects, a local config file is a first-level construct. This leads to hidden files being not being a viable construct, as there is no longer any consensus on what should be hidden.

Comment by andOlga 8 hours ago

I don't know the answer to this, but I have to wonder if, for source files specifiically, .git is the culprit here... It's not part of your project, it's part of your repo. Which maybe makes sense if people ever divorced their source code from the repo but that's not a thing anymore. Others probably just copied it.

Comment by miduil 1 day ago

You can skip inotify tools altogether and do use systemd like this to trigger `rm -rf`:

    `~/.config/systemd/user/remove-thunderbird-dir.path`

   [Unit]
   Description=Watch for unwanted ~/thunderbird directory
   

   [Path]
   PathExists=%h/thunderbird
   Unit=remove-thunderbird-dir.service
   
   [Install]
   WantedBy=default.target

Comment by projektfu 1 day ago

So often the answer to "Can systemd just do that?" is "yes." But before AI, it was hard to surface the way to do it. Now I can get a lot done just by asking Claude for a few ways of doing something, and often the systemd answer is there.

Comment by godelski 2 hours ago

For something like this I don't think you need to know much about systemd to figure it out, without AI. I promise it is worth the effort to learn some basics of systemd units. It then becomes easy to learn things like path triggers, timers, mounts, etc because they all follow the same pattern. The annoying (and nice) thing about systemd is that these files are a bit verbose. I'd suggest just dropping a few templates in your dotfiles. I do that (I even did that with cron).

For this file, it's pretty straight forward to read. I'm telling you because I think it'll change your mind.

The file name ends in ".path"[0] (it starts with `~/.config/systemd` so it is a user process with user permissions), meaning it monitors paths. Simple!

Then what matters is what's in `[Path]`. `PathExists` is the path being monitored. `Unit` is what service runs. In this case whatever is in `~/.config/systemd/user/remove-thunderbird-dir.service` but guess what, `Unit` is completely optional here. It will default to that. You can probably guess `%h` means `$HOME`. The `[Install]` is necessary though, but that's going to be common and everywhere.

Cumbersome? Yes. Annoying? Mildly, but it's worth it and just minorly inconvenient. Difficult? No. Powerful? YES

[0] https://www.freedesktop.org/software/systemd/man/latest/syst...

Comment by m463 20 hours ago

I think it is because AI and systemd are colleages, growing to do anything and everything.

Comment by lomlobon 1 day ago

I've long given up on keeping a clean home folder because so many software do this and keeping it clean is a constant chore. Now I just make a real_home folder in my 'home' and put all my actual stuff there. They can use the ~ landfill

Comment by neuropacabra 1 day ago

I stopped using that software no matter how painful it was some games included. I wanted to play BG2 and the remake from GOG just litter the Documents folder even when running though Wine. Well, no game for then. Pity. I want my computer to serve me and to have my own files where yo want them.

Comment by yjftsjthsd-h 1 day ago

Doesn't WINE let you pick folder mappings?

Comment by F3nd0 1 day ago

It does. Run `winecfg` and see ‘Folders’ under the ‘Desktop Integration’ tab. Wine used to link these to directories in your home directory by default; not sure if that’s still the case, but you can definitely change it.

Comment by account42 8 hours ago

It's still the case for upstream Wine but not for some distributions. Notably Proton doesn't do that.

Comment by account42 8 hours ago

Not sure what you mean with a remake but the "Enhanced Edition" of BG2 has a native Linux version that use XDG-complient configuration paths: https://www.pcgamingwiki.com/wiki/Baldur%27s_Gate_II:_Enhanc...

And for the original under Wine you can configure wine you not do that - or use Proton which doesn't link user directories by default.

Comment by ryandrake 1 day ago

Unfortunately, many applications now treat your filesystem as a dumping ground for their dependencies and caches and config files and temporary data and all kinds of other non-userdata trash they create. This ship has long since sailed :(

Comment by nosioptar 1 day ago

Wouldn't it be possible to run the game in a container, so it has no access to your home dir?

(I've only used lxc for stuff like WordPress, haven't ever used it for GUI stuff.)

Comment by 1 day ago

Comment by Retr0id 1 day ago

I just never look in ~

Comment by aniceperson 1 day ago

> Systemd user services need absolute paths

no, you use the specifiwr %h instead of ~ here is the expensive list of specifiers https://www.freedesktop.org/software/systemd/man/latest/syst...

Comment by mzajc 1 day ago

There's more! On my machine it creates an empty ~/.mozilla/extensions directory every time it starts, and I have no idea why it does that or how to make it stop.

Comment by TRiG_Ireland 11 hours ago

On mine, it also creates ~/Downloads/thunderbird.tmp directory.

Comment by create_accounts 1 day ago

there's a stupid solution that I put in practice out of helplessness. I remove the writing permission on ~ to my user, only sudo can write on ~, so some apps simply fail to launch

Comment by PenguinCoder 1 day ago

So then you have to run those apps as root user, or does sudo to your own user work? I wouldn't expect it to with those perms set.

Seems more dangerous than just dealing with the cruft.

Comment by create_accounts 1 day ago

I don't launch them as root. That defeats the purpose because they would write on the ~ folder. ZSH Terminal grumbles when launching but why the hell does it want to log my every command?

only 1 app has failed to launch and I barely need it anymore.

if it is crucial, I give myself permission to edit the folder so the application can create its folder for dumping rubbish

Comment by sam_lowry_ 1 day ago

Most of the time, you can control where XDG puts its litter, cf. https://wiki.archlinux.org/title/XDG_user_directories

Just note that XDG_DESKTOP_DIR and XDG_DOWNLOAD_DIR can not point to the same directory or chromium will disregard your config.

P.S. Reader, if you can commit to chromium without much hassle, check this and fix: https://wiki.archlinux.org/title/Talk:XDG_user_directories

Comment by nixosbestos 1 day ago

You (and other folks...) should probably click-through to the bugzilla links. Yes, normally. But, it looks like some legacy code path near the XDG stuff caused an accidental extra dir creation.

(I was rolling my eye wading in, thinking that Thunderbird was doing XDG and maybe some distro just wasn't setting XDG_CONFIG_HOME correctly, etc, but alas, no it's a TB bug)

Comment by jvyden 1 day ago

You're lucky you only get one. I get two, `~/thunderbird/` and `~/Thunderbird/`

Comment by ddalcino 1 day ago

Reminds me of this other post (https://news.ycombinator.com/item?id=48447935), which suggests the following solution:

If you create your own `~/thunderbird` directory, then Thunderbird will stop littering your home directory.

Comment by bkdbkd 18 hours ago

often my solution. I usually touch 'ForbiddenFolder', then chmod the file a-x.

Yes, this does not unclutter the home folder, but it does keep a program from touching places I don't want it to.

I don't care to have the machine rm -rf'ing on its own.

Comment by daneel_w 1 day ago

Try Betterbird. On the whole I find that fork a better experience than Thunderbird.

Comment by soperj 1 day ago

What's better for you?

Comment by daneel_w 1 day ago

After four months of use I've had not a single hiccup or misbehavior with it, none of the sudden stalls or "beachballing" I had every so often with TB when fetching/sending despite running my own mail server inside my home network, nor any crashes (which to be fair weren't common with TB). I get the impression that the developers tread more carefully with feature updates. I perceive it as starting up and getting to fetch/process faster. I also appreciate that it's about half the size, as they provide a dedicated Arm64 bundle instead of a "universal" Arm+x86 flavor.

Comment by the__alchemist 1 day ago

There are so many annoyances in TB. I stopped using it after a few days. My primary concerns:

  - Opening an email thread opens multiple (potentially many) tabs, and is difficult to nagivate or understand the flow of messages
  - I don't know how to write an email without it making the spacing between paragraphs/lines larger than I would like. (I.e. double-spacing)
  - Search is unreliable / broken.

Comment by roelschroeven 1 day ago

> I don't know how to write an email without it making the spacing between paragraphs/lines larger than I would like. (I.e. double-spacing)

The Compose window by default uses Paragraph style. Change it to Text instead, that works like you want. You can change the default in the settings. Still not ideal because in some cases after certain types of formatting it still reverts to Paragraph style.

Comment by Walf 19 hours ago

Ctrl + Shift + O opens a threaded conversation in a new tab.

Settings > Composition > Use paragraph format… set to unchecked

Search has always worked pretty well for me, with the exception of not searching message bodies in a folder that's set to only download messages on demand. If the folder is set for offline use, the bodies are there and searchable. I use the Quick Filter bar 99% of the time, anyway, it's great.

Still my preferred client.

Comment by Saris 1 day ago

Shift+Enter for a normal new line. No idea why it's like this.

Comment by emaro 1 day ago

The default paragraph style has some margin.

- You can do Shift+Enter to get a `br` without breaking the paragraph. - You can change the format from "Paragraph" to "Body Text" to remove the margin. Note that Thunderbird changes new lines back to "Paragraph" automatically, so you need to frist write your email, then format it as "Body Text". - Or, you can disable the "Use Paragraph format instead of Body text by default" option in the settings, to always have "Body text".

Comment by Saris 1 day ago

Good to know.

I've always wondered why HTML editors tend to work this way (Wordpress is the same), instead of having a single enter key be a line break and a double enter key be a paragraph.

Comment by F3nd0 1 day ago

If my understanding is correct, enter by default starts a new paragraph (<p>…</p> in HTML). Holding shift makes it add a line break (<br> in HTML).

I think maybe Thunderbird has a plain text mode where this doesn’t happen, but it’s been a while since I last used it, so I could be completely wrong.

Comment by thesuitonym 1 day ago

Thunderbird does have a plain text mode, and you set it to be the default. Nice thing about TB is that defaulting to plain text doesn't lock you into plain text like a lot of other editors out there--If you add any formatting it silently switches you to HTML email.

Comment by Saris 1 day ago

Ah that would make sense I suppose as it's sending HTML by default.

It does have a plain text mode!

Comment by fph 1 day ago

What did you replace it with?

Comment by the__alchemist 1 day ago

Webmail (Fastmail's official webapp in this case)

Comment by sam_lowry_ 1 day ago

mutt?

Comment by fph 17 hours ago

Mutts also litter your home.

Comment by wps 1 day ago

I agree. I might swap over to a TUI mail client on my desktop. Don’t even get me started on the iOS Mail app.

Comment by create_accounts 1 day ago

I cant stand apps littering my home folder, regardless of if they are invisible folders or whatever. I am looking forward to deleting my operating system, or just the user account, and only installing apps in a virtual machine

Comment by ellieh 1 day ago

Personally I have never been bothered by programs using my home folder. I don’t regularly ls the contents of it, and just browse by path from my shell anyway, so the clutter is barely visible to me

Comment by Grombobulous 1 day ago

If you don’t have any need for Windows/Mac support, I highly recommend moving to something that isn’t Thunderbird.

My pick is Evolution but there are many other options.

Comment by pschastain 21 hours ago

I've used Evolution for years but lately it's started choking on gmail OAuth support. The solution appears to be installing Gnome keychain support, which then messes with KDE Wallet. For now I'm just using the web and the mobile app

Comment by butz 1 day ago

Is there any hope that Thunderbird might benefit from XDG config directories fix that Firefox recently implemented?

Comment by guilhas 5 hours ago

The other day moved the Thunderbird folder profile to another PC, the password was not saved, and I ignored the password pop up a few times, then it started deleting the inbox emails

And it is not the first time it feels unreliable

I would like to think there is a good and reliable open source email client

Comment by gsich 1 day ago

Another unit that requires mental load.

Comment by hungryhobbit 1 day ago

Seems like with Claude you could have submitted a PR (to actually fix the issue) in the time it took to come up with the hack.

Comment by gruez 1 day ago

But there's no guarantee that the PR would get merged.

Comment by cassianoleal 1 day ago

Or worked

Comment by tomstockmail 1 day ago

There's a patch in the bug report and it appears to be tagged for Thunderbird 153 release.

While I'm here I got to say, it's worrying seeing people not calling out what a bad solution the OP has suggested. Implementing a blind removal of a folder is not good practice. You will forget about this script/unit file. One day you may copy all your Thunderbird data to ~/thunderbird, think you're safe, then boom, it's gone.

Edit: Forgot a key point

Comment by drabbiticus 20 hours ago

`rmdir` is not `rm -rf`. It only removes empty directories.