# Simple titlebar plugin for ranger with trash indicator on the left side
# Trash indicator appears only if trash contains at least one file
# Indicator is a unicode symbol, it may not appear on some systems (plugin is tested on Arch Linux)
# Copy this file to ~/.config/ranger/plugins

from ranger.gui.widgets.titlebar import TitleBar
import os

def _get_left_part(self, bar):

    username = os.environ["USER"]
    trashdir = "/home/"+username+"/.local/share/Trash/files"

    #if self.fm.username == 'root':
        #clr = 'bad'
    #else:
        #clr = 'good'

    if len(os.listdir(trashdir)) == 0:
        bar.add(' Trash: [           ] ', fixed=True)
    elif len(os.listdir(trashdir)) >= 1:
        bar.add(' Trash: [#┄┄┄┄┄┄┄┄┄┄] ', fixed=True)
    elif len(os.listdir(trashdir)) >= 10:
        bar.add(' Trash: [##┄┄┄┄┄┄┄┄┄] ', fixed=True)
    elif len(os.listdir(trashdir)) >= 20:
        bar.add(' Trash: [###┄┄┄┄┄┄┄┄] ', fixed=True)
    elif len(os.listdir(trashdir)) >= 50:
        bar.add(' Trash: [######┄┄┄┄┄] ', fixed=True)
    elif len(os.listdir(trashdir)) >= 80:
        bar.add(' Trash: [#########┄┄] ', fixed=True)
    elif len(os.listdir(trashdir)) >= 100:
        bar.add(' Trash: [###########] ', fixed=True)

    # Username and hostname commented out for simplicity, however it still usable
    #bar.add(self.fm.username, 'hostname', clr, fixed=True)
    #bar.add('@', 'hostname', clr, fixed=True)
    #bar.add(self.fm.hostname, 'hostname', clr, fixed=True)
    #bar.add(':', 'hostname', clr, fixed=True)

    pathway = self.fm.thistab.pathway
    if self.settings.tilde_in_titlebar and \
            self.fm.thisdir.path.startswith(self.fm.home_path):
        pathway = pathway[self.fm.home_path.count('/')+1:]
        bar.add('~/', 'directory', fixed=True)

    for path in pathway:
        if path.is_link:
            clr = 'link'
        else:
            clr = 'directory'

        bar.add(path.basename, clr, directory=path)
        bar.add('/', clr, fixed=True, directory=path)

    if self.fm.thisfile is not None and \
            self.settings.show_selection_in_titlebar:
        bar.add(self.fm.thisfile.relative_path, 'file')

TitleBar._get_left_part = _get_left_part