mirror of
https://github.com/rabbibotton/clog.git
synced 2025-12-06 02:30:42 -08:00
prep for 2.0 release
This commit is contained in:
parent
ea4c4a07a5
commit
c4a1a67329
5 changed files with 151 additions and 158 deletions
23
LEARN.md
vendored
23
LEARN.md
vendored
|
|
@ -37,7 +37,7 @@ already being productive means having a bang up time doin' it all.
|
||||||
- [14 - Kindergarten - Concurrent and Parallel Programing](https://docs.google.com/document/d/10MGPC7j4lpGrMlQS4xtQTEGrvpBecgDUnqu1OrjSVxk)
|
- [14 - Kindergarten - Concurrent and Parallel Programing](https://docs.google.com/document/d/10MGPC7j4lpGrMlQS4xtQTEGrvpBecgDUnqu1OrjSVxk)
|
||||||
- [15 - Pulling it All Togeher With A Real GUI App - clos-encounters game](https://github.com/rabbibotton/clos-encounters)
|
- [15 - Pulling it All Togeher With A Real GUI App - clos-encounters game](https://github.com/rabbibotton/clos-encounters)
|
||||||
|
|
||||||
CLOG Videos
|
CLOG Video Series
|
||||||
|
|
||||||
- [CLOG "Plunger" Video series use CLOG Builder to create a pro-app](https://www.youtube.com/playlist?list=PLSUeblYuDUiOucAaqkrVlmOG4p-q7lFU6)
|
- [CLOG "Plunger" Video series use CLOG Builder to create a pro-app](https://www.youtube.com/playlist?list=PLSUeblYuDUiOucAaqkrVlmOG4p-q7lFU6)
|
||||||
- [CLOG Extra - Learn tips on using CLOG](https://www.youtube.com/playlist?list=PLSUeblYuDUiNWHCf8xbHNlxPFQ5clF0YG)
|
- [CLOG Extra - Learn tips on using CLOG](https://www.youtube.com/playlist?list=PLSUeblYuDUiNWHCf8xbHNlxPFQ5clF0YG)
|
||||||
|
|
@ -59,15 +59,6 @@ Full Free Books:
|
||||||
|
|
||||||

|

|
||||||
|
|
||||||
CLOG Builder Tutorials (Reddit links)
|
|
||||||
|
|
||||||
- [01 - Chat App ](https://www.reddit.com/r/lisp/comments/sj1tv5/clog_builder_tutorial_1_a_chat_app_from_start_to/)
|
|
||||||
- [02 - Building a Web Page ](https://www.reddit.com/r/lisp/comments/sn8j77/clog_builder_tutorial_2_building_a_web_page/)
|
|
||||||
- [03 - Importing HTML in to Builder ](https://www.reddit.com/r/lisp/comments/snvv0w/clog_builder_tutorial_3_importing_html_adding/)
|
|
||||||
- [04 - CLOS-CONTACT - database controls, a complete application](https://www.reddit.com/r/lisp/comments/t61sib/clog_builder_tutorial_4_a_complete_database_app/)
|
|
||||||
- (Completed Tutorial 4 at https://github.com/rabbibotton/clos-contact but you better do the tutorial!)
|
|
||||||
- [05 - Using and Creating Controls ](https://www.reddit.com/r/lisp/comments/w2d6dr/builder_tutorial_5_using_and_creating_lisp_custom/)
|
|
||||||
|
|
||||||
CLOG "The Framework" (Code Tutorials)
|
CLOG "The Framework" (Code Tutorials)
|
||||||
|
|
||||||
- [01-tutorial.lisp](tutorial/01-tutorial.lisp) - Hello World
|
- [01-tutorial.lisp](tutorial/01-tutorial.lisp) - Hello World
|
||||||
|
|
@ -106,6 +97,15 @@ CLOG "The Framework" (Code Tutorials)
|
||||||
- [34-tutorial.lisp](tutorial/34-tutorial.lisp) - 2D WebGL example
|
- [34-tutorial.lisp](tutorial/34-tutorial.lisp) - 2D WebGL example
|
||||||
- [35-tutorial.lisp](tutorial/35-tutorial.lisp) - 3D WebGL example
|
- [35-tutorial.lisp](tutorial/35-tutorial.lisp) - 3D WebGL example
|
||||||
|
|
||||||
|
CLOG Builder Tutorials (Reddit links)
|
||||||
|
|
||||||
|
- [01 - Chat App ](https://www.reddit.com/r/lisp/comments/sj1tv5/clog_builder_tutorial_1_a_chat_app_from_start_to/)
|
||||||
|
- [02 - Building a Web Page ](https://www.reddit.com/r/lisp/comments/sn8j77/clog_builder_tutorial_2_building_a_web_page/)
|
||||||
|
- [03 - Importing HTML in to Builder ](https://www.reddit.com/r/lisp/comments/snvv0w/clog_builder_tutorial_3_importing_html_adding/)
|
||||||
|
- [04 - CLOS-CONTACT - database controls, a complete application](https://www.reddit.com/r/lisp/comments/t61sib/clog_builder_tutorial_4_a_complete_database_app/)
|
||||||
|
- (Completed Tutorial 4 at https://github.com/rabbibotton/clos-contact but you better do the tutorial!)
|
||||||
|
- [05 - Using and Creating Controls ](https://www.reddit.com/r/lisp/comments/w2d6dr/builder_tutorial_5_using_and_creating_lisp_custom/)
|
||||||
|
|
||||||
CLOG Demos - Learn through Projects
|
CLOG Demos - Learn through Projects
|
||||||
|
|
||||||
- [01-demo.lisp](demos/01-demo.lisp) - Sparkey the Snake Game
|
- [01-demo.lisp](demos/01-demo.lisp) - Sparkey the Snake Game
|
||||||
|
|
@ -122,8 +122,7 @@ Misc CLOG Tutorials
|
||||||
|
|
||||||
MANUAL
|
MANUAL
|
||||||
|
|
||||||
https://rabbibotton.github.io/clog/clog-manual.html
|
- [CLOG - Reference Manual](https://rabbibotton.github.io/clog/clog-manual.html)
|
||||||
|
|
||||||
|
|
||||||
GENERAL INFORMATION
|
GENERAL INFORMATION
|
||||||
|
|
||||||
|
|
|
||||||
182
README.md
vendored
182
README.md
vendored
|
|
@ -4,9 +4,9 @@
|
||||||
|
|
||||||
### License BSD 3-Clause License
|
### License BSD 3-Clause License
|
||||||
|
|
||||||
[Learn to program Common Lisp and CLOG here - LEARN.md](LEARN.md)
|
- [Learn to program Common Lisp and CLOG here - LEARN.md](LEARN.md)
|
||||||
|
|
||||||
[Video of CLOG Builder in action](https://youtu.be/CgTJMxsz3EY)
|
- [Video of CLOG Builder in action](https://youtu.be/CgTJMxsz3EY)
|
||||||
|
|
||||||
---
|
---
|
||||||
|
|
||||||
|
|
@ -19,11 +19,9 @@ frameworks and website frameworks. The CLOG package starts up the
|
||||||
connectivity to the browser or other websocket client (often a browser
|
connectivity to the browser or other websocket client (often a browser
|
||||||
embedded in a native template application.)
|
embedded in a native template application.)
|
||||||
|
|
||||||
[CLOG - Technical Overview and Purpose](CONCEPT.md)
|
- [CLOG - Reference Manual](https://rabbibotton.github.io/clog/clog-manual.html)
|
||||||
|
|
||||||
[CLOG - Reference Manual](https://rabbibotton.github.io/clog/clog-manual.html)
|
STATUS: CLOG and CLOG Builder 2.0 released.
|
||||||
|
|
||||||
STATUS: CLOG and CLOG Builder 1.9 released.
|
|
||||||
|
|
||||||
CLOG is actually based on GNOGA, a framework I wrote for Ada in 2013
|
CLOG is actually based on GNOGA, a framework I wrote for Ada in 2013
|
||||||
and used in commercial production code for the last 10+ years. CLOG
|
and used in commercial production code for the last 10+ years. CLOG
|
||||||
|
|
@ -53,66 +51,76 @@ programming logic, events and decisions are done on the server
|
||||||
which can be local, or remote over the web.
|
which can be local, or remote over the web.
|
||||||
|
|
||||||
CLOG is developed with ECL and SBCL, it is tested fairly regulary on
|
CLOG is developed with ECL and SBCL, it is tested fairly regulary on
|
||||||
Linux, Windows, Android, Rasperry Pi, and Mac. It
|
Linux, Windows, Android, Rasperry Pi, and Mac. It
|
||||||
should in theory work out of the box on any system with Quicklisp
|
should in theory work out of the box on any system with Quicklisp
|
||||||
(although you could hand install) and CLACK (easily switched out
|
(although you could hand install) and CLACK (easily switched out
|
||||||
and the ecl Android/iPhone branch for example doesn't use).
|
and the ecl Android/iPhone branch for example doesn't use).
|
||||||
|
|
||||||
CLOG is in QuickLisp (ql:quickload :clog), however I recommend
|
CLOG is in QuickLisp (ql:quickload :clog), however I recommend
|
||||||
adding the UltraLisp distribution to it as QuickLisp is update
|
adding the UltraLisp distribution as QuickLisp is update
|
||||||
infrequenty. It is also worthwhile if wish to see the source,
|
infrequenty.
|
||||||
cloning CLOG into ~/common-lisp directory [or other quicklisp/asdf
|
|
||||||
findable directory ``(push #P"path/to/dir/of/projects" ql:*local-project-directories*)`` ]:
|
However for the bleeding ede latest version and bug fixes clone
|
||||||
|
CLOG into ~/common-lisp or a findable source directory, i.e.
|
||||||
|
[ ``(push #P"path/to/dir/of/projects" ql:*local-project-directories*)`` ]
|
||||||
|
|
||||||
|
For git (you also need the clog builder plugins clog-ace and clog-terminal
|
||||||
|
for the builder from git):
|
||||||
|
|
||||||
```
|
```
|
||||||
For git (you need the clog-ace and clog-terminal for the builder too from git):
|
|
||||||
|
|
||||||
cd ~/common-lisp
|
cd ~/common-lisp
|
||||||
git clone https://github.com/rabbibotton/clog.git
|
git clone https://github.com/rabbibotton/clog.git
|
||||||
git clone https://github.com/rabbibotton/clog-ace.git
|
git clone https://github.com/rabbibotton/clog-ace.git
|
||||||
git clone https://github.com/rabbibotton/clog-terminal.git
|
git clone https://github.com/rabbibotton/clog-terminal.git
|
||||||
|
```
|
||||||
|
For now should also clone my branch of fast-websockets as the maintainers
|
||||||
|
version is broked for larger files even if using UltraLisp:
|
||||||
|
|
||||||
For now one, until fix integrated, should also clone a branch of fast-websockets
|
```
|
||||||
if using larger files in the builder:
|
|
||||||
|
|
||||||
git clone https://github.com/rabbibotton/fast-websocket.git
|
git clone https://github.com/rabbibotton/fast-websocket.git
|
||||||
|
```
|
||||||
|
|
||||||
To update do _often_ in the future go to the created directories and type:
|
Update git clones with:
|
||||||
|
|
||||||
|
```
|
||||||
git pull
|
git pull
|
||||||
|
```
|
||||||
|
|
||||||
|
To add UltraLisp to QuickLisp:
|
||||||
|
|
||||||
To add UltraLisp to QuickLisp (updates quicker than the standard QuickLisp):
|
```
|
||||||
|
|
||||||
To add UtraLisp to quicklisp install:
|
|
||||||
(ql-dist:install-dist "http://dist.ultralisp.org/"
|
(ql-dist:install-dist "http://dist.ultralisp.org/"
|
||||||
:prompt nil)
|
:prompt nil)
|
||||||
|
```
|
||||||
|
|
||||||
To update to latest packages do _often_ to get the latest:
|
You still need often to update the UltraLisp and QuicLisp with:
|
||||||
|
|
||||||
|
```
|
||||||
(ql:update-all-dists)
|
(ql:update-all-dists)
|
||||||
|
```
|
||||||
|
|
||||||
Then as always:
|
To get started load CLOG and then can load and run the builder:
|
||||||
|
|
||||||
|
```
|
||||||
(ql:quickload :clog)
|
(ql:quickload :clog)
|
||||||
|
(ql:quickload :clog/tools)
|
||||||
|
(clog-tools:clog-builder)
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
||||||
List of plugins for CLOG on UltraLisp - https://ultralisp.org/tags/clog-plugin/
|
A list of plugins for CLOG are available at -
|
||||||
|
https://ultralisp.org/tags/clog-plugin/
|
||||||
|
|
||||||
|
Note: If using portacle for Windows you will need to copy the sqlite3 dll from
|
||||||
To load this package and work through tutorials (assuming you
|
|
||||||
have Quicklisp configured.)
|
|
||||||
|
|
||||||
Note: If using portacle for Windows you will need to
|
|
||||||
update Quicklisp use (ql:update-dist "quicklisp")
|
|
||||||
You will also likely need to copy the sqlite3 dll from
|
|
||||||
https://www.sqlite.org/download.html to portacle\win\lib
|
https://www.sqlite.org/download.html to portacle\win\lib
|
||||||
Consider a custom [install on windows](WINDOWS.md)
|
Consider a custom [install on windows](WINDOWS.md)
|
||||||
|
|
||||||
1. Start emacs then M-x slime
|
1. Start emacs then M-x slime (or just run sbcl at the command line or use the
|
||||||
|
CLOG Buider REPL Tools -> CLOG Builder Repl)
|
||||||
2. In the REPL, run:
|
2. In the REPL, run:
|
||||||
|
|
||||||
```
|
```
|
||||||
CL-USER> (ql:quickload :clog)
|
CL-USER> (ql:quickload :clog) ; if not already loaded
|
||||||
CL-USER> (clog:run-tutorial 1)
|
CL-USER> (clog:run-tutorial 1)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -128,7 +136,6 @@ CL-USER> (clog:clog-install-dir)
|
||||||
You can the run the demos with:
|
You can the run the demos with:
|
||||||
|
|
||||||
```
|
```
|
||||||
CL-USER> (ql:quickload :clog)
|
|
||||||
CL-USER> (clog:run-demo 1)
|
CL-USER> (clog:run-demo 1)
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
@ -139,7 +146,7 @@ CL-USER> (ql:quickload :clog/tools)
|
||||||
CL-USER> (clog-tools:clog-builder)
|
CL-USER> (clog-tools:clog-builder)
|
||||||
```
|
```
|
||||||
|
|
||||||
You can also open a "clog-repl" window in your browser to play
|
You can also open a "clog-repl" browser window to play
|
||||||
from the common-lisp repl:
|
from the common-lisp repl:
|
||||||
|
|
||||||
```
|
```
|
||||||
|
|
@ -149,10 +156,10 @@ CLOG-USER> (setf (background-color *body*) "beige")
|
||||||
CLOG-USER> (create-div *body* :content "Hello World!")
|
CLOG-USER> (create-div *body* :content "Hello World!")
|
||||||
```
|
```
|
||||||
|
|
||||||
The clog-repl URL is http://127.0.0.1:8080/repl *body* will always refer to the
|
The clog-repl URL is http://127.0.0.1:8080/repl ``*body*``` will always refer
|
||||||
last access of that URL.
|
to the last access of that URL.
|
||||||
|
|
||||||
To open a browser with the CLOG manual:
|
To open a browser with the CLOG manual (or in the builder it is under Help):
|
||||||
|
|
||||||
```
|
```
|
||||||
CL-USER> (clog:open-manual)
|
CL-USER> (clog:open-manual)
|
||||||
|
|
@ -171,7 +178,7 @@ to be a CLOGer.
|
||||||

|

|
||||||
|
|
||||||
|
|
||||||
Here is a sample CLOG app:
|
Here is a very simple sample CLOG app (from Tutorial 1):
|
||||||
|
|
||||||
```lisp
|
```lisp
|
||||||
(defpackage #:clog-user ; Setup a package for our work to exist in
|
(defpackage #:clog-user ; Setup a package for our work to exist in
|
||||||
|
|
@ -225,97 +232,8 @@ Other samples of CLOG on the web:
|
||||||
- [CLOG on iOS and Android](https://www.reddit.com/r/lisp/comments/tl46of/would_it_be_cool_to_run_a_clog_app_on_mobile_you/)
|
- [CLOG on iOS and Android](https://www.reddit.com/r/lisp/comments/tl46of/would_it_be_cool_to_run_a_clog_app_on_mobile_you/)
|
||||||
- [Learn CLOG Dashboard](https://gist.github.com/mmontone/3a5a8a57675750e99ffb7fa64f40bc39#file-clog-learn-lisp)
|
- [Learn CLOG Dashboard](https://gist.github.com/mmontone/3a5a8a57675750e99ffb7fa64f40bc39#file-clog-learn-lisp)
|
||||||
|
|
||||||
Websites/apps made with CLOG
|
Get started learning CLOG and the CLOG Builder with
|
||||||
|
* [Learn CLOG](LEARN.md)
|
||||||
- clogpower.com
|
|
||||||
- ackfock.com
|
|
||||||
|
|
||||||
CLOG Builder Tutorials
|
|
||||||
|
|
||||||
1. Chat App
|
|
||||||
https://www.reddit.com/r/lisp/comments/sj1tv5/clog_builder_tutorial_1_a_chat_app_from_start_to/
|
|
||||||
2. Building a Web Page
|
|
||||||
https://www.reddit.com/r/lisp/comments/sn8j77/clog_builder_tutorial_2_building_a_web_page/
|
|
||||||
3. Importing HTML in to Builder, Adding Pages and Hand Coding
|
|
||||||
https://www.reddit.com/r/lisp/comments/snvv0w/clog_builder_tutorial_3_importing_html_adding/
|
|
||||||
4. CLOS-CONTACT - Using database controls demos a contact manager app in clog.
|
|
||||||
https://www.reddit.com/r/lisp/comments/t61sib/clog_builder_tutorial_4_a_complete_database_app/
|
|
||||||
5. Using and Creating Custom Controls
|
|
||||||
https://www.reddit.com/r/lisp/comments/w2d6dr/builder_tutorial_5_using_and_creating_lisp_custom/
|
|
||||||
|
|
||||||
CLOG Tutorials
|
|
||||||
|
|
||||||
- [01-tutorial.lisp](tutorial/01-tutorial.lisp) - Hello World
|
|
||||||
- [02-tutorial.lisp](tutorial/02-tutorial.lisp) - Closures in CLOG
|
|
||||||
- [03-tutorial.lisp](tutorial/03-tutorial.lisp) - Events fire in parallel
|
|
||||||
- [04-tutorial.lisp](tutorial/04-tutorial.lisp) - The event target, reusing event handlers
|
|
||||||
- [05-tutorial.lisp](tutorial/05-tutorial.lisp) - Using connection-data-item
|
|
||||||
- [06-tutorial.lisp](tutorial/06-tutorial.lisp) - Tasking and events
|
|
||||||
- [07-tutorial.lisp](tutorial/07-tutorial.lisp) - My first CLOG video game (and handling disconnects)
|
|
||||||
- [08-tutorial.lisp](tutorial/08-tutorial.lisp) - Mice Love Containers
|
|
||||||
- [09-tutorial.lisp](tutorial/09-tutorial.lisp) - Tabs, panels, and forms
|
|
||||||
- [10-tutorial.lisp](tutorial/10-tutorial.lisp) - Canvas
|
|
||||||
- [11-tutorial.lisp](tutorial/11-tutorial.lisp) - Attaching to existing HTML
|
|
||||||
- [12-tutorial.lisp](tutorial/12-tutorial.lisp) - Running a website in CLOG (routing)
|
|
||||||
- [13-tutorial/](tutorial/13-tutorial) - Flying Solo - A minimalist CLOG project
|
|
||||||
- [14-tutorial.lisp](tutorial/14-tutorial.lisp) - Local (persistent) and Session client-side storage
|
|
||||||
- [15-tutorial.lisp](tutorial/15-tutorial.lisp) - Multi-media
|
|
||||||
- [16-tutorial.lisp](tutorial/16-tutorial.lisp) - Bootstrap 4, Loading css files and javascript
|
|
||||||
- [17-tutorial.lisp](tutorial/17-tutorial.lisp) - W3.CSS layout example and Form submit methods
|
|
||||||
- [18-tutorial.lisp](tutorial/18-tutorial.lisp) - Drag and Drop
|
|
||||||
- [19-tutorial.lisp](tutorial/19-tutorial.lisp) - Using JavaScript components
|
|
||||||
- [20-tutorial.lisp](tutorial/20-tutorial.lisp) - New CLOG plugin from JavaScript component
|
|
||||||
- [21-tutorial.lisp](tutorial/21-tutorial.lisp) - New CLOG plugin in Common-Lisp
|
|
||||||
- [22-tutorial.lisp](tutorial/22-tutorial.lisp) - CLOG GUI Menus and Desktop Look and Feel, and popups
|
|
||||||
- [23-tutorial.lisp](tutorial/23-tutorial.lisp) - Using semaphores to wait for input
|
|
||||||
- [24-tutorial.lisp](tutorial/24-tutorial.lisp) - CLOG WEB containers
|
|
||||||
- [25-tutorial.lisp](tutorial/25-tutorial.lisp) - A "local" web app using CLOG WEB
|
|
||||||
- [26-tutorial.lisp](tutorial/26-tutorial.lisp) - A web page and form with CLOG WEB
|
|
||||||
- [27-tutorial.lisp](tutorial/27-tutorial.lisp) - Panel Box Layouts
|
|
||||||
- [28-tutorial/](tutorial/28-tutorial) - CLOG Builder Hello - A minimalist CLOG Builder project
|
|
||||||
- [29-tutorial.lisp](tutorial/29-tutorial.lisp) - Presentations (and jQuery) - linking lisp objects to clog objects
|
|
||||||
- [30-tutorial.lisp](tutorial/30-tutorial.lisp) - Instant websites - clog-web-site
|
|
||||||
- [31-tutorial.lisp](tutorial/31-tutorial.lisp) - Database and Authority based websites - clog-web-dbi and clog-auth
|
|
||||||
- [32-tutorial.lisp](tutorial/32-tutorial.lisp) - Database Managed Content websites - clog-web-content
|
|
||||||
- [33-tutorial.lisp](tutorial/33-tutorial.lisp) - with-clog-create - Using a declarative syntax for GUIs
|
|
||||||
- [34-tutorial.lisp](tutorial/34-tutorial.lisp) - 2D WebGL example
|
|
||||||
- [35-tutorial.lisp](tutorial/35-tutorial.lisp) - 3D WebGL example
|
|
||||||
|
|
||||||
CLOG Demos
|
|
||||||
|
|
||||||
- [01-demo.lisp](demos/01-demo.lisp) - Sparkey the Snake Game
|
|
||||||
- [02-demo.lisp](demos/02-demo.lisp) - Chat - Private instant messenger
|
|
||||||
- [03-demo.lisp](demos/03-demo.lisp) - IDE - A very simple common lisp IDE
|
|
||||||
- [04-demo.lisp](demos/04-demo.lisp) - CMS Website - A very simple database driven website
|
|
||||||
|
|
||||||
CLOG Video Series - CLOG Plunger
|
|
||||||
- [CLOG Plunger - Episode 1](https://www.youtube.com/watch?v=srme8Sh4nI4) - Flow - The real secret to Common Lisp productivity.
|
|
||||||
- [CLOG Plunger - Episode 2](https://www.youtube.com/watch?v=0i1GM8Pz-G4) - The prequel
|
|
||||||
- [CLOG Plunger - Episode 3](https://www.youtube.com/watch?v=z0H8uVRoPOI) - A new menu item and a draggable Index Card
|
|
||||||
- [CLOG Plunger - Episode 4](https://www.youtube.com/watch?v=Fzv0hZqYk5Q) - Panels are classes
|
|
||||||
- [CLOG Plunger - Episode 5](https://www.youtube.com/watch?v=CjBDhp89BGE) - Selectedp and make-resizable
|
|
||||||
- [CLOG Plunger - Episode 6](https://www.youtube.com/watch?v=wLEWNVq_zt8) - Adding a cork board and data URIs
|
|
||||||
- [CLOG Plunger - Episode 7](https://www.youtube.com/watch?v=RLDhklvsj2Q) - Add card, Delete cards, Edit Cards
|
|
||||||
- [CLOG Plunger - Episode 8](https://www.youtube.com/watch?v=pGVaXnY8Xh8) - Moving data in and out of cards
|
|
||||||
- [CLOG Plunger - Episode 9](https://www.youtube.com/watch?v=oapC2921vpo) - File save and load
|
|
||||||
- [CLOG Plunger - Episode 10](https://www.youtube.com/watch?v=ew_I-Mf1W0I) - Moving the board to a component with save, load, delete of cards
|
|
||||||
- [CLOG Plunger - Episode 11](https://www.youtube.com/watch?v=izgRAhcHCxA) - Debugging Race Conditions
|
|
||||||
|
|
||||||
CLOG Extras - Supplementary Video Series
|
|
||||||
- [CLOG Extra 1](https://www.youtube.com/watch?v=HbKWnAxrwRo) - What is Eval Form / Eval Sel / Eval All in the builder?
|
|
||||||
- [CLOG Extra 2](https://www.youtube.com/watch?v=ffoHO2d6WDE) - The CLOG Plugin - CLOG-Plotly
|
|
||||||
- [CLOG Extra 3](https://www.youtube.com/watch?v=jEBDwjMnFXE) - The CLOG Project System
|
|
||||||
- [CLOG Extra 4](https://www.youtube.com/watch?v=CgTJMxsz3EY) - All about panels
|
|
||||||
|
|
||||||
Common Lisp The Language - Supplementary programming tutorials
|
|
||||||
|
|
||||||
A series covering Common Lisp, highlighting key points and discussions on using the key reference to Common Lisp. Quick paced and intended for review further work on mastering the power of Common using the book: [Common Lisp The Language 2nd Edition by Guy L. Steele](https://www.cs.cmu.edu/Groups/AI/html/cltl/cltl2.html)
|
|
||||||
|
|
||||||
- [Common Lisp The Language 2nd Edition - Episode #1](https://www.youtube.com/watch?v=lxd_xcXmPPY) - Covers Preface, Chp 1 and 2
|
|
||||||
- [Common Lisp The Language 2nd Edition - Episode #2](https://www.youtube.com/watch?v=9mvQzbr7fIQ) - Covers Chp 3 - Scope and Extent
|
|
||||||
- [Common Lisp The Language 2nd Edition - Episode #3](https://www.youtube.com/watch?v=VABqkuIwiJY) - Covers Chp 4 - Type Specifiers
|
|
||||||
- [Common Lisp The Language 2nd Edition - Episode #4](https://www.youtube.com/watch?v=rS3TVHULeUc) - Covers Chp 5 - Program Structure
|
|
||||||
- [Common Lisp The Language 2nd Edition - Episode #5](https://www.youtube.com/watch?v=4GYwSxoMo2Q) - - Covers Chp 6 - Predicates
|
|
||||||
|
|
||||||
Tool Summary
|
Tool Summary
|
||||||
|
|
||||||
|
|
|
||||||
89
doc/clog-manual.html
vendored
89
doc/clog-manual.html
vendored
|
|
@ -6539,11 +6539,11 @@ clog-body. If main-menu add as main menu bar.</p></li>
|
||||||
<p><a id="x-28CLOG-GUI-3ACREATE-GUI-MENU-WINDOW-SELECT-20GENERIC-FUNCTION-29"></a>
|
<p><a id="x-28CLOG-GUI-3ACREATE-GUI-MENU-WINDOW-SELECT-20GENERIC-FUNCTION-29"></a>
|
||||||
<a id="CLOG-GUI:CREATE-GUI-MENU-WINDOW-SELECT%20GENERIC-FUNCTION"></a></p>
|
<a id="CLOG-GUI:CREATE-GUI-MENU-WINDOW-SELECT%20GENERIC-FUNCTION"></a></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:CREATE-GUI-MENU-WINDOW-SELECT%20GENERIC-FUNCTION" >CREATE-GUI-MENU-WINDOW-SELECT</a></span></span> <span class="locative-args">CLOG-OBJ &KEY CLASS HTML-ID</span></span></p>
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:CREATE-GUI-MENU-WINDOW-SELECT%20GENERIC-FUNCTION" >CREATE-GUI-MENU-WINDOW-SELECT</a></span></span> <span class="locative-args">CLOG-OBJ &KEY CLASS HTML-ID CONTENT</span></span></p>
|
||||||
|
|
||||||
<p>Attached a clog-select as a menu item that auto updates
|
<p>Attaches a clog-select as a menu item that auto updates
|
||||||
with open windows and maximizes them unless is a keep-on-top window or
|
with open windows and focuses them unless is a keep-on-top window.
|
||||||
on-window-can-maximize returns nil. Only one instance allowed.</p></li>
|
Only one instance allowed.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a id="x-28CLOG-GUI-3ACREATE-GUI-MENU-FULL-SCREEN-20GENERIC-FUNCTION-29"></a>
|
<p><a id="x-28CLOG-GUI-3ACREATE-GUI-MENU-FULL-SCREEN-20GENERIC-FUNCTION-29"></a>
|
||||||
<a id="CLOG-GUI:CREATE-GUI-MENU-FULL-SCREEN%20GENERIC-FUNCTION"></a></p>
|
<a id="CLOG-GUI:CREATE-GUI-MENU-FULL-SCREEN%20GENERIC-FUNCTION"></a></p>
|
||||||
|
|
@ -6551,7 +6551,7 @@ on-window-can-maximize returns nil. Only one instance allowed.</p></li>
|
||||||
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:CREATE-GUI-MENU-FULL-SCREEN%20GENERIC-FUNCTION" >CREATE-GUI-MENU-FULL-SCREEN</a></span></span> <span class="locative-args">CLOG-GUI-MENU-BAR &KEY HTML-ID</span></span></p>
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:CREATE-GUI-MENU-FULL-SCREEN%20GENERIC-FUNCTION" >CREATE-GUI-MENU-FULL-SCREEN</a></span></span> <span class="locative-args">CLOG-GUI-MENU-BAR &KEY HTML-ID</span></span></p>
|
||||||
|
|
||||||
<p>Add as last item in menu bar to allow for a full screen
|
<p>Add as last item in menu bar to allow for a full screen
|
||||||
icon ⤢ and full screen mode.</p></li>
|
icon ⤢ (<em>menu-full-screen-item</em> default) and full screen mode.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a id="x-28CLOG-GUI-3ACREATE-GUI-MENU-ICON-20GENERIC-FUNCTION-29"></a>
|
<p><a id="x-28CLOG-GUI-3ACREATE-GUI-MENU-ICON-20GENERIC-FUNCTION-29"></a>
|
||||||
<a id="CLOG-GUI:CREATE-GUI-MENU-ICON%20GENERIC-FUNCTION"></a></p>
|
<a id="CLOG-GUI:CREATE-GUI-MENU-ICON%20GENERIC-FUNCTION"></a></p>
|
||||||
|
|
@ -6669,7 +6669,7 @@ use jquery-ui to move/resize and will not work on mobile and touch events
|
||||||
are limitted to clicks. When client-movement is t only on-window-move is fired
|
are limitted to clicks. When client-movement is t only on-window-move is fired
|
||||||
once at start of drag and on-window-move-done at end of drag and
|
once at start of drag and on-window-move-done at end of drag and
|
||||||
on-window-resize at start of resize and on-window-resize-done at end of resize.
|
on-window-resize at start of resize and on-window-resize-done at end of resize.
|
||||||
If has-pinner a toggle wil appear on title bar to allow pinning the window in
|
If has-pinner a toggle will appear on title bar to allow pinning the window in
|
||||||
place, if keep-on-top t then when pinned also will keep-on-top. If had-pinned
|
place, if keep-on-top t then when pinned also will keep-on-top. If had-pinned
|
||||||
is nil and keep-on-top t then the window will be set to keep-on-top always.
|
is nil and keep-on-top t then the window will be set to keep-on-top always.
|
||||||
window-param is a general parameter for identifiying the window to use with
|
window-param is a general parameter for identifiying the window to use with
|
||||||
|
|
@ -6742,12 +6742,22 @@ the browser.</p></li>
|
||||||
|
|
||||||
<p>Toggle <code>CLOG-GUI-WINDOW</code> as maximize window.</p></li>
|
<p>Toggle <code>CLOG-GUI-WINDOW</code> as maximize window.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3AWINDOW-TOGGLE-PINNED-20GENERIC-FUNCTION-29"></a>
|
||||||
|
<a id="CLOG-GUI:WINDOW-TOGGLE-PINNED%20GENERIC-FUNCTION"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:WINDOW-TOGGLE-PINNED%20GENERIC-FUNCTION" >WINDOW-TOGGLE-PINNED</a></span></span> <span class="locative-args">CLOG-GUI-WINDOW &KEY STATE KEEP-ON-TOP</span></span></p>
|
||||||
|
|
||||||
|
<p>Toggle the pinned state of a <code>CLOG-GUI-WINDOW</code>. A pinned
|
||||||
|
window cannot be moved, closed, resized, maximized or normalized. A new
|
||||||
|
window is always unpinned. If keep-on-top the keep-on-top state is toggled
|
||||||
|
to match the pinned state. :state forces state. Returns new state</p></li>
|
||||||
|
</ul>
|
||||||
<p><a id="x-28CLOG-GUI-3AWINDOW-KEEP-ON-TOP-20GENERIC-FUNCTION-29"></a>
|
<p><a id="x-28CLOG-GUI-3AWINDOW-KEEP-ON-TOP-20GENERIC-FUNCTION-29"></a>
|
||||||
<a id="CLOG-GUI:WINDOW-KEEP-ON-TOP%20GENERIC-FUNCTION"></a></p>
|
<a id="CLOG-GUI:WINDOW-KEEP-ON-TOP%20GENERIC-FUNCTION"></a></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:WINDOW-KEEP-ON-TOP%20GENERIC-FUNCTION" >WINDOW-KEEP-ON-TOP</a></span></span> <span class="locative-args">CLOG-GUI-WINDOW</span></span></p>
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[generic-function]</span> <span class="reference-object"><a href="#CLOG-GUI:WINDOW-KEEP-ON-TOP%20GENERIC-FUNCTION" >WINDOW-KEEP-ON-TOP</a></span></span> <span class="locative-args">CLOG-GUI-WINDOW &KEY STATE</span></span></p>
|
||||||
|
|
||||||
<p>Set <code>CLOG-GUI-WINDOW</code> to stay on top. Use window-focus to undue.</p></li>
|
<p>Set <code>CLOG-GUI-WINDOW</code> to stay on top based on state (default t).</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a id="x-28CLOG-GUI-3AWINDOW-MAKE-MODAL-20GENERIC-FUNCTION-29"></a>
|
<p><a id="x-28CLOG-GUI-3AWINDOW-MAKE-MODAL-20GENERIC-FUNCTION-29"></a>
|
||||||
<a id="CLOG-GUI:WINDOW-MAKE-MODAL%20GENERIC-FUNCTION"></a></p>
|
<a id="CLOG-GUI:WINDOW-MAKE-MODAL%20GENERIC-FUNCTION"></a></p>
|
||||||
|
|
@ -6928,6 +6938,58 @@ if confirmed or nil if canceled.</p></li>
|
||||||
<p>Create a local file dialog box called <code>TITLE</code> using <code>INITIAL-DIR</code> on server
|
<p>Create a local file dialog box called <code>TITLE</code> using <code>INITIAL-DIR</code> on server
|
||||||
machine, upon close <code>ON-FILE-NAME</code> called with filename or nil if failure.</p></li>
|
machine, upon close <code>ON-FILE-NAME</code> called with filename or nil if failure.</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
|
<p><code>CLOG-GUI</code> - Look and Feel</p>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2AMENU-BAR-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*MENU-BAR-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*MENU-BAR-CLASS*%20VARIABLE" >*MENU-BAR-CLASS*</a></span></span> <span class="locative-args">"w3-bar w3-black w3-card-4"</span></span></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2AMENU-BAR-DROP-DOWN-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*MENU-BAR-DROP-DOWN-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*MENU-BAR-DROP-DOWN-CLASS*%20VARIABLE" >*MENU-BAR-DROP-DOWN-CLASS*</a></span></span> <span class="locative-args">"w3-dropdown-content w3-bar-block w3-card-4"</span></span></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2AMENU-ITEM-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*MENU-ITEM-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*MENU-ITEM-CLASS*%20VARIABLE" >*MENU-ITEM-CLASS*</a></span></span> <span class="locative-args">"w3-bar-item w3-button"</span></span></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2AMENU-WINDOW-SELECT-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*MENU-WINDOW-SELECT-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*MENU-WINDOW-SELECT-CLASS*%20VARIABLE" >*MENU-WINDOW-SELECT-CLASS*</a></span></span> <span class="locative-args">"w3-bar-item w3-button"</span></span></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2AMENU-FULL-SCREEN-ITEM-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*MENU-FULL-SCREEN-ITEM*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*MENU-FULL-SCREEN-ITEM*%20VARIABLE" >*MENU-FULL-SCREEN-ITEM*</a></span></span> <span class="locative-args">"⤢"</span></span></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2AMENU-ICON-IMAGE-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*MENU-ICON-IMAGE-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*MENU-ICON-IMAGE-CLASS*%20VARIABLE" >*MENU-ICON-IMAGE-CLASS*</a></span></span> <span class="locative-args">"w3-button w3-bar-item"</span></span></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2ATOP-BAR-HEIGHT-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*TOP-BAR-HEIGHT*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*TOP-BAR-HEIGHT*%20VARIABLE" >*TOP-BAR-HEIGHT*</a></span></span> <span class="locative-args">20</span></span></p>
|
||||||
|
|
||||||
|
<p>Overlap on new windows created with top set as nil</p></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2ADEFAULT-TITLE-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*DEFAULT-TITLE-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*DEFAULT-TITLE-CLASS*%20VARIABLE" >*DEFAULT-TITLE-CLASS*</a></span></span> <span class="locative-args">"w3-black"</span></span></p>
|
||||||
|
|
||||||
|
<p>Window title bar class</p></li>
|
||||||
|
</ul>
|
||||||
|
<p><a id="x-28CLOG-GUI-3A-2ADEFAULT-BORDER-CLASS-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG-GUI:*DEFAULT-BORDER-CLASS*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG-GUI:*DEFAULT-BORDER-CLASS*%20VARIABLE" >*DEFAULT-BORDER-CLASS*</a></span></span> <span class="locative-args">"w3-card-4 w3-white w3-border"</span></span></p>
|
||||||
|
|
||||||
|
<p>Window frame border</p></li>
|
||||||
|
</ul>
|
||||||
<p><a id="x-28CLOG-3A-40CLOG-WEB-20MGL-PAX-3ASECTION-29"></a>
|
<p><a id="x-28CLOG-3A-40CLOG-WEB-20MGL-PAX-3ASECTION-29"></a>
|
||||||
<a id="CLOG:@CLOG-WEB%20MGL-PAX:SECTION"></a></p>
|
<a id="CLOG:@CLOG-WEB%20MGL-PAX:SECTION"></a></p>
|
||||||
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">←</a> <a href="clog-manual.html" title="The CLOG manual">↑</a> <a href="#CLOG:@CLOG-WEB-DBI%20MGL-PAX:SECTION" title="CLOG Web DBI">→</a> <a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">↺</a></span></span></p>
|
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-GUI%20MGL-PAX:SECTION" title="CLOG GUI Objects">←</a> <a href="clog-manual.html" title="The CLOG manual">↑</a> <a href="#CLOG:@CLOG-WEB-DBI%20MGL-PAX:SECTION" title="CLOG Web DBI">→</a> <a href="#CLOG:@CLOG-WEB%20MGL-PAX:SECTION" title="CLOG Web Objects">↺</a></span></span></p>
|
||||||
|
|
@ -7694,17 +7756,24 @@ replace the browser contents with <code>HTML</code>.</p></li>
|
||||||
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">←</a> <a href="clog-manual.html" title="The CLOG manual">↑</a> <a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">→</a> <a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">↺</a></span></span></p>
|
<p><span class="outer-navigation"><span class="navigation"> <a href="#CLOG:@CLOG-BODY%20MGL-PAX:SECTION" title="CLOG Body Objects">←</a> <a href="clog-manual.html" title="The CLOG manual">↑</a> <a href="#CLOG:@CLOG-DOCUMENT%20MGL-PAX:SECTION" title="CLOG Document Objects">→</a> <a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION" title="CLOG Window Objects">↺</a></span></span></p>
|
||||||
<h2><a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION">24 CLOG Window Objects</a></h2>
|
<h2><a href="#CLOG:@CLOG-WINDOW%20MGL-PAX:SECTION">24 CLOG Window Objects</a></h2>
|
||||||
<p>CLOG Popups</p>
|
<p>CLOG Popups</p>
|
||||||
|
<p><a id="x-28CLOG-3A-2ACLOG-POPUP-PATH-2A-20VARIABLE-29"></a>
|
||||||
|
<a id="CLOG:*CLOG-POPUP-PATH*%20VARIABLE"></a></p>
|
||||||
|
<ul>
|
||||||
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[variable]</span> <span class="reference-object"><a href="#CLOG:*CLOG-POPUP-PATH*%20VARIABLE" >*CLOG-POPUP-PATH*</a></span></span> <span class="locative-args">"/clogwin"</span></span></p>
|
||||||
|
|
||||||
|
<p>Default <a href="#CLOG:URL%20GENERIC-FUNCTION" title="CLOG:URL GENERIC-FUNCTION"><code>URL</code></a> for popup windows</p></li>
|
||||||
|
</ul>
|
||||||
<p><a id="x-28CLOG-3AENABLE-CLOG-POPUP-20FUNCTION-29"></a>
|
<p><a id="x-28CLOG-3AENABLE-CLOG-POPUP-20FUNCTION-29"></a>
|
||||||
<a id="CLOG:ENABLE-CLOG-POPUP%20FUNCTION"></a></p>
|
<a id="CLOG:ENABLE-CLOG-POPUP%20FUNCTION"></a></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:ENABLE-CLOG-POPUP%20FUNCTION" >ENABLE-CLOG-POPUP</a></span></span> <span class="locative-args">&KEY (PATH <code>*CLOG-POPUP-PATH*</code>)</span></span></p>
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:ENABLE-CLOG-POPUP%20FUNCTION" >ENABLE-CLOG-POPUP</a></span></span> <span class="locative-args">&KEY (PATH <a href="#CLOG:*CLOG-POPUP-PATH*%20VARIABLE" title="CLOG:*CLOG-POPUP-PATH* VARIABLE"><code>*CLOG-POPUP-PATH*</code></a>) (BOOT-FILE "/boot.html")</span></span></p>
|
||||||
|
|
||||||
<p>Enable handling of clog enabled popups</p></li>
|
<p>Enable handling of clog enabled popups</p></li>
|
||||||
</ul>
|
</ul>
|
||||||
<p><a id="x-28CLOG-3AOPEN-CLOG-POPUP-20FUNCTION-29"></a>
|
<p><a id="x-28CLOG-3AOPEN-CLOG-POPUP-20FUNCTION-29"></a>
|
||||||
<a id="CLOG:OPEN-CLOG-POPUP%20FUNCTION"></a></p>
|
<a id="CLOG:OPEN-CLOG-POPUP%20FUNCTION"></a></p>
|
||||||
<ul>
|
<ul>
|
||||||
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:OPEN-CLOG-POPUP%20FUNCTION" >OPEN-CLOG-POPUP</a></span></span> <span class="locative-args">OBJ &KEY (PATH <code>*CLOG-POPUP-PATH*</code>) (ADD-SYNC-TO-PATH <code>T</code>) (SYNC-KEY (<a href="#CLOG-CONNECTION:RANDOM-HEX-STRING%20FUNCTION" title="CLOG-CONNECTION:RANDOM-HEX-STRING FUNCTION"><code>RANDOM-HEX-STRING</code></a>)) (NAME "_blank") (SPECS "") (WAIT-TIMEOUT 10)</span></span></p>
|
<li><p><span class=reference-bullet><span class=reference><span class="locative-type">[function]</span> <span class="reference-object"><a href="#CLOG:OPEN-CLOG-POPUP%20FUNCTION" >OPEN-CLOG-POPUP</a></span></span> <span class="locative-args">OBJ &KEY (PATH <a href="#CLOG:*CLOG-POPUP-PATH*%20VARIABLE" title="CLOG:*CLOG-POPUP-PATH* VARIABLE"><code>*CLOG-POPUP-PATH*</code></a>) (ADD-SYNC-TO-PATH <code>T</code>) (SYNC-KEY (<a href="#CLOG-CONNECTION:RANDOM-HEX-STRING%20FUNCTION" title="CLOG-CONNECTION:RANDOM-HEX-STRING FUNCTION"><code>RANDOM-HEX-STRING</code></a>)) (NAME "_blank") (SPECS "") (WAIT-TIMEOUT 10)</span></span></p>
|
||||||
|
|
||||||
<p>Open a new browser window/popup in most cases a tab. Since they are controlled
|
<p>Open a new browser window/popup in most cases a tab. Since they are controlled
|
||||||
by clog you have full control of the new popups and are more flexible than using
|
by clog you have full control of the new popups and are more flexible than using
|
||||||
|
|
|
||||||
|
|
@ -88,7 +88,6 @@
|
||||||
(server-file-dialog function)
|
(server-file-dialog function)
|
||||||
|
|
||||||
"CLOG-GUI - Look and Feel"
|
"CLOG-GUI - Look and Feel"
|
||||||
(*menu-bar-class variable)
|
|
||||||
(*menu-bar-class* variable)
|
(*menu-bar-class* variable)
|
||||||
(*menu-bar-drop-down-class* variable)
|
(*menu-bar-drop-down-class* variable)
|
||||||
(*menu-item-class* variable)
|
(*menu-item-class* variable)
|
||||||
|
|
|
||||||
|
|
@ -69,6 +69,7 @@
|
||||||
(m-save (create-gui-menu-item m-file :content "save (cmd/ctrl-s)"))
|
(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-saveas (create-gui-menu-item m-file :content "save as.."))
|
||||||
(m-emacs (create-gui-menu-item m-file :content "open in emacs"))
|
(m-emacs (create-gui-menu-item m-file :content "open in emacs"))
|
||||||
|
(m-ntab (create-gui-menu-item m-file :content "open in new tab"))
|
||||||
(m-edit (create-gui-menu-drop-down menu :content "Edit"))
|
(m-edit (create-gui-menu-drop-down menu :content "Edit"))
|
||||||
(m-undo (create-gui-menu-item m-edit :content "undo (cmd/ctrl-z)"))
|
(m-undo (create-gui-menu-item m-edit :content "undo (cmd/ctrl-z)"))
|
||||||
(m-redo (create-gui-menu-item m-edit :content "redo (shift cmd/ctrl-z)"))
|
(m-redo (create-gui-menu-item m-edit :content "redo (shift cmd/ctrl-z)"))
|
||||||
|
|
@ -232,9 +233,6 @@
|
||||||
(setf last-date (file-write-date file-name))
|
(setf last-date (file-write-date file-name))
|
||||||
(sleep .5)
|
(sleep .5)
|
||||||
(remove-class btn-save "w3-animate-top"))))
|
(remove-class btn-save "w3-animate-top"))))
|
||||||
(set-on-click m-emacs (lambda (obj)
|
|
||||||
(declare (ignore obj))
|
|
||||||
(swank:ed-in-emacs file-name)))
|
|
||||||
(flet ((save (obj data &key save-as)
|
(flet ((save (obj data &key save-as)
|
||||||
(cond ((or (equal file-name "")
|
(cond ((or (equal file-name "")
|
||||||
(getf data :shift-key)
|
(getf data :shift-key)
|
||||||
|
|
@ -273,6 +271,16 @@
|
||||||
(setf last-date (file-write-date file-name))
|
(setf last-date (file-write-date file-name))
|
||||||
(sleep .5)
|
(sleep .5)
|
||||||
(remove-class btn-save "w3-animate-top"))))))))))
|
(remove-class btn-save "w3-animate-top"))))))))))
|
||||||
|
(set-on-click m-emacs (lambda (obj)
|
||||||
|
(when is-dirty
|
||||||
|
(save obj nil))
|
||||||
|
(swank:ed-in-emacs file-name)
|
||||||
|
(window-close win)))
|
||||||
|
(set-on-click m-ntab (lambda (obj)
|
||||||
|
(when is-dirty
|
||||||
|
(save obj nil))
|
||||||
|
(on-open-file-ext obj :open-file file-name)
|
||||||
|
(window-close win)))
|
||||||
(set-on-window-can-close win
|
(set-on-window-can-close win
|
||||||
(lambda (obj)
|
(lambda (obj)
|
||||||
(cond (is-dirty
|
(cond (is-dirty
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue