newLISP Fan Club

Forum => newLISP Graphics & Sound => Topic started by: newdep on December 01, 2007, 07:50:56 AM

Title: [Tool] Nlist - remote content/code-browsing -
Post by: newdep on December 01, 2007, 07:50:56 AM
This is a remote content/code-browsing tool. Small and effective.



Under development,This is a pre-release.

Just to get an impression on what it will become, currently it is viewing only)



(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")



Enjoy, Norman.



PS: should work on all OSes ;-)
Title:
Post by: newBert on December 01, 2007, 09:32:32 AM
Nice :)

It works on WinXP in any case.



The info-text in the text-pane is not correctly layed out : first character of each line is hidden... but scripts are well displayed.



Usefull tool.
Title:
Post by: newdep on December 01, 2007, 11:17:13 AM
owww yes thank for this hint..

Im always working on Linux but it looks not as it should under windows,

Ill see how I can fix this for the next release..



[edit]  new version v02 uploaded
Title:
Post by: cavva on December 03, 2007, 12:33:17 AM
WinXP and newLISP 9.2.0 here



it return an error:



array, list or string expected : (env "NEWLISPDIR")


on my default installation (env "NEWLISPDIR") return nil
Title:
Post by: HPW on December 03, 2007, 01:00:14 AM
For me on WIN XP/WIN2K it returns:


Quote
newLISP v.9.2.8 on Win32.



> (env "NEWLISPDIR")

"C:\Programme/newlisp"

>
Title:
Post by: cormullion on December 03, 2007, 01:15:25 AM
Quote from: "cavva"


on my default installation (env "NEWLISPDIR") return nil


I think that was introduced in 9.2.1 so it's not in the current (non-development) version.



Norman's living on the (b)leading edge!
Title:
Post by: newdep on December 03, 2007, 11:20:03 AM
oo sorry for that,

yes I always have the latest Hot-from-the-oven newlisp version ;-)







Anyway.. the nlist content-browser will have new features in the new release.

'load is removed, a save remote url procedure is introduced..and

some other handy features.. hope to keep it compact and simple ;-)



That release will also join the competition ;-)
Title:
Post by: newdep on December 04, 2007, 06:57:09 AM
nlist.lsp version v0.3 release!

(tested with newlisp-9.2.8 and GS 1.7)



Pre-mature but globaly its working (nice ;-) (lots of feature to add)





Dont use v0.2 any more.. also convert you older nlist.idx into the new format! (strings only)



(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")





Enjoy..





PS: perhaps someone with a Mac could show me a picture

on how the nlist looks on MacOs ? just currious...
Title:
Post by: cormullion on December 04, 2007, 08:05:41 AM
Quote from: "newdep"
PS: perhaps someone with a Mac could show me a picture

on how the nlist looks on MacOs ? just currious...


(//%3C/s%3E%3CURL%20url=%22http://farm3.static.flickr.com/2123/2086945946_eeb9121266_o.png%22%3E%3CLINK_TEXT%20text=%22http://farm3.static.flickr.com/2123/208%20...%201266_o.png%22%3Ehttp://farm3.static.flickr.com/2123/2086945946_eeb9121266_o.png%3C/LINK_TEXT%3E%3C/URL%3E%3Ce%3E)



Looks pretty good - it took a couple of keypresses to get it started...
Title:
Post by: newdep on December 04, 2007, 08:10:31 AM
Aa great thanks... yes I see alreay a flaw ;-)



You miss the description bar... good to see that it differs per OS..

Ill need to find a different way to dispay the content in the bottom of the screen..



Thanks for the screen dump. looks pritty nice btw ;-)
Title:
Post by: Lutz on December 04, 2007, 08:30:01 AM
Do 3 rows by 1 column (or is it 4 rows by 1 column?) grid layout at the top level. Then in each of the 3 (or 4) cells do a flow layout in a gs:panel.



The gs:panel in each cell will expand to its maximum size in the grid and doe not need to be sized. The flow layout inside the gs:panel lets you set the size of the elements contained.



Perhaps for the big cell (list box and text area) you do a border layout with "east", "center" or "east" "west".



On my Mac I see of the URL line only the top half. Even on the same platform there are still differences on different resolution displays.



