Giter Club home page Giter Club logo

budgie-trash-applet's Introduction

Budgie Trash Applet

Manage items in your trash bin right from the Budgie panel.

Main View


Development

Dependencies

budgie-1.0 >= 2
gtk+-3.0 >= 3.22
glib-2.0 >= 2.46.0
libnotify >= 0.7
sassc

You can get these on Solus with the following packages:

budgie-desktop-devel
libgtk-3-devel
libnotify-devel
glib2-devel
sassc

Building and Installing

  1. Configure the build directory and meson with:
mkdir build
meson --prefix=/usr build
  1. Build the project with:
ninja -C build
  1. Install the files with:
sudo ninja install -C build

Code Style

This project uses pretty much the same code style as Budgie Desktop in order to make the code bases more consistant across the Budgie projects. In theory, this makes it easier for people familiar with one project to see what's going on in other, related projects.

Differences

  1. This project puts the pointer symbol (*) on the name instead of the type
  2. This project uses spaces instead of tabs (sorry, Josh :P)

budgie-trash-applet's People

Contributors

ebonjaeger avatar olivierduchateau avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar

budgie-trash-applet's Issues

Deleting large folders can lock up the system until it completes

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.

Add controls to change sorting method

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.

Trash items on removable drives should be listed

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.

      • If a drive is found, start monitoring the .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

    • It would be nice for different drives to be listed separately in the popover view. An option should be created so the user can toggle between a unified view and split view.

Clicking an item in a trash bin selects the entire bin

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?

Unable to delete folders created in a python virtual envirorment

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

Removing applet from the panel causes warnings

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.

image

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.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.