• Talisman: bbs_display_sixel

    From Apollo@21:1/236 to Anyone on Thu Jun 8 13:05:04 2023
    Hi there,

    I'm working on adding a sixel image to my board.

    My problem:
    It never displays the sixel.

    I used img2sixel in 16 color mode, and limited the width to 300 pixels.
    So I would figure bbs_display_sixel the filename and be done, but it
    appears I am not.

    If you call in to my board, you can see I display some text and pause,
    before the pause is where the display sixel is called, with no output.

    My lua:

    ++ SNIP 'mousemoved.lua' ++
    bbs_write_string("Hi Sixel\r\n") bbs_write_string("/talisman/"..bbs_get_data_path().."/mouse_moved.sixel\r\n
    "
    )


    bbs_display_sixel("/talisman/"..bbs_get_data_path().."/mouse_moved.sixel")
    -- SNIP --

    If you're trying to follow along, the first 2 lines are just writing,
    the last line, with a space between the first 2 is the actual call I'm
    wrestling with.

    I have mouse_moved.sixel the name of the sixel file in the scripts data folder (just for lack of better location to put it).

    I've even tried giving it the complete 100% full path, with no luck.

    Any help will be very helpful.

    Take Care,
    Apollo


    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From apam@21:1/182 to Apollo on Fri Jun 9 08:11:30 2023
    bbs_display_sixel("/talisman/"..bbs_get_data_path().."/mouse_moved.six
    el")

    where is your sixel located on the filesystem?

    what terminal are you using?

    Andrew

    --- Talisman v0.47-dev (Windows/x64)
    * Origin: Smuggler's Cove - Private BBS (21:1/182)
  • From Apollo@21:1/236 to apam on Thu Jun 8 19:28:11 2023

    bbs_display_sixel("/talisman/"..bbs_get_data_path().."/mouse_moved.six
    el")

    where is your sixel located on the filesystem?

    /talisman/scripts/data/mouse_moved.sixel

    It's in a Docker container, but that's the full/absolute path from within
    the containers perspective.


    what terminal are you using?

    I've tried with Syncterm 1.1, and MagiTerm 1.1.16, which if I am correct
    both support Sixel.

    I've even called your board with MagiTerm and got your sixel at the end
    of System Info... So that's why I know the MagiTerm definely has the Sixel support.


    Andrew

    If you want just hit my board, you should see it before the weather. :)


    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From apam@21:1/182 to Apollo on Fri Jun 9 09:49:02 2023
    I've tried with Syncterm 1.1, and MagiTerm 1.1.16, which if I am
    correct
    both support Sixel.

    yeah they should work

    could it be incorrect permissions on the sixel for the bbs user?

    Andrew


    --- Talisman v0.47-dev (Windows/x64)
    * Origin: Smuggler's Cove - Private BBS (21:1/182)
  • From bugz@21:1/236 to apam on Fri Jun 9 15:21:00 2023
    apam wrote to Apollo <=-

    could it be incorrect permissions on the sixel for the bbs user?

    And the winner is Andrew! That was it!
    It works now. A little pixely, but 16 colors will do that.

    Take care,
    bugz

    ... You just listed all my best features! - Cat
    --- MultiMail/Linux v0.52

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Apollo@21:1/236 to apam on Sat Jun 10 17:12:25 2023
    could it be incorrect permissions on the sixel for the bbs user?

    Hey what you know, the thing needs permission from the filesystem for it
    to use it. :)


    Andrew

    Thank you very much!

    Thank you's go to:

    * Andrew
    * Bugz

    As an aside, my Syncterm doesn't work with Sixel. (I'm using Curses mode,
    so perhaps I need to do the xterm -ti 340 for the Sixel to work under Syncterm?)

    So I'll just keep using MagiTerm for my BBS terminal till I've played
    enough with my Syncterm to figure out why it's not rendering Sixel.

    Oh and for those who call, the Sixel is now randomly placed, just to
    point out what I've got. (Lua rendering the Sixel in a random position)

    Take Care,
    Sysop on the Moon, Apollo



    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Apollo@21:1/236 to bugz on Sat Jun 10 17:16:00 2023
    could it be incorrect permissions on the sixel for the bbs user?

    And the winner is Andrew! That was it!
    It works now. A little pixely, but 16 colors will do that.

    Yeah, it is a little pixely but meh, still a funny graphic to display on
    login.


    Take care,
    bugz

    Take Care,
    Apollo

    Now to get some of those Saturn V rocket launch frames and I'll get them
    up here on the Lunar Mod. (OOohh, rocket, space, the moon!)


    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From apam@21:1/182 to Apollo on Sun Jun 11 10:09:04 2023
    As an aside, my Syncterm doesn't work with Sixel. (I'm using Curses
    mode,
    so perhaps I need to do the xterm -ti 340 for the Sixel to work under Syncterm?)

    you might need to use the sdl version of syncterm

    Andrew


    --- Talisman v0.47-dev (Windows/x64)
    * Origin: Smuggler's Cove - Private BBS (21:1/182)
  • From paulie420@21:2/150 to apam on Sun Jun 11 18:15:34 2023
    As an aside, my Syncterm doesn't work with Sixel. (I'm using Curses mode,

    you might need to use the sdl version of syncterm

    Ah ha! Thanks for that; I was wondering why MY SIXEL support just up and stopped. (After I switched OSes) I think I know now.



    |07p|15AULIE|1142|07o
    |08.........

    --- Mystic BBS v1.12 A48 (Linux/64)
    * Origin: 2o fOr beeRS bbs>>>20ForBeers.com:1337 (21:2/150)
  • From Apollo@21:1/236 to apam on Mon Jun 12 11:02:03 2023
    you might need to use the sdl version of syncterm

    Andrew

    Yup, or the X11 version (since I'm linux).

    Thank you for the help.

    Glade to see you're still checking in on things.

    Oh I'm going to be looking to see if I can't expand the Lua Scripting to
    have a bbs_user_has_sixel() so I can display a sixel and pause, or not
    display a sixel and pause. (This way if sixel isn't supported, the first loginitem doesn't look like a strange pause in the middle of nothing)

    Take Care,
    David

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Apollo@21:1/236 to paulie420 on Mon Jun 12 11:04:16 2023
    you might need to use the sdl version of syncterm

    Ah ha! Thanks for that; I was wondering why MY SIXEL support just up
    and stopped. (After I switched OSes) I think I know now.

    For me, the key was using Curses mode. Curses doesn't do SIXEL, but SDL
    does.


    |07p|15AULIE|1142|07o
    |08.........

    Take Care,
    Apollo

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From bugz@21:1/236 to Apollo on Mon Jun 12 14:33:00 2023
    Apollo wrote to apam <=-

    Yup, or the X11 version (since I'm linux).

    And depending on what features you compiled into your syncterm.
    I think you can pick and choose, depending on what libraries you
    install. It's been awhile since I've compiled it.

    You could have an X11 only build, or a curses only. I don't think
    you could get an SDL build without X11, since SDL also needs X11.

    Glade to see you're still checking in on things.
    "Glad". :P

    Oh I'm going to be looking to see if I can't expand the Lua Scripting
    to have a bbs_user_has_sixel() so I can display a sixel and pause, or

    Get to it! At least until they get the lobby fixed...

    Do you get the screen size in lua as well? You might want to do some
    math and pick an image that'll fit on the screen.

    Take care,
    bugz

    ... "I had no idea Canada was this much fun!" Crow T. Robot
    --- MultiMail/Linux v0.52

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Digital Man to Apollo on Sat Jul 8 15:37:08 2023
    Re: Talisman: bbs_display_sixel
    By: Apollo to apam on Sat Jun 10 2023 05:12 pm

    As an aside, my Syncterm doesn't work with Sixel. (I'm using Curses mode,
    so perhaps I need to do the xterm -ti 340 for the Sixel to work under Syncterm?)

    SyncTERM in non-graphics modes (e.g. curses or ANSI) doesn't do graphics (e.g. RIP, Sixel). That's expected.
    --
    digital man (rob)

    This Is Spinal Tap quote #9:
    David St. Hubbins: I mean, it's not your job to be as confused as Nigel.
    Norco, CA WX: 79.6°F, 50.0% humidity, 15 mph SE wind, 0.00 inches rain/24hrs
  • From Digital Man to Apollo on Sat Jul 8 15:40:24 2023
    Re: Talisman: bbs_display_sixel
    By: Apollo to apam on Mon Jun 12 2023 11:02 am

    you might need to use the sdl version of syncterm

    Yup, or the X11 version (since I'm linux).

    There isn't an "sdl version" or an "x11 version" of SyncTERM. SyncTERM for Linux supports multiple interface/output modes. Run 'syncterm -?' to see all the options or SyncTERM->Program Settings->Video Output Mode.
    --
    digital man (rob)

    Synchronet/BBS Terminology Definition #2:
    ARS = Access Requirement Strings
    Norco, CA WX: 79.6°F, 50.0% humidity, 12 mph SE wind, 0.00 inches rain/24hrs
  • From bugz@21:1/236 to Digital Man on Sun Jul 9 22:56:00 2023
    Digital Man wrote to Apollo <=-

    Re: Talisman: bbs_display_sixel
    By: Apollo to apam on Sat Jun 10 2023 05:12 pm

    As an aside, my Syncterm doesn't work with Sixel. (I'm using Curses mode,
    so perhaps I need to do the xterm -ti 340 for the Sixel to work under Syncterm?)

    SyncTERM in non-graphics modes (e.g. curses or ANSI) doesn't do
    graphics (e.g. RIP, Sixel). That's expected. --
    digital man (rob)

    Should SyncTERM send the cterm response that it supports Sixel when
    in curses mode? I didn't expect it to say it supported it, when
    it didn't (or more specifically couldn't).

    Is this a detection issue? Is there a better way to detect Sixel support
    in SyncTERM? (Or is the answer -- just don't use curses mode?!)

    Take care,
    bugz (Steve)

    ... "Our hero scrambles into his waiting spacecraft" - Spaceman Spiff
    --- MultiMail/Linux v0.52

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From bugz@21:1/236 to Digital Man on Sun Jul 9 23:16:00 2023
    bugz wrote to Digital Man <=-

    Should SyncTERM send the cterm response that it supports Sixel when
    in curses mode? I didn't expect it to say it supported it, when
    it didn't (or more specifically couldn't).

    Ok, sorry, I thought SyncTERM was sending the same thing in curses and
    non curses, but it isn't. I'll look deeper into the Sixel detection.

    Wireshark to the rescue!

    Take care,
    bugz (Steve)

    ... Today's forecast: 80% chance of tomorrow
    --- MultiMail/Linux v0.52

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Digital Man to bugz on Sun Jul 9 20:32:02 2023
    Re: Talisman: bbs_display_sixel
    By: bugz to Digital Man on Sun Jul 09 2023 10:56 pm

    Digital Man wrote to Apollo <=-

    Re: Talisman: bbs_display_sixel
    By: Apollo to apam on Sat Jun 10 2023 05:12 pm

    As an aside, my Syncterm doesn't work with Sixel. (I'm using Curses mode, so perhaps I need to do the xterm -ti 340 for the Sixel to work under Syncterm?)

    SyncTERM in non-graphics modes (e.g. curses or ANSI) doesn't do graphics (e.g. RIP, Sixel). That's expected. --
    digital man (rob)

    Should SyncTERM send the cterm response that it supports Sixel when
    in curses mode?

    I don't think so.

    I didn't expect it to say it supported it, when
    it didn't (or more specifically couldn't).

    I agree.

    Is this a detection issue? Is there a better way to detect Sixel support
    in SyncTERM? (Or is the answer -- just don't use curses mode?!)

    Better than what?
    I use CTDA query and I think that works correctly: https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/load/cterm_lib.js
    --
    digital man (rob)

    Rush quote #23:
    Plus ca change, plus c'est la meme chose
    Norco, CA WX: 71.8°F, 64.0% humidity, 2 mph SE wind, 0.00 inches rain/24hrs
  • From fusion@21:1/616 to bugz on Mon Jul 10 04:33:25 2023
    On 09 Jul 2023, bugz said the following...

    Is this a detection issue? Is there a better way to detect Sixel support in SyncTERM? (Or is the answer -- just don't use curses mode?!)

    even on linux trying to do sixel stuff in curses is wrong. curses expects to
    be in full control of the terminal so it would need support added in there. but the support would likely be a function to display a whole image from a file, which would not be useful for syncterm.

    --- Mystic BBS v1.12 A47 2021/12/25 (Windows/32)
    * Origin: cold fusion - cfbbs.net - grand rapids, mi (21:1/616)
  • From bugz@21:1/236 to Digital Man on Mon Jul 10 20:54:00 2023
    Digital Man wrote to bugz <=-

    SyncTERM in non-graphics modes (e.g. curses or ANSI) doesn't do graphics (e.g. RIP, Sixel). That's expected. --
    digital man (rob)

    Should SyncTERM send the cterm response that it supports Sixel when
    in curses mode?

    I don't think so.

    Here's what I'm seeing with Wireshark

    From SyncTERM curses: (syncterm -iC)

    SEND >> 1b 5b 3c 30 63
    RECV << 1b 5b 3c 30 3b 32 3b 33 3b 37 63
    \x1b[<0;2;3;7c

    The CTerm Device Attributes, 3 - Pixel operations supported
    (sixel and PPM graphics). I didn't expect it here.

    SyncTERM X11: (syncterm -iX)

    SEND >> 1b 5b 3c 30 63
    RECV << 1b 5b 3c 30 3b 31 3b 32 3b 33 3b 34 3b 35 3b 36 3b 37 63 \x1b[<0;1;2;3;4;5;6;7c

    I definitely would expect it here.

    I didn't expect it to say it supported it, when
    it didn't (or more specifically couldn't).

    I agree.

    Did I find a bug?

    Is this a detection issue? Is there a better way to detect Sixel support
    in SyncTERM? (Or is the answer -- just don't use curses mode?!)

    Better than what?
    I use CTDA query and I think that works correctly: https://gitlab.synchro.net/main/sbbs/-/blob/master/exec/load/cterm_lib.j
    s

    Ok, that's what I've seen used. I wasn't sure if there was a better way
    to detect sixel support then the CTDA query.

    Take care,

    bugz (Steve)

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Digital Man to bugz on Mon Jul 10 20:13:53 2023
    Re: Talisman: bbs_display_sixel
    By: bugz to Digital Man on Mon Jul 10 2023 08:54 pm

    Digital Man wrote to bugz <=-

    SyncTERM in non-graphics modes (e.g. curses or ANSI) doesn't do graphics (e.g. RIP, Sixel). That's expected. --
    digital man (rob)

    Should SyncTERM send the cterm response that it supports Sixel when
    in curses mode?

    I don't think so.

    Here's what I'm seeing with Wireshark

    From SyncTERM curses: (syncterm -iC)

    SEND >> 1b 5b 3c 30 63
    RECV << 1b 5b 3c 30 3b 32 3b 33 3b 37 63
    \x1b[<0;2;3;7c

    The CTerm Device Attributes, 3 - Pixel operations supported
    (sixel and PPM graphics). I didn't expect it here.

    4 is "Pixel operations supported" https://gitlab.synchro.net/main/sbbs/-/blob/master/src/conio/cterm.txt

    I think you must be referencing an older version of that doc.
    --
    digital man (rob)

    Rush quote #80:
    He knows changes aren't permanent, but change is .. Tom Sawyer
    Norco, CA WX: 77.6°F, 48.0% humidity, 7 mph SSE wind, 0.00 inches rain/24hrs
  • From bugz@21:1/236 to Digital Man on Tue Jul 11 14:44:00 2023
    Digital Man wrote to bugz <=-

    4 is "Pixel operations supported" https://gitlab.synchro.net/main/sbbs/-/blob/master/src/conio/cterm.txt

    I think you must be referencing an older version of that doc.

    I sure was, and I think apam was as well. Thank you for getting me pointed to the correct cterm.txt.

    I got that from http://syncterm.net/syncterm-src.tgz

    Take care,

    bugz (Steve)

    ... A morning without coffee is like something without ... something else.
    --- MultiMail/Linux v0.52

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)
  • From Digital Man to bugz on Tue Jul 11 15:48:42 2023
    Re: Talisman: bbs_display_sixel
    By: bugz to Digital Man on Tue Jul 11 2023 02:44 pm

    I think you must be referencing an older version of that doc.

    I sure was, and I think apam was as well. Thank you for getting me pointed to the correct cterm.txt.

    I got that from http://syncterm.net/syncterm-src.tgz

    That archive is rebuilt daily and the current version's cterm.txt file (dated July-11 2023) appears to match that one from the gitlab link I shared.
    --
    digital man (rob)

    Synchronet "Real Fact" #113:
    Weedpuller "Assassin" http://youtu.be/opw9RPUOcv8
    Norco, CA WX: 91.4°F, 32.0% humidity, 7 mph SSE wind, 0.00 inches rain/24hrs
  • From bugz@21:1/236 to Digital Man on Wed Jul 12 17:36:00 2023
    Digital Man wrote to bugz <=-

    Re: Talisman: bbs_display_sixel
    By: bugz to Digital Man on Tue Jul 11 2023 02:44 pm

    I think you must be referencing an older version of that doc.

    I sure was, and I think apam was as well. Thank you for getting me pointed to the correct cterm.txt.

    I got that from http://syncterm.net/syncterm-src.tgz

    That archive is rebuilt daily and the current version's cterm.txt file (dated July-11 2023) appears to match that one from the gitlab link I shared. --
    digital man (rob)

    Looking at an old 20230323 file, (or older). Sorry about that, and sorry for wasting your time on this. I need to clean out these old files and directories. (done!)

    Garbage in, broken code out (from me). :(

    Take care,
    bugz (Steve)

    ... Smash forehead on any key to continue
    --- MultiMail/Linux v0.52

    --- Talisman v0.47-dev (Linux/x86_64)
    * Origin: Lunar Mod (21:1/236)