Lutz



ps: always do nesting of simpler layouts to achieve complexer layouts. gs:panel is cheap on resources.
Title:
Post by: newdep on December 04, 2007, 11:51:04 AM
Hi Lutz,



I tried your advice but the grid-layout on main is a nightmare..

although setting the flow-layout inside the panel its not spacing nicely.



a grid-layout of 3 1 0 0 gives me the list-panel and output-panel in

the midle of the screen and im unable to get them to the top of the main

window... its not outlining to its full size..



I fiddled now for 3 hours with this but its not happening, i tried including

panels make only 2 or three or more.. its not working nicely when grid-

layout is selected.. Ill keep on trying..





Norman.
Title:
Post by: Lutz on December 04, 2007, 12:32:07 PM
I wasn't sure about the grid layout choice myself. The grid layout tries to make cells of equal size and of course we don't want this and I forgot about that.



Perhaps a border layout for the main structure instead, where you can size "north" and "south" parts vertically via the panel sizes and the "center" panel will try to take up the rest of the space.



"north" -> ps:panel with flow layout for label and url-bar

"center" -> gs:panel with list-box and text area in flow layout

"south" -> gs:panel flow-layout for the status fields



Lutz
Title:
Post by: newdep on December 04, 2007, 01:56:06 PM
Lutz,



The problem is probably the fact that the system-fonts are directly bound

to the size in height/length of the text-fields and area's..and every OS has different default fonts.. setting a font style for the text-area/field does

simmulate the size, but sizes of font are also different between OS types..

I think its a never ending story ;-) Ill just need to think of something more specific..



PS the "center"is nicer indeed for the middle cell..



Norman.
Title:
Post by: newdep on December 05, 2007, 06:10:45 AM
* new v0.4*





(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")



Lots of changes in nlist v0.4

 - Expirimented with Panels and grid switched to nlist.cfg colution.

 - Changed Info window to Monospaced, better font for script display.

 - XY coords/size of nlist are saved when doing "Quit" or windowclose

 - nlist now has a configfile called ./nlist/nlist.cfg

 - Removed nlist.uri, bookmarks are now stored inside nlist.cfg!

 - Shelf-menu is now automaticly updated after doing a bookmark

 - Switching between Text and HTLM is now possible in output window.

   last textmode is also saved when the nlist is closed.    





Lutz.. Is it possible to make newLispDoc compatible with the text/html in GS?

Or the other way around? Would be so nice to view newLIspDoc files from

within a text/html field.





Secondly.. Is it possile that the "web links" that are inside a text/html can

be pre-configured? Seems text/field in html mode now always seeks for

index.html..that not always handly..PS... This works on Windows but NOT under

Linux... Linux seeks always for index.html it seems..



thirdly.. Have a look at the dynamic switch between text/plain and text/html

there must be a better way to do this "on the fly?" what do you think? is GS

up to it? ;-)





Enjoy..



Norman.
Title:
Post by: cormullion on December 05, 2007, 07:50:29 AM
coming on nicely...!



Here's some constructive criticism... :)



On Mac the initial display is odd - the idx: label stretches all the way across the top and the text input box is mostly hidden below. It's fixed by changing 800 to 810 for width, for example



I sometimes have to press the return key a few times before I see anything...



Is it possible to get a single click working in the left pane? Double-clicks are OK, but browser-type things often use single clicks...
Title:
Post by: Lutz on December 05, 2007, 07:50:29 AM
"text/plain" and "text/html" are built-in Java modes for gs:text-pane (JTextPane and JEditorPane in Java), and there are no Java APIs to change/modify their behavior.



Lutz
Title:
Post by: newdep on December 05, 2007, 08:12:46 AM
Cormullion,

 I can change the initial size but it differs per OS very much.

Doing a resize of the window and making it all fit. Then Quit and

restart nlist will make it nicely fit. (saved inside ./nlist/nlist.cfg)  Then

you dont have to resize it anymore..or you could..

But i could change the initial sizes indeed.



The Idx input field always reactis to the <enter> I cant change this this is

internal Java/GS behavior.  There should not be a delay when loading local

files, there could be a delay when fetching http:// urls..thats a network issue..(or

