mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
Preferences for popups, edit in emacs, shutdown in app mode fix
This commit is contained in:
parent
73ab5d9362
commit
a57cdff3d6
5 changed files with 45 additions and 27 deletions
|
|
@ -30,15 +30,17 @@
|
|||
(format t "Error: ~A" condition)))))
|
||||
|
||||
(defun on-open-file-ext (obj &key open-file popup)
|
||||
(open-window (window (connection-body obj))
|
||||
(if open-file
|
||||
(format nil "/source-editor?open-file=~A"
|
||||
open-file)
|
||||
"/source-editor")
|
||||
:specs (if popup
|
||||
"width=645,height-430"
|
||||
"")
|
||||
:name "_blank"))
|
||||
(if (and *open-external-with-emacs* open-file)
|
||||
(swank:ed-in-emacs open-file)
|
||||
(open-window (window (connection-body obj))
|
||||
(if open-file
|
||||
(format nil "/source-editor?open-file=~A"
|
||||
open-file)
|
||||
"/source-editor")
|
||||
:specs (if (or popup *open-external-in-popup*)
|
||||
"width=800,height=600"
|
||||
"")
|
||||
:name "_blank")))
|
||||
|
||||
(defun on-open-file (obj &key open-file
|
||||
(title "New Source Editor")
|
||||
|
|
@ -60,6 +62,7 @@
|
|||
(m-load (create-gui-menu-item m-file :content "load"))
|
||||
(m-save (create-gui-menu-item m-file :content "save (cmd/ctrl-s)"))
|
||||
(m-saveas (create-gui-menu-item m-file :content "save as.."))
|
||||
(m-emacs (create-gui-menu-item m-file :content "open in emacs"))
|
||||
(m-edit (create-gui-menu-drop-down menu :content "Edit"))
|
||||
(m-undo (create-gui-menu-item m-edit :content "undo"))
|
||||
(m-redo (create-gui-menu-item m-edit :content "redo"))
|
||||
|
|
@ -215,6 +218,7 @@
|
|||
(setf last-date (file-write-date file-name))
|
||||
(sleep .5)
|
||||
(remove-class btn-save "w3-animate-top"))))
|
||||
(set-on-click m-emacs (lambda (obj) (swank:ed-in-emacs file-name)))
|
||||
(flet ((save (obj data &key save-as)
|
||||
(cond ((or (equal file-name "")
|
||||
(getf data :shift-key)
|
||||
|
|
|
|||
|
|
@ -485,8 +485,8 @@ not a temporarily attached one when using select-control."
|
|||
(format nil "/panel-editor?open-panel=~A"
|
||||
open-file)
|
||||
"/source-editor")
|
||||
:specs (if popup
|
||||
"width=645,height-430"
|
||||
:specs (if (or popup *open-external-panels-in-popup*)
|
||||
"width=1280,height=700"
|
||||
"")
|
||||
:name "_blank"))
|
||||
|
||||
|
|
|
|||
|
|
@ -12,6 +12,12 @@
|
|||
|
||||
;; Open panels and files in new browser tabs by default
|
||||
(defparameter *open-external* nil)
|
||||
;; Open files in browser popus instead of tabs if browser allows
|
||||
(defparameter *open-external-in-popup* nil)
|
||||
;; Open panels in browser popus instead of tabs if browser allows
|
||||
(defparameter *open-external-panels-in-popup* nil)
|
||||
;; Use emacs instead of the source-editor when openning external
|
||||
(defparameter *open-external-with-emacs* nil)
|
||||
;; Best Light Theme for Lisp
|
||||
(defparameter *editor-theme* "ace/theme/iplastic")
|
||||
;; Best Dark Theme for Lisp
|
||||
|
|
|
|||
|
|
@ -352,21 +352,21 @@ clog-builder window.")
|
|||
(win (create-gui-menu-drop-down menu :content "Window"))
|
||||
(help (create-gui-menu-drop-down menu :content "Help")))
|
||||
(declare (ignore icon))
|
||||
(create-gui-menu-item file :content "New CLOG-GUI Panel" :on-click 'on-new-builder-panel)
|
||||
(create-gui-menu-item file :content "New CLOG-WEB Page" :on-click 'on-new-builder-page)
|
||||
(create-gui-menu-item file :content "New Basic HTML Page" :on-click 'on-new-builder-basic-page)
|
||||
(create-gui-menu-item file :content "New CLOG-WEB Delay Launch" :on-click 'on-new-builder-launch-page)
|
||||
(create-gui-menu-item file :content "New Custom Boot Page" :on-click 'on-new-builder-custom)
|
||||
(create-gui-menu-item file :content "New Application Template" :on-click 'on-new-app-template)
|
||||
(create-gui-menu-item src :content "Project Window" :on-click 'on-show-project)
|
||||
(create-gui-menu-item src :content "Directory Window" :on-click 'on-dir-win)
|
||||
(create-gui-menu-item src :content "New Source Editor" :on-click 'on-open-file)
|
||||
(create-gui-menu-item src :content "New Source Editor (New Tab)" :on-click
|
||||
(create-gui-menu-item file :content "New CLOG-GUI Panel" :on-click 'on-new-builder-panel)
|
||||
(create-gui-menu-item file :content "New CLOG-WEB Page in New Tab" :on-click 'on-new-builder-page)
|
||||
(create-gui-menu-item file :content "New Basic HTML Page in New Tab" :on-click 'on-new-builder-basic-page)
|
||||
(create-gui-menu-item file :content "New CLOG-WEB Page Delayed in New Tab" :on-click 'on-new-builder-launch-page)
|
||||
(create-gui-menu-item file :content "New Custom Boot Page in New Tab" :on-click 'on-new-builder-custom)
|
||||
(create-gui-menu-item file :content "New Application Template" :on-click 'on-new-app-template)
|
||||
(create-gui-menu-item src :content "Project Window" :on-click 'on-show-project)
|
||||
(create-gui-menu-item src :content "Directory Window" :on-click 'on-dir-win)
|
||||
(create-gui-menu-item src :content "New Source Editor" :on-click 'on-open-file)
|
||||
(create-gui-menu-item src :content "New Source Editor in New Tab" :on-click
|
||||
(lambda (obj)
|
||||
(declare (ignore obj))
|
||||
(open-window (window body) "/source-editor?open-file=%20")))
|
||||
(create-gui-menu-item src :content "New System Browser" :on-click 'on-new-sys-browser)
|
||||
(create-gui-menu-item src :content "New ASDF System Browser" :on-click 'on-new-asdf-browser)
|
||||
(create-gui-menu-item src :content "New System Browser" :on-click 'on-new-sys-browser)
|
||||
(create-gui-menu-item src :content "New ASDF System Browser" :on-click 'on-new-asdf-browser)
|
||||
(create-gui-menu-item tools :content "Control CLOG Events" :on-click 'on-show-control-events-win)
|
||||
(create-gui-menu-item tools :content "Control JavaScript Events" :on-click 'on-show-control-js-events-win)
|
||||
(create-gui-menu-item tools :content "Control ParenScript Events" :on-click 'on-show-control-ps-events-win)
|
||||
|
|
@ -446,10 +446,14 @@ clog-builder window.")
|
|||
(declare (ignore obj))
|
||||
;; return empty string to prevent nav off page
|
||||
"")))
|
||||
(when *app-mode*
|
||||
(incf *app-mode*))
|
||||
(run body)
|
||||
(when *app-mode*
|
||||
(clog:shutdown)
|
||||
(uiop:quit)))
|
||||
(decf *app-mode*)
|
||||
(when (<= *app-mode* 0)
|
||||
(clog:shutdown)
|
||||
(uiop:quit))))
|
||||
|
||||
(defun clog-builder (&key (port 8080) (start-browser t)
|
||||
app project dir static-root system clogframe)
|
||||
|
|
@ -472,7 +476,8 @@ instead of the project window will be displayed."
|
|||
(setf static-root (merge-pathnames "./www/"
|
||||
(asdf:system-source-directory system))))
|
||||
(when app
|
||||
(setf *app-mode* app))
|
||||
(unless *app-mode*
|
||||
(setf *app-mode* 0)))
|
||||
(if static-root
|
||||
(initialize nil :port port :static-root static-root)
|
||||
(initialize nil :port port))
|
||||
|
|
@ -489,5 +494,5 @@ instead of the project window will be displayed."
|
|||
(format nil "~A/builder" port)
|
||||
(format nil "~A" 1280) (format nil "~A" 840))))
|
||||
(when start-browser
|
||||
(format t "If browser does not start go to http://127.0.0.1:~A/builder" port)
|
||||
(format t "~%If browser does not start go to http://127.0.0.1:~A/builder~%~%" port)
|
||||
(open-browser :url (format nil "http://127.0.0.1:~A/builder" port))))
|
||||
|
|
|
|||
3
tools/preferences.lisp.sample
vendored
3
tools/preferences.lisp.sample
vendored
|
|
@ -1,6 +1,9 @@
|
|||
(in-package :clog-tools)
|
||||
|
||||
(setf *open-external* t)
|
||||
(setf *open-external-with-emacs* nil)
|
||||
(setf *open-external-in-popup* nil)
|
||||
(setf *open-external-panels-in-popup* t)
|
||||
(setf *editor-theme* "ace/theme/terminal")
|
||||
(setf *editor-keybinding* "ace/keyboard/emacs")
|
||||
(setf *editor-renderer-options*
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue