Trashcan

Trash folder for notes. Any deleted notes go to the trash folder instead of being deleted permanently.

Undo seems like a good feature to have too along with this. Just better deleting options as the users mentioned here Undo

19 Likes

I just created a new notebook, named AAA_TRASH, so that it comes first in the notebook column, and just put any note to be deleted there, so that I can review what I have deleted and if I’d rather restore it. Of course, restore function is not automatic (to the place the note existed), but it works well as a concept and in use. You may try this way if you wish.

4 Likes

This actually is a good idea in my opinion.

Currently deleting a note really permanently deletes it, is that right?

Yes, but I remember Laurent mentioned when he developed the notes history that a trash can is basically only a frontend that is missing. The backend logic should be there already.

2 Likes

Any plans for the trash folder now?

1 Like

I’ve tried and failed to add a trash feature - https://github.com/laurent22/joplin/compare/trash It was based on the revision system and just got too complex for my taste, which would make it hard to maintain long term.

My current plan is to have a regular folder called “trash” where notes are moved when deleted. There will be nothing special about this folder so there won’t be a need for special support for it.

11 Likes

okay, thanks for reply. should i leave my request open, maybe some other developer has time to implement that complex feature ?

That's exactly how I set up mine, laurent.

joplin

I just drag the notes that I don't want any longer to the Trash notebook, then after a while when I know for sure I don't need them any longer, I delete those permanently. It takes a tiny bit of discipline not to just delete them after 10 years of Evernote, so it would be great if "deleted" notes automatically go into that folder... which then becomes the only notebook that allows permanent deletion :slight_smile:

4 Likes

I like the idea of Sophia, I just like to add that deletion on other notebooks/notes should not ask if you want to delete it.

The warning will only show when deleting notes in the Trash notebook

1 Like

Yes Sophia’s idea is probably the way to go but it’s difficult to generalise. These are my notes so far:

  • Create a folder named “Trash” (no unique special ID)
    • What if the user changes the app language?
    • What if the trash folder doesn’t already exists and is created in two devices, which then sync?
  • Whenever a file is deleted, it is moved to this trash folder
    • But timestamps should not be modified
  • A service runs and delete files that have been there for more than x days
    • How to keep track of when a note was placed there?

So even if it seems easy it’s actually tricky to get everything right. It would still be easier than the solution I initially developed based on the note revisions.

4 Likes

Excellent reasoning, laurent! Now I know why Joplin is so solid :slight_smile:

A compromise: you could consider creating a "courtesy" trash notebook along with the Welcome messages, with an explanation that people can use it the way I described earlier. That way they can rename it to their language, or get rid of it if they don't want it.

Disadvantage: that would mean that it won't work any different from any folder after all. You can still delete anything anywhere, it's a manual process after all.
Another disadvantage is what if they add another device, or reinstall Joplin? Like the Welcome message, it risks being duplicated over and over.

Even more watered down compromise: an additional post to the four Welcome messages explaining how people could utilize a trash can if they wanted to - but then it might actually almost be better to wait till they post in this community and explain why they would need to provide their own solution to a trash can.

Alternative: making it an option in the menu such as "assign which notebook you want to use as a trash can" so that it becomes optional? Then if people don't assign a trash notebook, deleting notes behaves as it does today. Once a trash notebook is assigned, deleting notes go into the trash can without confirmation - which then can be emptied with confirmation.

1 Like

Hi,
another way of looking at it, I think, would be to “mark” deleted notes and make them invisible in everyday use.
Their visibility could be set in the preferences or via the “View” menu. Then, they could be permanently removed.

Note that I am not a developer, my ideas may seem naive or unrealistic.

Choosing a trash folder in Joplin would be great. Is it planned in a pre-release in the next few months ?

To implement the trash system idea you mentioned above a simple plugin like this could do the job too (not tested but it gives the idea):

/* joplin-manifest:
{
	"manifest_version": 1,
	"name": "Trash plugin",
	"version": "1.0.0",}
*/

joplin.plugins.register({
	onStart: async function() {
		await joplin.commands.register({
			name: 'trash',
			label: 'Trash',
			iconName: 'fas fa-trash-alt',
			execute: async () => {
				// Get the selected note and exit if none is currently selected
				const selectedNote = await joplin.workspace.selectedNote();
				if (!selectedNote) return;
				
				// Get the trash folder and create it if it doesn't already exist
				let trashFolder = await joplin.data.get('search', { type: 'folder', query: 'trash' });
				
				if (!trashFolder.items.length) {
					trashFolder = await joplin.data.post('folders', { title: 'trash' });
				} else {
					trashFolder = trashFolder.items[0];
				}

				// Move the note to the trash
				await joplin.data.put(['notes', selectedNote.id], { parent_id: trashFolder.id });
			},
		});
	},
});

That would create a new command "trash" which you can assign to any keyboard shortcut.

3 Likes

One thing I haven't seen discussed here....

I made a trash notebook, but notes from that notebook show up in search results. Excluding these from searches by default or via an option would be a very welcome feature for any official trashcan implementation.

2 Likes

A trashcan would be a really useful tool, and pretty common feature these days.

2 Likes

Any progress on this? I'm thinking of recommending Joplin to a less tech savvy friend but am a little hesitant since this (understandably difficult to implement but normally expected) feature is still missing.

I wonder if at the least, @laurent, the delete warning could be changed to let the user know that it is a permanent deletion. I realize for people accustomed to a command line interface deletions really are permanent. But for many users there is an expectation of a trash system.

2 Likes

I was thinking to add a Trash plugin but ran into an issue with the API. But this problem might already be resolved. I have to check. I am a bit busy these days, on one side I will be on vacation in a week, but I probably won't work much on my computer during that time.

5 Likes

Great! Have a wonderful vacation. Stay safe.

1 Like

Hi everyone!

I wonder if the idea still stands even though it is difficult to implement.

Is there any option in this regard?

Thank you all!!