mirror of https://codeberg.org/cage/tinmop/
- [GUI] fixed 'global' keybindings
the software responds to global keychord pressed even if the gemtext window has not the focus.
This commit is contained in:
parent
8f9b4d0cf5
commit
f124028730
|
@ -1416,108 +1416,111 @@
|
||||||
1.0)))
|
1.0)))
|
||||||
(render-ir-lines (get-address-bar-text main-window) main-window))
|
(render-ir-lines (get-address-bar-text main-window) main-window))
|
||||||
|
|
||||||
(defun initialize-keybindings (main-window)
|
(defun initialize-keybindings (main-window target)
|
||||||
(let ((inner-gemtext-widget (gui:inner-text (gemtext-widget main-window))))
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :quit)
|
||||||
(client-configuration:get-keybinding :quit)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(menu:quit)))
|
||||||
(menu:quit)))
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :search)
|
||||||
(client-configuration:get-keybinding :search)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(funcall (menu:show-search-frame-clsr main-window)))
|
||||||
(funcall (menu:show-search-frame-clsr main-window)))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :stream)
|
||||||
(client-configuration:get-keybinding :stream)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(menu:show-streams))
|
||||||
(menu:show-streams))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :certificates)
|
||||||
(client-configuration:get-keybinding :certificates)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(menu:show-certificates))
|
||||||
(menu:show-certificates))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:config-keybinding-tour-manage)
|
||||||
(client-configuration:config-keybinding-tour-manage)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(menu:show-tour))
|
||||||
(menu:show-tour))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :gemlog)
|
||||||
(client-configuration:get-keybinding :gemlog)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(menu:manage-gemlogs))
|
||||||
(menu:manage-gemlogs))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :about)
|
||||||
(client-configuration:get-keybinding :about)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(menu:help-about))
|
||||||
(menu:help-about))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :type-address)
|
||||||
(client-configuration:get-keybinding :type-address)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(let* ((autocomplete-entry (iri-entry (tool-bar main-window)))
|
||||||
(let* ((autocomplete-entry (iri-entry (tool-bar main-window)))
|
(entry (nodgui.mw:autocomplete-entry-widget autocomplete-entry)))
|
||||||
(entry (nodgui.mw:autocomplete-entry-widget autocomplete-entry)))
|
(gui:focus entry)
|
||||||
(gui:focus entry)
|
(gui:set-selection entry 0 :end)))
|
||||||
(gui:set-selection entry 0 :end)))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:config-keybinding-tour-shuffle)
|
||||||
(client-configuration:config-keybinding-tour-shuffle)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(client-tour-window:enqueue-shuffle-tour))
|
||||||
(client-tour-window:enqueue-shuffle-tour))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:config-keybinding-tour-next)
|
||||||
(client-configuration:config-keybinding-tour-next)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(funcall (tour-visit-next-iri-clsr main-window)))
|
||||||
(funcall (tour-visit-next-iri-clsr main-window)))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :back)
|
||||||
(client-configuration:get-keybinding :back)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(funcall (back-iri-clsr main-window)))
|
||||||
(funcall (back-iri-clsr main-window)))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:get-keybinding :up)
|
||||||
(client-configuration:get-keybinding :up)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(funcall (up-iri-clsr main-window)))
|
||||||
(funcall (up-iri-clsr main-window)))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:config-keybinding-bookmark-toggle)
|
||||||
(client-configuration:config-keybinding-bookmark-toggle)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(funcall (toggle-bookmark-iri-clsr main-window)))
|
||||||
(funcall (toggle-bookmark-iri-clsr main-window)))
|
:exclusive t)
|
||||||
:exclusive t)
|
(gui:bind target
|
||||||
(gui:bind inner-gemtext-widget
|
(client-configuration:config-keybinding-bookmark-show)
|
||||||
(client-configuration:config-keybinding-bookmark-show)
|
(lambda (e)
|
||||||
(lambda (e)
|
(declare (ignore e))
|
||||||
(declare (ignore e))
|
(funcall (menu:show-bookmarks-clsr main-window)))
|
||||||
(funcall (menu:show-bookmarks-clsr main-window))))
|
:exclusive t)
|
||||||
(gui:bind inner-gemtext-widget
|
(gui:bind target
|
||||||
(client-configuration:config-keybinding-gemtext-scaling-increase)
|
(client-configuration:config-keybinding-gemtext-scaling-increase)
|
||||||
(lambda (e)
|
(lambda (e)
|
||||||
(declare (ignore e))
|
(declare (ignore e))
|
||||||
(scale-gemtext main-window 0.1)))
|
(scale-gemtext main-window 0.1))
|
||||||
(gui:bind inner-gemtext-widget
|
:exclusive t)
|
||||||
(client-configuration:config-keybinding-gemtext-scaling-decrease)
|
(gui:bind target
|
||||||
(lambda (e)
|
(client-configuration:config-keybinding-gemtext-scaling-decrease)
|
||||||
(declare (ignore e))
|
(lambda (e)
|
||||||
(scale-gemtext main-window -0.1)))
|
(declare (ignore e))
|
||||||
(gui:bind inner-gemtext-widget
|
(scale-gemtext main-window -0.1))
|
||||||
(client-configuration:config-keybinding-gemtext-scaling-reset)
|
:exclusive t)
|
||||||
(lambda (e)
|
(gui:bind target
|
||||||
(declare (ignore e))
|
(client-configuration:config-keybinding-gemtext-scaling-reset)
|
||||||
(scale-gemtext main-window nil)))))
|
(lambda (e)
|
||||||
|
(declare (ignore e))
|
||||||
|
(scale-gemtext main-window nil))
|
||||||
|
:exclusive t))
|
||||||
|
|
||||||
(defun init-main-window (starting-iri)
|
(defun init-main-window (starting-iri)
|
||||||
(setf gui:*debug-tk* nil)
|
(setf gui:*debug-tk* nil)
|
||||||
|
@ -1530,7 +1533,8 @@
|
||||||
(setf gui-goodies:*main-frame* main-frame)
|
(setf gui-goodies:*main-frame* main-frame)
|
||||||
(initialize-menu gui:*tk* main-frame)
|
(initialize-menu gui:*tk* main-frame)
|
||||||
(gui:grid main-frame 0 0 :sticky :nswe)
|
(gui:grid main-frame 0 0 :sticky :nswe)
|
||||||
(initialize-keybindings main-frame)
|
(initialize-keybindings main-frame (gui:root-toplevel))
|
||||||
|
(initialize-keybindings main-frame (gui:inner-text (gemtext-widget main-frame)))
|
||||||
(gui-goodies:gui-resize-grid-all gui-goodies:*toplevel*)
|
(gui-goodies:gui-resize-grid-all gui-goodies:*toplevel*)
|
||||||
(gui:wait-complete-redraw)
|
(gui:wait-complete-redraw)
|
||||||
(when (string-not-empty-p starting-iri)
|
(when (string-not-empty-p starting-iri)
|
||||||
|
|
Loading…
Reference in New Issue