my ISP  has still troubles... :-( But i dont have those much here...



Where did you put your nlist.idx ?? I like to put your files to my nlist shelf! ;-)



Yes would like to have a single click also on the left list-pane but thats

also internaly GS/Java.. Actualy nlist does everything by default of GS

(to keep it simple, i hope..)







Lutz, oke thanks... Although its strange We must accept it ;-)
Title:
Post by: Lutz on December 05, 2007, 09:02:11 AM
In the upcoming 9.2.9 (on the weekend) gs:mouse-event can be used also on list boxes to trap single clicks.



Lutz
Title:
Post by: cormullion on December 05, 2007, 09:42:49 AM
I put the nlist.idx file here:



http://unbalanced-parentheses.nfshost.com/downloads/



Most of the files seem to display OK.



Usually, that folder is explored more automatically (and colourfully) using //http://unbalanced-parentheses.nfshost.com/index.cgi?download. Perhaps I'll write a bit of code that scans the contents of that folder and updates the nlist.idx file automatically...
Title:
Post by: newdep on December 05, 2007, 02:23:38 PM
Quote from: "Lutz"In the upcoming 9.2.9 (on the weekend) gs:mouse-event can be used also on list boxes to trap single clicks.



Lutz


aaa nice....



I found another curriosity... the font cant be changed (linux) when

i switch between a text - html pane... odd?? is that static too perhpas?
Title:
Post by: newdep on December 05, 2007, 02:25:37 PM
Quote from: "cormullion"I put the nlist.idx file here:



http://unbalanced-parentheses.nfshost.com/downloads/



Most of the files seem to display OK.



Usually, that folder is explored more automatically (and colourfully) using //http://unbalanced-parentheses.nfshost.com/index.cgi?download. Perhaps I'll write a bit of code that scans the contents of that folder and updates the nlist.idx file automatically...




Aaa found them...far more easier code browsing this way ;-)





Yes i thought of that too ..something that generates automated nlist.idx

files in text and/or GS/Java html pane format...but be our guest  ;-)





PS: I posted v05 with 2 small changes...hope its looks better on Mac now..
Title:
Post by: cormullion on December 06, 2007, 01:36:23 AM
Quote from: "newdep" ..something that generates automated nlist.idx

files in text and/or GS/Java html pane format...but be our guest  ;-)


For that, the information needs to be attached to each file somehow, then a script could read that information and compile an idx file. Perhaps you could somehow make newlispdoc comments and nlist.idx fields work together...? :)



;; @module       - could be same as filename (field 1)?

;; @description  - for field 5?

;; @location  

;; @version  

;; @author



Then you could use:



;; @os

;; @category

;; @ui



for your fields 2 3 4.



Then a script could scan for newlispdoc comments and generate an nlist.idx file  as well.



And by forcing us all to write newlispdoc comments for all our files, we defeat the forces of chaos and disorder :) :)
Title:
Post by: newdep on December 06, 2007, 04:36:23 AM
Cormullion..yes ill think about that... Somehow it must be possible ;-)















nlist release v0.6



 - You can now decrypt text files that are crypted using 'Encrypt.

   This enables you to leave messages for others or protect code from

   being viewed by others. The person who knows the Crypt-Key can

   enter the key and the encrypted text will be shown in the output-panel.

   If the key is incorrect then text will be crypted again! You 'could'

   add inside nlist.idx a notification that the files is encrypted

   i.e. {crypt} {enc}..

 - outlining is again to the "left"



* Decryption/Encryption *



You can include encrypted files, text files or binary's on your location and

display them by including them inside the nlist.idx. Pressing the right mouse

button will popup the menu which includes "Decrypt/Encrypt Text". When

you select this option a new window will appear that enables you to enter

the "Crypt-Key" to Decrypt the text or Encrypt the text. If the text is not

encrypted you can Encrypt the text by providing a Crypt-Key and then select

"Crypt" and "Save File" from the Menu to store the file localy!

If the text/binary is encrypted you can select the Crypt-Key to Decrypt the

file and if the key is correct the text will be shown to you. This is a way

to drop messages or files for people that only know the Crypt-Key.

This option uses the newlisp 'encrypt.











