ebonjaeger / budgie-trash-applet Goto Github PK
View Code? Open in Web Editor NEWBudgie applet to manage trash
License: Apache License 2.0
Budgie applet to manage trash
License: Apache License 2.0
In the C version, removing the applet from a panel causes GLib Critical messages when starting Budgie from a terminal. I'm not sure if this is a problem in Budgie or if I'm missing something when creating the applet.
I believe that it's stemming from this code: https://github.com/solus-project/budgie-desktop/blob/master/src/panel/panel.vala#L719-L732
I think that this calls this function in C: https://github.com/solus-project/budgie-desktop/blob/master/src/plugin/applet.c#L222
Which should return NULL
if we don't have a settings schema or path set. I don't set one anywhere, so as far as I know, that should return NULL
.
Currently, all deletion is done synchronously. It would be great to use the asynchronous delete functions instead. The only caveat is deleting folders, which as far as I can tell must be done recursively. When deleting is asynchronous, this can cause threading issues, things not being deleted properly, and the trashbin being left in an inconsistent state.
Currently, if an item on a removable drive is sent to the trash, it resides in a special trash directory on that drive, and not in the user's main trash location. These locations should be tracked so users have an accurate representation of all their trash items.
TrashHandler
On startup, scan for mounted drives.
.Trash-$UID
directory and update the trash view with its contents, if any.When a drive is connected, start monitoring its trash dir and update the trash view.
When a drive is removed, remove its trash items from the trash view and clean up its monitor.
View
Steps to reproduce the issue:
mkdir Pyenv && cd Pyenv
virtualenv -p /usr/bin/python3.7 asttokens
cd asttokens
source bin/activate
pip install asttokens
deactivate
Then delete asttokens
folder from file manager.
Click on Trash applet and select "Delete Item"
The item will not be deleted and the error is:
** (budgie-panel:46638): CRITICAL **: 18:24:18.461: ../src/utils.c:45: Error deleting item: Error removing file /home/algent/.local/share/Trash/files/Pyenv/asttokens/lib/python3.7/lib-dynload/_asyncio.cpython-37m-x86_64-linux-gnu.so: Permission denied
When clicking an item in a trash bin, GTK thinks that the TrashStore widget should be selected in the top-level GtkListBox, even though the selection mode for both GtkListBoxes is GTK_SELECTION_NONE
.
Also, the top trash bin starts selected, which is a long-standing pain-point in GTK3 it seems, causing people to do weird hacky things to make the first item unselected. Maybe there's another container widget that I can use in place of a GtkListBox?
Hi
if it is helpful to you - we already have a trash applet https://github.com/UbuntuBudgie/budgie-extras/tree/master/budgie-trash
You can certainly borrow coding ideas from ours in your development - obviously you cannot directly borrow code due to you using an Apache license and ours being GPL-3+
hope that helps you in your development
Have a control area at the bottom of the popover to toggle between different file sorting algorithms such as alphabetical and by date deleted, likely using radio buttons with a short label.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.