Upgrade to Quil 2.3.0 seems to break my sketch's display settings

25 views
Skip to first unread message

John Lynch

unread,
Sep 14, 2017, 12:13:19 PM9/14/17
to clj-processing
Hi.

I have been developing a sketch which uses Quil fun-mode, dynamic workflow for REPL (Leiningen).  My OS is Xubuntu 17.

My sketch is supposed to display fullscreen on my second monitor (display 1), leaving the REPL in a terminal window on the primary monitor (display 0) for logging state changes and echoing user input.

It was always based on the dynamic workflow/fun-mode example at   https://github.com/quil/quil/wiki/Dynamic-Workflow-(for-REPL) - which specifies 
:dependencies [[org.clojure/clojure "1.6.0"]
                 
[quil "2.2.1"]])

So, it has been working fine for months with these dependencies.   I recently upgraded thClojure dependency to "1.8.0" and my sketch continued to work properly, although the compiler gives me a warning:

WARNING: update already refers to: #'clojure.core/update in namespace: flame1.dynamic, being replaced by: #'flame1.dynamic/update


Recently, realising that Nikita has been working hard as usual and has produced several more recent versions of Quil, I tried changing the Quil version to "2.6.0" and the sketch broke.   I have investigated this and find that itbreaks when changing from 2.2.6 to 2.3.0.

Two things happen: 
    1. The sketch is displayed on my primary monitor, on top of the REPL window.
    2. The window title now reads "Applet" instead of the title I specify  in (q/defsketch).

My core.clj:

(ns test43.core
  (:require [quil.core :as q])
  (:require [fractagons.dynamic :as dyn])
  (:require [quil.middleware :as m])
)
    
(q/defsketch test43
  :title "Test 43"               
  :setup dyn/setup
  :update dyn/update           
  :draw dyn/draw
  :mouse-clicked dyn/mouse-clicked             
  :key-typed dyn/key-typed             
  :display 1
  :size :fullscreen
  :features [:present]
  :middleware [m/fun-mode])  

If I edit the above to read 
:display 0
the sketch then displays correctly on my second monitor, but the REPL terminal window becomes minimized, and if I bring it tothe foreground, the sketch disappears from the other monitor.   It is thus impossible to view both REPL and sketch simultaneously, even though they are on different monitors.

I suspect this is something to do with the upgrade to Processing 3.0 (documented at https://github.com/processing/processing/wiki/Changes-in-3.0, specifically the exhortation 
"Do not use variables in size() - This time we really mean it."
and the new fullscreen() function, but I am at this point stumped!

Any ideas?

Regards, John
________________
  

Nikita Beloglazov

unread,
Sep 22, 2017, 3:10:12 AM9/22/17
to clj-processing
Hi John

Unfortunately I don't have good suggestions :( Looking at Quil implementation we do use fullscreen() function if you specify size :fullscreen (link). All this fullscreen multiple display stuff is tricky and I don't know how to debug it. My suggestions would either to stick with 2.2.6 (you should be able to use clojure 1.8 with it). Alternatively you can get rid of :present and :fullscreen and instead use specific WxH size which matches your monitor size. 

Nikita

--
You received this message because you are subscribed to the Google Groups "clj-processing" group.
To unsubscribe from this group and stop receiving emails from it, send an email to clj-processin...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
Reply all
Reply to author
Forward
0 new messages