6
35
Fork
You've already forked mold-desktop
0
A programmable desktop
  • Common Lisp 90.2%
  • CSS 4.3%
  • JavaScript 3.9%
  • Java 0.9%
  • HTML 0.5%
Find a file
2025年02月28日 15:00:51 -03:00
apps TODO 2025年02月28日 15:00:51 -03:00
assets Example: Country capitals 2023年01月16日 21:04:42 -03:00
book Housekeeping 2025年02月17日 13:22:44 -03:00
build Load/build 2025年01月14日 08:38:54 -03:00
desktop/webview Housekeeping 2022年05月30日 10:06:07 -03:00
docker build 2022年06月06日 21:20:54 -03:00
docs/modules Extensible documentation subsystem 2023年04月24日 11:39:33 -03:00
examples Manifest serialization 2025年01月24日 18:00:06 -03:00
lib First commit 2022年05月20日 11:01:05 -03:00
modules Modules 2023年03月27日 21:51:12 -03:00
richtext/editor-js Richtext object work 2022年07月06日 10:36:00 -03:00
screenshots Overview video 2023年01月29日 13:05:34 -03:00
static Halo buttons position 2025年02月21日 19:23:42 -03:00
tests More classification 2025年02月12日 19:11:11 -03:00
.dockerignore "binary docker" deployment to fly.io works 2022年09月29日 06:21:53 -03:00
.gitignore qlot for dependencies 2024年03月26日 15:05:45 -03:00
ace-editor.lisp I'm still lazy 2023年02月01日 17:28:12 -03:00
asdf.lisp Pathname and asdf 2025年01月17日 19:43:24 -03:00
book.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
calendar.lisp Extensible documentation subsystem 2023年04月24日 11:39:33 -03:00
change-tracker.lisp Prepare for a change monitoring service 2023年02月20日 20:57:28 -03:00
charts.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
classifier-collection.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
clog-inspector.lisp Housekeeping 2022年05月29日 11:27:06 -03:00
collections.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
colors.lisp Desktop background color 2023年01月26日 22:37:48 -03:00
command-bar.lisp Command prompt 2025年02月25日 18:00:41 -03:00
commands-core.lisp Emacs commands (don't work) 2025年02月17日 15:10:55 -03:00
commands.lisp Command prompt 2025年02月25日 18:12:13 -03:00
contact.lisp Fixes 2023年02月18日 15:23:53 -03:00
core-objects.lisp Modules 2023年03月27日 21:51:12 -03:00
CoreNLP.lisp More NLP stuff 2022年05月27日 11:33:56 -03:00
cron.lisp CRON jobs views 2023年05月01日 11:03:06 -03:00
custom-types.lisp Custom types 2025年02月25日 18:00:55 -03:00
dashboard.lisp Big refactoring: rename items to members 2023年02月13日 22:06:53 -03:00
datatables.lisp DataTables view 2023年02月04日 22:30:27 -03:00
default-views.lisp First iteration of an icons view 2023年05月01日 15:39:32 -03:00
desktop.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
deta.lisp deta store 2022年09月29日 05:48:23 -03:00
dev.lisp Development stuff 2024年09月19日 11:05:50 -03:00
dialog.lisp TODO: dialog api 2022年06月01日 17:58:31 -03:00
dispatcher-acceptor.lisp dispatcher-acceptor 2025年01月24日 16:07:46 -03:00
doc.lisp Things ... 2025年02月14日 12:36:56 -03:00
Dockerfile "binary docker" deployment to fly.io works 2022年09月29日 06:21:53 -03:00
Dockerfile.ccl Build stuff 2022年09月28日 22:16:40 -03:00
Dockerfile.sbcl Build stuff 2022年09月28日 22:16:40 -03:00
email.lisp Refactorings 2023年04月29日 12:15:12 -03:00
events.lisp Events system 2022年07月01日 20:30:41 -03:00
filesystem.lisp Adjustment 2025年02月18日 19:19:03 -03:00
fly.toml fly.io config 2022年09月28日 21:18:21 -03:00
forms.lisp Forms building first example 2022年05月26日 19:06:17 -03:00
fulltext-search.lisp fulltext search first example 2022年07月13日 14:19:02 -03:00
gdrive.lisp bah ... 2022年06月07日 10:35:59 -03:00
google-search.mod.lisp Modules 2023年03月28日 10:33:45 -03:00
graph.lisp Adjustments to graph view 2023年02月19日 01:36:20 -03:00
gui.lisp Indeterminate jobs 2023年04月27日 13:00:59 -03:00
halos.lisp HOusekeeping 2025年02月21日 21:38:08 -03:00
help.lisp Help 2024年10月12日 19:34:39 -03:00
heroku.lisp Heroku self ping 2022年06月04日 21:18:10 -03:00
http-api.lisp TODO 2023年02月22日 17:07:37 -03:00
http-request.lisp Hash table views 2023年02月22日 17:03:59 -03:00
icon-chooser.lisp Categorized thumbnails view 2022年07月16日 16:47:31 -03:00
igdb.mod.lisp TODO: IGDB module 2023年05月01日 19:15:15 -03:00
jobs.lisp CRON jobs views 2023年05月01日 11:03:06 -03:00
kanban-view.lisp kanban-view: layout adjustment 2023年04月23日 11:22:31 -03:00
keymaps.lisp TODO 2022年10月26日 13:23:25 -03:00
leaflet.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
LICENSE License and copyright 2022年05月23日 00:08:42 -03:00
links.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
lispdoc.lisp Adjustment 2025年01月11日 15:05:52 -03:00
load.lisp Load 2025年01月17日 13:50:25 -03:00
Makefile Use qlot in Makefile 2024年03月26日 16:17:42 -03:00
menu.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
mime-functions.lisp mime-dispatcher -> mime-functions 2025年01月20日 09:24:46 -03:00
models-example.lisp Big refactoring: rename items to members 2023年02月13日 22:06:53 -03:00
models.lisp TODO 2023年03月22日 13:16:14 -03:00
modules.lisp Use jobs to load modules 2023年04月27日 15:39:18 -03:00
mold-desktop-bookmarks.asd Build with apps 2022年09月28日 19:07:12 -03:00
mold-desktop-feeds.asd Build with apps 2022年09月28日 19:07:12 -03:00
mold-desktop-tasks.asd Model for tasks 2023年02月09日 17:13:57 -03:00
mold-desktop.asd Classifier collection 2025年02月11日 14:29:45 -03:00
naked.lisp Refactorings 2023年04月29日 12:15:12 -03:00
neomacs.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
notifications.lisp Better looking notifications 2024年09月20日 09:51:00 -03:00
object-repository.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
object-settings.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
object.lisp Started a Kanban view 2023年04月23日 00:31:42 -03:00
omdb.mod.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
open-library.mod.lisp Display jobs progress 2023年04月29日 16:41:20 -03:00
open-meteo.lisp open-meteo stuff 2023年01月17日 16:05:27 -03:00
output-stream.lisp Rename to Mold Desktop 2022年05月26日 16:11:20 -03:00
package.json Heroku 2022年05月30日 19:35:46 -03:00
package.lisp Housekeeping 2025年01月25日 17:34:39 -03:00
pathname.lisp mime-dispatcher -> mime-functions 2025年01月20日 09:24:46 -03:00
plots.lisp plots example 2022年07月07日 15:54:12 -03:00
Procfile Heroku 2022年05月30日 19:35:46 -03:00
properties.lisp Documentation in properties editing view 2023年04月02日 21:30:21 -03:00
qlfile add lack as dependency 2025年01月14日 20:28:52 -03:00
qlfile.lock add lack as dependency 2025年01月14日 20:28:52 -03:00
quill.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
README.md Development stuff 2024年09月19日 11:05:50 -03:00
remote-object-server.lisp Remote object server 2025年01月26日 09:54:18 -03:00
remote-object.lisp remote object 2025年01月25日 12:37:19 -03:00
repl.lisp REPL: adjustment 2025年02月25日 18:02:04 -03:00
reverse-proxy.lisp reverse proxy config 2022年06月06日 21:00:07 -03:00
richtext.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
rss.lisp Display jobs progress 2023年04月29日 16:41:20 -03:00
search.lisp Big refactoring: rename items to members 2023年02月13日 22:06:53 -03:00
semantic-ui.lisp TODO: consider other gui framework 2022年06月22日 20:00:24 -03:00
settings.lisp Bug fixes 2025年02月16日 16:28:43 -03:00
side-panel.lisp Open settings tab 2023年01月21日 15:36:19 -03:00
spreadsheet.lisp Idea for spreadsheets 2023年02月16日 16:55:25 -03:00
store.lisp Don't signal error if database file not available 2024年09月22日 21:14:05 -03:00
system-log.lisp system-log-entry 2022年10月28日 10:17:58 -03:00
table.lisp elements-type of collections 2024年04月10日 12:02:01 -03:00
tasks.lisp Tasks have subtasks 2024年09月22日 21:14:34 -03:00
TODO TODO: integrate Neomacs 2024年12月20日 12:47:09 -03:00
tree-model-editor.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00
tree.lisp halos wrapper in tree-detail-view 2025年02月17日 10:50:19 -03:00
triple-store.lisp Adjustments to objects linking 2023年02月03日 13:39:35 -03:00
types.lisp Use modal for editing TEXT arguments 2023年02月21日 18:27:43 -03:00
util.lisp Command prompt 2025年02月25日 18:00:41 -03:00
value-models.lisp value-models: fix in aspect adaptor 2023年04月27日 11:48:35 -03:00
vcard-parser.lisp vcard-parser 2023年02月14日 14:24:55 -03:00
view.lisp Update view when model triggers change event 2025年01月25日 17:46:43 -03:00
viewerjs.lisp viewerjs 2023年02月14日 11:23:20 -03:00
views.lisp wrapper in detail view 2025年02月19日 10:32:50 -03:00
weather-widget.lisp Prettier class completion 2023年01月27日 17:04:29 -03:00
web-data-extractor.lisp Web data extractor 2022年06月04日 17:06:38 -03:00
widgets.lisp Collapsibles 2024年10月12日 18:25:58 -03:00
window-manager.lisp Collections sorting 2024年04月10日 19:01:31 -03:00
workspaces.lisp defcommand: don't show result by default 2025年02月14日 17:38:22 -03:00

Mold Desktop

A Programmable Desktop.

Inspirations

  • McCLIM (commands, presentations).
  • NakedObjects (expose object's properties to UI, commands apply to specific domain models).
  • Emacs (commands, programmability).
  • Smalltalk (halos, programmability).

Running

Download somewhere where QuickLisp can find the project, then:

(ql:quickload :mold-desktop)
(mold-desktop:start)

Use qlot for managing the dependencies:

Install qlot if you don't have it:

 curl -L https://qlot.tech/installer | sh

then install dependencies:

qlot install

start a Lisp repl with in the qlot environment:

qlot exec sbcl

Load and start:

(ql:quickload :mold-desktop)
(mold-desktop:start)

Development

When working with a remote SWANK, we would like *trace-output* and *standard-output* be bound to SLIME streams. But inside threads they are not. This binds them to top-level and makes them accessible via connected SLIME.

(setq bt:*default-special-bindings*
 (list (cons '*trace-output* *trace-output*)
 (cons '*standard-output* *standard-output*)))

Presentation Video

Overview video

Screenshots

screenshot1 screenshot2

References