GithubHelp home page GithubHelp logo

ramarren / cells-gtk3 Goto Github PK

View Code? Open in Web Editor NEW
32.0 5.0 11.0 1.25 MB

Fork of http://common-lisp.net/project/cells-gtk/

Home Page: http://common-lisp.net/project/cells-gtk/

Component Pascal 1.51% Common Lisp 98.49%

cells-gtk3's Introduction

cells-gtk3

This is a fork of cells-gtk3, which is a binding for GTK+ widget toolkit using Cells3. I have not substantially modified it, mostly made it run with current versions of dependencies and modified the FFI layer to use type synonyms.

Dependencies

The system builds against version of dependencies in Quicklisp. Quicklisp contains all Lisp side dependencies. Obviously, you need GTK+ installed (tested with gtk+-2.20.1), and whatever other extensions you want (mostly gtkglext).

Required

Optional

Installation

Note that both cells and cells-gtk3 have multiple .asd files in top level directory. All must be linked into central registry.

By default are optional dependencies are turned on. If you want optional components not to be loaded you have to edit the features.lisp file in cells-gtk3 directory, and comment out appropriate (pushnew ...) command.

Documentation

Cells themselves are documented in cells-doc. There is no documentation for cells-gtk3, but there is comprehensive example application in test-gtk subdirectory.

Status

I cleaned up the library just in case I needed GUI in Lisp, but it turned out that I did not. Hence, the primary extent of my testing is running test-gtk:gtk-demo application. Bug reports and/or patches are welcome.

From my testing, the example application runs on:

x86 linux

  • SBCL 1.0.45 (tested with threading, it has been reported on the mailing list that 1.0.20 doesn't work)
  • CLISP 2.47-r2
  • ECL 9.12.3 (with threads and unicode)

Intel MacOSX

I tried only X11 GTK+ from MacPorts. It should be possible to use Quartz based version of GTK just by changing library names, but I have not tried it. There is not GTK-GL extension for Quartz.

  • SBCL 1.0.30 (from MacPorts)
  • CCL 1.3 (from MacPorts)

cells-gtk3's People

Contributors

mtstickney avatar ramarren avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cells-gtk3's Issues

cells-gtk works with ccl with small mods

Hallo,
cells-gtk works with ccl as soon as it is modified to accept ccl among the lisps.

*** cells.asd.orig 2013-01-16 19:41:59.492011140 +0100
--- cells.asd 2013-01-16 19:41:09.371762640 +0100


*** 1,6 ****
;;;; -- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 --

! #+(or allegro lispworks cmu mcl clisp cormanlisp sbcl scl)
(progn
(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))

--- 1,6 ----
;;;; -- Mode: Lisp; Syntax: ANSI-Common-Lisp; Base: 10 --

! #+(or allegro lispworks cmu mcl clisp cormanlisp sbcl scl ccl)
(progn
(declaim (optimize (debug 3) (speed 3) (safety 1) (compilation-speed 0)))

*** defpackage.lisp 2013-01-16 19:41:09.371762640 +0100
--- defpackage.lisp.orig 2013-01-16 19:41:59.492011140 +0100


*** 36,42 ****
#+openmcl-partial-mop #:openmcl-mop
#+(and mcl (not openmcl-partial-mop)) #:ccl

! #-(or allegro clisp cmu cormanlisp lispworks mcl sbcl ccl)
#.(cerror "Provide a package name."
"Don't know how to find the MOP package for this Lisp.")

--- 36,42 ----
#+openmcl-partial-mop #:openmcl-mop
#+(and mcl (not openmcl-partial-mop)) #:ccl

! #-(or allegro clisp cmu cormanlisp lispworks mcl sbcl)
#.(cerror "Provide a package name."
"Don't know how to find the MOP package for this Lisp.")

*** detritus.lisp 2013-01-16 19:40:59.511713666 +0100
--- detritus.lisp.orig 2013-01-16 19:41:42.715927414 +0100


*** 40,47 ****
;; all this was conditional on c being found, but if it isn't the find-class errors as coded so
;; let's take out the meaningless condition and see what happens
(finalize-inheritance cc)
! #-sbcl(#-ccl(mop::class-prototype cc)
! #+ccl(class-prototype cc))
#+sbcl(sb-mop:class-prototype cc)))

(defun brk (&rest args)
--- 40,46 ----
;; all this was conditional on c being found, but if it isn't the find-class errors as coded so
;; let's take out the meaningless condition and see what happens
(finalize-inheritance cc)
! #-sbcl(mop::class-prototype cc)
#+sbcl(sb-mop:class-prototype cc)))

(defun brk (&rest args)

*** utils-kt.asd 2013-01-16 19:40:59.511713666 +0100
--- utils-kt.asd.orig 2013-01-16 19:41:42.715927414 +0100


*** 6,12 ****
;;;(operate 'load-op :asdf-aclproj)
;;;(use-package :asdf-aclproj)

! #+(or allegro lispworks cmu mcl clisp cormanlisp sbcl scl ccl)

(asdf:defsystem :utils-kt
:name "utils-kt"
--- 6,12 ----
;;;(operate 'load-op :asdf-aclproj)
;;;(use-package :asdf-aclproj)

! #+(or allegro lispworks cmu mcl clisp cormanlisp sbcl scl)

(asdf:defsystem :utils-kt
:name "utils-kt"

gtk-test does not show window

Hallo gtk-test:gtk-demo does not show window.
The reason is gtk_init gets never called.
Infact, calling gtk-init-check before gtk-demo shows the demo window.
gtk: 2.24.10
sbcl: 1.0.57.0.debian (but the same applies to other lisps)

(g-thread-get-initialized) always returns t here

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.