(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")
Title:
Post by: cormullion on December 06, 2007, 06:02:15 AM
Looks OK now on Mac.



But I'm not seeing your stuff:



no (nlist.idx) found at: (http://www.nodep.nl/downloads/newlisp/)
Title:
Post by: newdep on December 06, 2007, 08:19:19 AM
hahah yes sorry....

download the new one or remove the proxy setting inside

the nlist.lsp... (setenv PROXY..) I forgot to remove it befor uploading...



Norman.
Title:
Post by: newdep on December 14, 2007, 04:49:16 AM
just released version 0.8

(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")



see help for changes to v0.8.





PS: cormullion, does it show correctly on OsX?

(now its with Java gui default)





Norman.
Title:
Post by: cormullion on December 14, 2007, 07:57:49 AM
It looks - different! I much prefer the native look to the Java look, though. The fonts aren't smoothed in the Java interface, I think...



Tthe big browser window at the right doesn't seem to update to show the file contents, although the status readout reflects the selection...



(//%3C/s%3E%3CURL%20url=%22http://farm3.static.flickr.com/2167/2110254967_97ac0c37eb_o.png%22%3E%3CLINK_TEXT%20text=%22http://farm3.static.flickr.com/2167/211%20...%2037eb_o.png%22%3Ehttp://farm3.static.flickr.com/2167/2110254967_97ac0c37eb_o.png%3C/LINK_TEXT%3E%3C/URL%3E%3Ce%3E)
Title:
Post by: newdep on December 14, 2007, 08:30:22 AM
QuoteIt looks - different! I much prefer the native look to the Java look, though. The fonts aren't smoothed in the Java interface, I think...



Tthe big browser window at the right doesn't seem to update to show the file contents, although the status readout reflects the selection...






Thanks for the screen dump. and feedback. ;-)



If you remove the  (gs:set-look-and-feel "javax.swing.plaf.metal.MetalLookAndFeel") I dont know what it now will do on the Mac ?? (If you test this remove the nlist.cfg too and restart nlist.lsp)





Well yes the output window has default now "Monospaced fonts" this is perhpas an ugly font but it seems the only font that equals  Graphics to Console text conversion  (now the Tabs and spaces are correct in size and

the text is outlined better)



*Correction added*

You are using V0.9 If you downloaded the latest GS 1.10 from lutz you should

see with 1 Click the Info of the Link/File at the bottom and with 2 clicks it loads the content..If you did not download the G1.10 then only 2 clicks work..



I like the 1 click direct load also, but to be able to scroll through the info

of nlist.idx the 1 click now shows the info without loading.







Norman.
Title:
Post by: cormullion on December 14, 2007, 09:14:06 AM
QuoteYou are using V0.9 If you downloaded the latest GS 1.10 from lutz ...


I might have known! All you have to do is look away for a few minutes and there's an upgrade available! Wonderful stuff...
Title:
Post by: newdep on December 23, 2007, 11:49:14 AM
latest version v0.10 minor updates + color scheme



future/announcements updates can be found here

//http://newlisp.nodep.nl/



Enjoy..;-)
Title:
Post by: Lutz on December 23, 2007, 04:46:09 PM
For all those newLISPers out there who think that GUIs are for sissies: a new version of the old command line utility -> get-normans ;-)


#!/usr/bin/newlisp
#
# get all of Norman's utilities at once
# upated 2007-12-23 to new format on Norman's site

(set 'page (get-url "http://www.nodep.nl/downloads/newlisp/nlist.idx"))
(set 'files (find-all "{(.*lsp)}" page $1))

(dolist (file files)
  (write-file file
      (get-url (string "http://www.nodep.nl/downloads/newlisp/" file)))
  (println "->" file))

(exit)


Lutz
Title:
Post by: newdep on December 27, 2007, 05:30:30 AM
I just found out that some hosting providers only count statistics on web-traffic

based on html ssh/sftp of ftp traffic. Using nlist keeps the  statistics/web-traffic

pretty empty.. ..So if you pay per Kb at your Hosting provider this could be nice

workarround..I hope this can be confirmed by others.. ;-)



btw v0.14 just released...enjoy and please feedback if you have

troubles or an itch regarding nlist..



Norman.
Title:
Post by: newdep on December 27, 2007, 03:05:07 PM
aaaaaaaa I cant stop ;-)

version v0.18 released... enjoy!
Title:
Post by: newdep on December 29, 2007, 03:45:10 PM
v0.23 released.



2 new links for within nlist ->



(pjot)          http://www.turtle.dds.nl/newlisp/

(cormullion) http://unbalanced-parentheses.nfshost.com/downloads/
Title:
Post by: newdep on January 02, 2008, 06:33:37 AM
version 0.24 released... Includes direct "script execution"



(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")





(-; HAPPY 2008 ;-)
Title:
Post by: newdep on January 03, 2008, 03:28:40 PM
version v0.25



- window resize works 100% now

- SplitPane added

- small layout change



enjoy ! ;-)



tested on Linux and XP not on MacOs...



PS feature request for Lutz: On/off line wrapping in "text/plain" mode..
Title:
Post by: newdep on January 04, 2008, 07:07:01 AM
Pjot requested Syntax Highlighting in nlist..



Well Thanks pjot ... I had to rebuild the Color configuration..

(was about time someone requested it..;-)





Here its is -> version 0.28..

load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")



- Syntax Highlighting for .lsp files

- new color config menu



enjoy..
Title:
Post by: newdep on January 04, 2008, 07:23:05 AM
please download v0.29 there was a big bug in v0.28 ;-)
Title:
Post by: newdep on January 10, 2008, 11:13:01 AM
Version v0.36 released



