andreikop / enki

A text editor for programmers
http://enki-editor.org
GNU General Public License v2.0
161 stars 39 forks source link

Add the 'Quit' action in the 'File' menu #372

Closed dglent closed 8 years ago

dglent commented 8 years ago

It would be useful to have the 'Quit' action in the 'File' menu.

andreikop commented 8 years ago

I work hardly to keep Enki as simple and minimalistic as possible. Why don't just click close window button with mouse or Alt+F4 with keyboard?

dglent commented 8 years ago

Ok, its not a big think, with alt+f4 is also good. I test the following, for me is ok with or without 'Quit'

diff -ur enki-15.11.0.orig/enki/core/mainwindow.py enki-15.11.0.quit/enki/core/mainwindow.py
--- enki-15.11.0.orig/enki/core/mainwindow.py   2015-11-30 21:36:18.000000000 +0100
+++ enki-15.11.0.quit/enki/core/mainwindow.py   2015-12-29 06:53:01.875581487 +0100
@@ -254,6 +254,8 @@
         action("mFile/mClose/aAll",                   "Close &All"            , "closeall.png", 'Shift+Ctrl+W', "Close all files"        , False)
         menu  ("mFile/mFileSystem",                   "File System"           , "filesystem.png")
         action("mFile/mFileSystem/aRename",           "Rename"                , "edit.png",     '',             "Rename current file"    , False)
+        action("mFile/aQuit",                         "&Quit"                  , "",            'Ctrl+Q',       ""                       , True)
+
         if platform.system() != 'Windows':
             action("mFile/mFileSystem/aToggleExecutable", "Make executable"   , "",            '',             "Toggle executable mode" , False)
         separator("mFile")
diff -ur enki-15.11.0.orig/enki/plugins/workspace_actions.py enki-15.11.0.quit/enki/plugins/workspace_actions.py
--- enki-15.11.0.orig/enki/plugins/workspace_actions.py 2015-11-30 21:36:18.000000000 +0100
+++ enki-15.11.0.quit/enki/plugins/workspace_actions.py 2015-12-29 06:52:37.330448184 +0100
@@ -32,6 +32,8 @@
         core.actionManager().action( "mFile/mSave/aAll" ).triggered.connect(self._onFileSaveAllTriggered)
         core.actionManager().action( "mFile/mSave/aSaveAs" ).triggered.connect(self._onFileSaveAsTriggered)

+        core.actionManager().action( "mFile/aQuit" ).triggered.connect(self.quit)
+
         core.actionManager().action('mFile/mFileSystem').menu().aboutToShow.connect(self._onFsMenuAboutToShow)
         core.actionManager().action( "mFile/mFileSystem/aRename" ).triggered.connect(self._onRename)
         if platform.system() != 'Windows':
@@ -43,6 +45,8 @@
         core.actionManager().action( "mNavigation/aFocusCurrentDocument" ).triggered.connect(core.workspace().focusCurrentDocument)
         core.actionManager().action( "mNavigation/aGoto" ).triggered.connect(lambda: core.workspace().currentDocument().invokeGoTo())

+    def quit(self):
+        core.mainWindow().close()

     def del_(self):
         pass
andreikop commented 8 years ago

OK, so let's live without

Osndok commented 7 years ago

This makes me sad. I really like enki (with some minor tweaks that the session feature allows me to make without source changes), but have always been bothered by the inconsistency of it not having a quit menu item when (quite literally) all my other apps do.

I originally thought it was just a small nuisance (like he said we can "live without it"), but just the other day, I had my window manager crash and SOOOOO wish that enki had a quit option. I was "digging" towards a terminal, to hopefully save my VMs, and was one window from success (that is, a terminal) when I hit enki... which I could not close, and took up a large part of the screen.

BTW, I'm not a nube, I tried getting to the virtual consoles and ctrl-q and alt-f4... in this case it did not work without the wm and what started the slow-motion crash (kernel graphics drivers).

andreikop commented 7 years ago

@Osndok , I'm impressed by your story. Here is Enki 17.03.0

Osndok commented 7 years ago

Yea! Thank you so much! I was already strongly considering carrying the patch manually, but this is way better! I don't think I'll be able to wait for my distro to catch up, so it's time for me to make a fresh rpm!