diff --git a/drun_cleaner.py b/drun_cleaner.py new file mode 100644 index 0000000..e097cdd --- /dev/null +++ b/drun_cleaner.py @@ -0,0 +1,54 @@ +#!/usr/bin/env python3 + +# This script adds 'NoDisplay=true' to blacklisted application +# desktop entries commonly found in /usr/share/applications +# and $HOME/.local/share/applications. +# +# Ferit Yigit BALABAN , 2022 + +# Usage: +# This script will check append every filename in blacklist +# to every directory name in search_folders. Resulting paths +# will then be checked if they exist. Files that exist will +# get appended with 'NoDisplay=true'. +# +# Note: You can use environment variables in search_directories, +# but you mustn't use them in blacklist. +import os + + +def modify_file(path): + with open(path, 'a') as stream: + if 'NoDisplay=true' not in stream: + stream.write('NoDisplay=true') + return True + else: + return False + + +def main(): + blacklist = [ + 'avahi-discover.desktop', + 'electron16.desktop', + 'bssh.desktop', + 'bvnc.desktop', + 'qv4l2.desktop', + 'qvidcap.desktop' + ] + + search_directories = ['/usr/share/applications', '$HOME/.local/share/applications'] + search_directories = [os.path.expandvars(path) for path in search_directories] + for directory in search_directories: + for file in blacklist: + if os.path.exists(directory + '/' + file): + full_path = directory + '/' + file + _ = modify_file(full_path) + if _: + print(f'Appended "NoDisplay=true" 0 {full_path}') + else: + print(f'File {full_path} already had "NoDisplay=true"') + print('Reached end of combinations. Good bye!') + + +if __name__ == '__main__': + main()