- with personal execute menu (still in beta)





  i.e.

  you can now edit your programs using newlisp-edit by launching

  newlisp-edit, doing a copy to clipboard on nlist and paste in newlisp-edit.

  (because newlisp-edit does nto yet allow arguments)

 or start any other handy i.e. newlisp tool



load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")





PS:



Just tested "Attic" feaute on windows:

Using this "Attic" feature does crash nlist on windows! (2 out of 3 times)

Linux is a little more stable (only 2 crashed out of 10 times but very

random) (This is due to multiple blocking text-area using gs:get-text

behavior, cant get it working properly)
Title:
Post by: newdep on January 10, 2008, 04:09:12 PM
Okido here is version v0.37



Working fine , no crashes on the "Attic" menu Maintance!

See source code for the solution.



(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")



And dont forget... Enjoy!
Title:
Post by: newdep on January 14, 2008, 08:18:02 AM
v0.39



- Font selection and color changes.



(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")
Title:
Post by: newdep on January 17, 2008, 08:33:17 AM
v0.43 released



- Added update checking for new nlist version

- ieks.. ;-) A fix for the Idx entry on win32 and OSX



(load "//http://www.nodep.nl/downloads/newlisp/nlist.lsp")
Title:
Post by: Cyril on February 01, 2008, 07:05:29 PM
I have tried to run nlist 0.48 on my WinXP box. In general it works fine, but a list of imperfections follows (yes, I am a bit scrupulous):



* When nlist runs a first time, and ./nlist/ directory is not created yet, it doesn't display icons ('go' and 'hist'). When I was reading the help, I was confused a lot: about which icons this guy talks?



* Lisp sources pane is scrolled by PgUp/PgDn, but not by up/down arrows. This is very confusing.



* If the current file extension is neither .lsp nor .html, the decision of how to display the file content is based on last displayed .lsp or .html file. If I came to .txt file from .lsp, it is text, if I came there from .html, it is html.



* If a html file has been selected and displayed, the next selected file will be displayed without colors. Even if I have re-read the same html file, it is displayed without colors.



* html files generated by Vim are not displayed at all. Probably this is not nlist fault but fault of GS, but nevertheless it is not good.



* Design issue: the width of all five information fields at the bottom is the same and cannot be resized. But in practice the description text is long, but class, type and platform are short.



* Message '* created: ./nlist/' is displayed always and is not informative at all.



* It Would Be Nice to accept URL as a command line argument. Also it would be nice to accept "." (and "..") as URL and treat it as "./" (and "../").



By the way, I have created a nlist.idx file on my newLISP page. Point your nlist browser at:



//http://wagner.pp.ru/~slobin/newlisp/
Title:
Post by: newdep on February 02, 2008, 12:57:39 AM
Hello Cyril,



Thanks for the feedback, your are right on all issues.. the help needs corrections..The text-Fields are on my list too and this ..nlist created.. issue i found also on XP..They are all on my todo list ;-)



