Use xdg bindings to open files, rather than popen xdg-open
Better open file algorithm and implement editFile() and viewFile()
Add an edit context menu