• bbs.str.ini

    From Recon #1@126.Wwivnet@11:1/101 to All on Sat Nov 30 10:05:07 2024

    In general, if I wanted to take the words "Auto Message" and change the wording, color, add an ansi line or drawing, etc.. can an example be provided ? Maybe a few different examples of manipulating strings for the sake of customization within that file as opposed to using the source code?
    I'm not sure I understand exactly the proper syntax to use, or how to tell WWIV within the bbs.str.ini that it's X string I want to manipulate or change.

    Thanks again!

    r3c0n

    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


                  
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Sat Nov 30 11:25:41 2024


    I'm not sure I understand exactly the proper syntax to use, or how to
    tell WWIV within the bbs.str.ini that it's X string I want to manipulate
    or change.

    We'd have to pull that string and tell the source to use it from bbs.str.ini instead of having it hardcoded. I didn't pull all the strongs since it's super hard to follow, but I'd be happy to see a discyssion on which ones we should pull into the string file and review a pull request.

    rushfan


    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Rushfan #1 on Sat Nov 30 15:07:37 2024


    We'd have to pull that string and tell the source to use it from
    bbs.str.ini instead of having it hardcoded. I didn't pull all the
    strongs since it's super hard to follow, but I'd be happy to see a discyssion on which ones we should pull into the string file and review
    a pull request.

    Well .. there are three things to consider about strings/prompts I suppose:

    1. WWIV's unique "user defined color" option within their persona defaults
    2. A SysOps possible desire to have a consistent color theme and pallet and wanting to change all strings to a specific color and wording.
    3. The ability to replace a string, such as a header or footer (including line dividers,) to ansi created ones. Something such as a (adding spaces now for translation .. ) | [ @DF Auto (no extention code for .ans, .132.ans, .1 .2 .3 random, .msg, .txt etc .. To display a (as example) Auto Message header drawn in ANSI/ASCII to replace the string text header. Essentially header/footer would be desirable.

    Having the flexibility for the SysOp to choose 1 or 2 (or both w/ seperate themes) and 3 always as an option would be great.

    Two areas that are a bit of a challenge to customize would be the listplus and the fs editor/reader/title lister where as the header and footer may be customizable but the data between requires hard coding.

    Just off the cuff conversation starters.

    r3c0n

    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


              
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Sun Dec 1 10:43:44 2024


    3. The ability to replace a string, such as a header or footer
    (including line dividers,) to ansi created ones. Something such as a (adding spaces now for translation .. ) | [ @DF Auto (no extention code

    If the things that need spaces are from a variable, like the message header, there's formatting support to pad things, etc. See
    https://docs.wwivbbs.org/en/latest/cfg/displaying_text/#pipe-variables-formattin g


    Two areas that are a bit of a challenge to customize would be the
    listplus and the fs editor/reader/title lister where as the header and footer may be customizable but the data between requires hard coding.

    That could be doable if we work out what all is needed. That'd need 2 files or strings that could optionally display a file for the header and footer and then a template string for the files in the list which would use local variables.

    Possible, not easy. Here's an example for the full screen message reader: https://github.com/wwivbbs/wwiv/blob/main/install/gfiles/fs_msgscan.msg

    and you can see how wwiv creates the context variables referred to in that file here:

    https://github.com/wwivbbs/wwiv/blob/5d9bef30e0772f3ce0349b78b3245c8aad9306f6/bb s/msgscan.cpp#L238

    Great discussion!


    rushfan



    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Rushfan #1 on Sun Dec 1 15:42:56 2024

    If the things that need spaces are from a variable, like the message
    header, there's formatting support to pad things, etc. See https://docs.wwivbbs.org/en/latest/cfg/displaying_text/#pipe-variables-f ormattin g

    My apologies I making a possible suggestion for an MCI command that could be loaded from within the bbs.strings.ini file. Meaning, if I wanted a header and or footer instead of say the words "Last callers" and the stock == divider line, maybe an MCI such as @DF for "Display file" so it might be pipe code +@DF {lastcaller.ans} or {lastcaller} (without an extension) to allow for random .1 .2 .3, .msg for non ansi users, .c132.ans for wide screen, or .ans for standard 80x25 ansi callers. Having the flexibility to replace a string (or start one) with written/drawn ansi file is of value. The space comment was me just putting a "space" between the pipe code + @DF so that WWIV didn't translate the message funky.

    That could be doable if we work out what all is needed. That'd need 2
    files or strings that could optionally display a file for the header and footer and then a template string for the files in the list which would
    use local variables.

    Not trying to replicate Mystic, just stating how g00r00 has it set up as an example and for brainstorming. Let's use the Last Caller as an example.

    In the string file last caller would have:

    1 Last callers to | MCI command for BBS name
    2 &1 &2 &3 &4 <--- might represent the data Name, Location, Last Call, Node 3. ----------------------- might represent the line style.

    Each of the three above lines could be Modded by color, x/y location on screen, any MCI animation code used (say back printing or spinning as example,) left/right padding, etc. etc. etc.

    In addition, the string could have a | pipe code plus DF plus file name in place (as example below) that might look like such.

    1 | DF lastcalls.ans (Representing a full 80x24 ansi file.
    2 | [ XX,YY H | 15 &1, | [ XX,YY H | 11 &2, etc..
    3. | NN | PA

    What I would have done (making up my own MCI codes here ..) is displayed a full 80x25 ansi file called lastcalls.ans in step 1.
    Step 2 told the BBS to place the data at XX/YY location on the screen for each &1, &2, &3, maybe I added padding after, or simply assigned the outputted string a color.
    3 Got rid of the footer because my ansi file has that drawn into it, and instead simply added a nextline pause.

    This obviously is hard to explain without screen shots. Maybe DM me on Discord and I can send you a living example from TUG or The Ruins both in string form, while also in output form.

    Possible, not easy. Here's an example for the full screen message
    reader: https://github.com/wwivbbs/wwiv/blob/main/install/gfiles/fs_msgscan.msg

    Yes I have modified mine on WWIV, it's a great addition I discovered when browsing menu/data/gfile directories :) So two things that can help the file acheive what we are talking about would be begin and end indicators to be placed after the header and before the footer (the viewable read area). This would allow one to draw an ansi file from within Pablo draw such as:

    Header file lines:
    1
    2
    3
    4
    5
    6
    Followed by begin point that WWIV looks for:
    &1
    Then 15ish lines down from there ..
    .
    .
    .
    .
    .
    .
    .
    .
    . not going down that far but you for sake of attempting to discuss on WWIVnet :) the indicator would then be to the far right of the "read window"
    &2 ----------------------------------------------------------------------------- Followed by the above footer. The &1 and &2 tells WWIV it's lens to contain the post / email message within.

    The part relating to title scans, the header and footer can be manipulated this way, however the columns of data populated from hard code can not. I think again this is where the string editor comes in handy to say have the @1 @2 @3 @4 or whatever you choose to use to represent the columne data to be modified by | xx;yy H while also color.

    I know this would require essentially moving a lot of strings to the equivilant of a .ini file and assigning a lot of string to variable work in code. Th end advantage is full customizing potential without needing the source code of course.

    I'll keep trying to learn C as I go, and see if I can't figure out how you did the NN PW and SYS plus the pause. If can replicate that with even one string maybe I can help some :)

    Wow that was long winded. My apologies, I'm excided with how far WWIV has come and hope more start USING the incredible custom features WWIV offers.

    r3c0n

    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


              
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Sun Dec 1 20:30:21 2024


    Wow that was long winded. My apologies, I'm excided with how far WWIV
    has come and hope more start USING the incredible custom features WWIV

    THanks for the suggestions and ideas.

    I think one thing that may be possible, I'll log it on github is to add a @ { printfile } function like we have for spin and backprint. If that can work, then that'd let the files be displayed anyplace we have a string.

    rushfan



    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Rushfan #1 on Sun Dec 1 21:27:25 2024


    THanks for the suggestions and ideas.

    I think one thing that may be possible, I'll log it on github is to add
    a @ { printfile } function like we have for spin and backprint. If that
    can work, then that'd let the files be displayed anyplace we have a
    string.

    That would be a nice feature, at that point the "nice to have" strings in the bbs.stings file would be headers within the BBS overall but mostly lilo and menus: last callers, auto message, network activty, etc. and chains, gfiles, etc.. That way one could simply remove the text and replace it with the @ { printfile }

    Thanks for listening :)

    r3c0n

    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


    p ╞"→
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Rushfan #1 on Fri Dec 6 18:58:37 2024

    If the things that need spaces are from a variable, like the message
    header, there's formatting support to pad things, etc. See https://docs.wwivbbs.org/en/latest/cfg/displaying_text/#pipe-variables-f ormattin g

    Hey rush,

    I read through quite a bit of this many times and the one area I'd love to focus more on is the string variables for padding, etc.. as you mention above in the quoted text. I am confused by the formatting for padding, centering, and trimming in three areas:

    1. Where may I find the max character output potential of all pipe code expressions such as user.name, user.sl, user.city, etc...
    2. I'd want the aforementioned if I were to create some kind of caller statistics or top caller mod, as an example, where maybe I list:

    user.name user.downloaded user.posts_net user.chains_run
    ^padded ^padded ^padded

    In this example, I'd want to be sure all line up similar to a last caller display would whereby the user.name is displayed to it's full potential and everything else spaced out correctly to equal XX number of columns, for simplicity say 80 columns at the end.

    What would the styax be (just using user name as an example) combined with the syntax of the padding?

    | @ { user . name, "> 35" } , | @ { user . download, "> 10" } , etc?

    3. if I am using text instead of a pipe code expression such as user . name would I use quotes such as | { " My text ", " 35 " } ?

    4. Lastly, if I use a text editor, and write all of this on a single line, am I to assume WWIV does not count anything but the displayed text as part of the 80 column line? In other words, it would take quite a few characters to create my #2 example, within a text editor, using the pipe code string syntax, but should display correctly to no more than 80 lines if my padding/trim and character output count is correct (unless error)?

    I'm sure some of this is easier expressed in discord or IRC, however I am trying to be disciplined in using WWIV :)

    Thanks for any input on proper syntax.


    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


              
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Mon Dec 9 08:49:15 2024


    mention above in the quoted text. I am confused by the formatting for padding, centering, and trimming in three areas:

    For 1, the user variables are all in the userrec struct (that's been the same since 4.0) Here's thatr file. That can help with max length:

    https://github.com/wwivbbs/wwiv/blob/5d9bef30e0772f3ce0349b78b3245c8aad9306f6/sd k/vardec.h#L43

    2: Yes you have the right idea. The ">" character will right align the text so make sure that's what you want.

    3: I think just using text like that in quotes would work, would you give it a try and let me know?

    4: WWIV doesn't care about the raw line length, it'll just wrap at the number of displayed chars based on the user's line length. So I have many files > 80 chars that include ansi or other codes in it. All good.

    I'll try to remember my discord logins, I'm on irc randomly too

    rushfan



    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Rushfan #1 on Mon Dec 9 18:08:30 2024

    Thanks for the link, the max lengths will be super helpful! I've been able to figure out quite a bit on my own, the ANSI could use some improvement, but I've bene able to use the bbs strings file combined with x/y MCI codes to place the NN: and PW: where I want within the ANSI. In addition I've added backspace into lilo (the function / procedure not mci code) for a when they get the password/username wrong. So excited about that. Now for a better ansi lol, that'll take some time (blah!)

    What I think has me confused on syntax is this line in the docs:

    format ::= [[pad]align][width]

    ^ Do need these
    ^^ For [[ pad ]] align ] [ width ] how does that look when combined with a global context variable. I'll play around but the example

    | { user.name, " >35 " }

    Doesn't necessarily match the syntax for "format." So I thought it didn't hurt to ask.

    Thanks rush!


    On Monday,December 09, 2024 at 08:49 AM, Rushfan wrote:

    RE: Re: bbs.str.ini
    BY: Recon #1 @126

    mention above in the quoted text. I am confused by the
    formatting for
    padding, centering, and trimming in three areas:

    For 1, the user variables are all in the userrec struct (that's been the same since 4.0) Here's thatr file. That can help with max length:

    https://github.com/wwivbbs/wwiv/blob/5d9bef30e0772f3ce0349b78b3245c8aad9 306f6/sd k/vardec.h#L43

    2: Yes you have the right idea. The ">" character will right align the
    text so make sure that's what you want.

    3: I think just using text like that in quotes would work, would you
    give it a try and let me know?

    4: WWIV doesn't care about the raw line length, it'll just wrap at the number of displayed chars based on the user's line length. So I have
    many files > 80 chars that include ansi or other codes in it. All good.

    I'll try to remember my discord logins, I'm on irc randomly too

    rushfan



    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


    p ╞"→
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Tue Dec 10 09:10:08 2024


    ^ Do need these
    ^^ For [[ pad ]] align ] [ width ] how does that look when combined with a global context variable. I'll play around but the
    example

    | { user.name, " >35 " }

    Doesn't necessarily match the syntax for "format." So I thought it
    didn't hurt to ask.

    Check out the unit test code that uses some of these: https://github.com/wwivbbs/wwiv/blob/main/common/pipe_expr_test.cpp

    When you ask do you need these, what do you mean? I don't understand thequestion.

    Thanks,

    rushfan



    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Recon #1 on Tue Dec 10 18:31:20 2024

    I think it's just the way the documentation is written. I'll review the examples and figure it out. Thanks rush.

    On Monday,December 09, 2024 at 06:08 PM, Recon wrote:

    RE: Re: bbs.str.ini
    BY: Rushfan #1 @513
    Thanks for the link, the max lengths will be super helpful! I've been
    able to figure out quite a bit on my own, the ANSI could use some improvement, but I've bene able to use the bbs strings file combined
    with x/y MCI codes to place the NN: and PW: where I want within the
    ANSI. In addition I've added backspace into lilo (the function /
    procedure not mci code) for a when they get the password/username wrong.
    So excited about that. Now for a better ansi lol, that'll take some
    time (blah!)

    What I think has me confused on syntax is this line in the docs:

    format ::= [[pad]align][width]

    ^ Do need these
    ^^ For [[ pad ]] align ] [ width ] how does that look when combined with a global context variable. I'll play around but the
    example

    | { user.name, " >35 " }

    Doesn't necessarily match the syntax for "format." So I thought it
    didn't hurt to ask.

    Thanks rush!


    On Monday,December 09, 2024 at 08:49 AM, Rushfan wrote:

    RE: Re: bbs.str.ini
    BY: Recon #1 @126

    mention above in the quoted text. I am confused by the
    formatting for
    padding, centering, and trimming in three areas:

    For 1, the user variables are all in the userrec struct (that's
    been the
    same since 4.0) Here's thatr file. That can help with max length:

    https://github.com/wwivbbs/wwiv/blob/5d9bef30e0772f3ce0349b78b3
    306f6/sd k/vardec.h#L43

    2: Yes you have the right idea. The ">" character will right
    align the
    text so make sure that's what you want.

    3: I think just using text like that in quotes would work, would you
    give it a try and let me know?

    4: WWIV doesn't care about the raw line length, it'll just wrap
    at the
    number of displayed chars based on the user's line length. So I have many files > 80 chars that include ansi or other codes in it.
    All good.

    I'll try to remember my discord logins, I'm on irc randomly too

    rushfan


    ♦1
    ♦2|08Gh|150|08sts |07in the |15Machine
    ♦3|08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777
    ♦4
    ♦5

    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


              
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Wed Dec 11 09:30:14 2024


    I think it's just the way the documentation is written. I'll review the examples and figure it out. Thanks rush.

    If you can think of beter ways to document it, please let us know. Even better would be to send a change to the docs to fix it and make it better for everyone. Our docs are in markdown, which is super simple format to edit.

    Here's the source: https://github.com/wwivbbs/docs/blob/main/docs/cfg/displaying_text.md

    Thanks!

    rushfan



    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Recon #1@126.Wwivnet@11:1/101 to Rushfan #1 on Wed Dec 11 17:59:53 2024




    If you can think of beter ways to document it, please let us know. Even better would be to send a change to the docs to fix it and make it
    better for everyone. Our docs are in markdown, which is super simple
    format to edit.


    I didn't mean it that way, I mean it's my inexperience not understanding the written documentation, not that the documentation is written poorly. If I am able to figure out other MCI code examples (will have more time this weekend) I'll gladly share my findings and add them to the below to be used if one chooses.


    Here's the source: https://github.com/wwivbbs/docs/blob/main/docs/cfg/displaying_text.md


    Thanks for all of the support you've given.





    |08Gh|150|08sts |07in the |15Machine
    |08ghostmachine.ddns.net|15:|08 t|151717 |08ssh|157777


              
    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)
  • From Rushfan #1@513.Wwivnet@11:1/101 to Recon #1 on Thu Dec 12 09:08:01 2024


    I didn't mean it that way, I mean it's my inexperience not understanding
    the written documentation, not that the documentation is written poorly.

    I didn't take it poorly. I know that when a new customer uses a product early on, they don't know every detail about that product the same way that someone who created it does. This customer early on, will have great insights on what is easy to understand, where there are gaps in how the product is explained and documented, and also, often, ideas on what information would have made it easier to understand or better ways to explain/document something.

    As you learn more about this, feedback is a gift, and during this journey, if you find ways to make it easier for everyone to understand, please let us know or help contribute.


    Thanks for all of the support you've given.

    Absolutely, you are very welcome. It's great to see the excitement.

    rushfan


    --- WWIVToss v.1.52
    * Origin: http://www.weather-station.org * Bel Air, MD -USA (11:1/101.0)