Thanks for creating the nlist.idx (ill put it in the Shelf of the next nlist release) .. Looks nice and I found some issues for nlist too ill need to look at ;-)



Norman.
Title:
Post by: Cyril on February 02, 2008, 08:46:49 PM
I have done a little hacking with nlist, trying to fix some most annoying issues (mad adventure while not understanding nlist internal logic and not even knowing GS API). My modifications:



* Existence of ./nlist/ is tested with directory? instead of file?



* First directory in history is loaded from root, not hardcoded



* text/html vs text/plain logic is fixed by brute force



* Last but not least, interface is redesigned. Decent web browsers users habitually expect green left and right arrows at the west of address bar to be history navigation, and a pair of twisted arrows at the east of address bar to be a reload button. Default nlist design does it upside-down and backwards, so I have fixed this. But don't fear]
(set 'cs-mode true)[/color] to nlist.cfg (it cannot be set from normal interface). I hope this will be useful...



Oh, I forgot: //http://wagner.pp.ru/~slobin/newlisp/ using nlist
Title:
Post by: newdep on February 03, 2008, 12:05:31 AM
Hello Cyril,



Good to see you hacked your way into nlist..

I was already working on a "plugin" option for nlist.

(thats why the Tabs are now there).. Im on my way

of releasing v0.50 but im a little bussy..meanwhile enjoy the tool ;-)



Norman.
Title:
Post by: Dmi on February 26, 2008, 03:06:28 AM
Hi, Norman!



Just have browsing using your nlist. Nice work!



Is there a nlist.idx autogenerator (from the contents of lsp-files)?



Some ideas (I know all we have a lot of them ;-)



- Having a list of all nlist-supporting sites we can have a search engine.



- Probably, you can extend the idea directly to the scripting area:

Recently I have playing with such code:
; usage for directly load:
; (module:load-store "http://en.feautec.pp.ru/store/libs/funlib.lsp"
;                    "http://en.feautec.pp.ru/store/libs/xmlstream.lsp"
;                    .....)
;
; usage for once time loading - one file may be requested from many modules
:  and it will be loaded only once:
; (module:depend "http://en.feautec.pp.ru/store/libs/funlib.lsp")
;
(context 'module)

; configuration of cache path relative to HOME
(set 'libpath "newlisp/cache")

; prepare the local cache
(define (prepare-space)
  (set 'libdir (env "HOME"))
  (dolist (l (parse libpath "/"))
    (write-buffer libdir (string "/" l))
    (unless (directory? libdir)
      (begin
        (print "creating local folder: " libdir "...")
        (if (make-dir libdir) (println "done.")
          (begin
            (println "error.")
            (throw-error (string "cant't create: " libdir))))))))

; if module doesn't exists in the local cache, then download it
; finally, load module from the local cache
(define (load-store)
  (prepare-space)
  (doargs (l)
    (let (f (string libdir "/" (last (parse l "/"))))
      (unless (file? f)
        (begin
          (println "downloading " l " into " libdir)
          (if (starts-with "ERR: " (set 's (get-url l)))
            (throw-error s)
            (write-file f s))))
      (load f))))

(set 'loaded '())

; load module once through (load-store)
; remember module in 'loaded runtime list
(define (depend path)
  (unless (find path loaded)  
    (begin
      (load-store path)
      (push path loaded))))

(context 'MAIN)

This is the working prototype. If Lutz will accept to include similar into newlisp distro, then all we got simple module deploing scheme.

I also thinking about gpg signatures here, versioning and, possible, referencing a libs by a name from idx files.

If there will be an interest, the comments are welcome.
Title:
Post by: newdep on February 27, 2008, 01:38:49 PM
I like the idea's indeed... Though im realy realy bussy currently

and I cant get my fingers to hit the newlisp prompt... But feel free

to update nlist.lsp if you wish ofcourse ;-) If you want me to add

the features you have to wait a little..