- removed plugin_util
- added key unbind feature
- updated plugin helper
- updated plugin helper - to have config as part of constructor
- updated MouseFreeURLHandler for plugin.py, unload
- removed circular dependency between plugin.py and config.py due to KeyBindUtil due to merging of plugin_util.py
- there was a bug wherein the duplicate keybindings from plugins were not throwing the error "Duplicate Key Bindings Are Not Allowed", now while checking they are merged and then final list of keybindings are checked.
Merge remote-tracking branch 'upstream/master' into 450-mouseless-URL-opening-or-yanking
1) Mouse less/free opening / yanking feature
2) plugin_util file to assist this and other plugins with key-press Helper function
3) adding Key Binding Help Functions in above (2) to config and preferences->keybinding to have a consistent behavior
2) plugin_util file to assist this and other plugins with key-press Helper function
3) adding Key Binding Help Functions in above (2) to config and preferences->keybinding to have a consistent behavior
--execute behaves now like in the docs:
Runs the rest of the command line instead of your default shell
or profile specified command.
This fixes it's proper usage with tools like gio or xdg_open
I am sick of ibus breaking every single time we issue a new
release, so as of now, I've gone through the code and removed
all of the workarounds that we have put in to try and get
around issues in ibus, and GTK Input Methods in general.
The code as it stands should work, I'm going to mention a
bunch of people in this PR and ask them to beta test this
change.
-added auto split feature
-new signal split-auto was added
-currently this uses widget dimensions for the split as rows, cols were having different space and was not consistent, this can be changed if needed
-short cut was also added
-icon for the menu item needs to be added
Follwing errors were being thrown:
FAILED tests/test_prefseditor_keybindings.py::test_keybinding_successfully_reassigned_after_clearing[accel_params0] - AttributeError: 'TreeModelFilter' object has no attribute 'set'
It seems earlier the Gtk.ListStore() was directly being passed in the test cases. After the changes to the Preferences to add a search filter bar we had added a filter Gtk.TreeModelFilter and for the widget we were setting it:
widget.set_model(self.treemodelfilter)
Now it seemed that instead of Gtk.ListStore() the object Gtk.TreeModelFilter was being received and since it did not have a "set" function the above error was thrown.
I have made changes so that the Gtk.ListStore() is taken from Gtk.TreeModelFilter via get_model function and this indirection is removed.
-fixed: The problem in displaying is happening as the the config the key for eg Control is being saved as <Primary> and the short cut alphabetic character is being picked when creating the menu item and not being overwritten from config
-Note: the short cut for function keys are not being displayed in context-menu
- added a filter to the preferences menu for easy access to shortcuts
- may require some tweak, on search term size and update
Note: when edited in prefs it seems the Short Cut Labes in (right click) Context Menu are not updated will fix that in that bug Issue #662
- added short cuts / accelarators to right click context menu
- menu is updated from config so changes in preferences keybindings appear dynamically
- Note: I think there is a bug or discrepancy where
for the action edit window title config.py says:
'edit_window_title': 'w where as in code: terminal_popup_menu.py
item = Gtk.ImageMenuItem.new_with_mnemonic(_('Set W_indow Title'))
Character i is selected as mnemonic.
- fixed the above discrepancy
- changes for the pre-close-term event in the plugin
- submitting as I had first thought of using current event close-term, but later thought of a consistent solution
- saves the working directory and layout of last session (last window) closed
- layout is saved under name of SaveLastSessionLayout
- can be loaded from context menu (right click) -> layouts -> "SaveLastSessionLayout"
- last working directory is also saved