Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat: finalization of new UI = help message #1069

Closed

Conversation

zen0bit
Copy link
Contributor

@zen0bit zen0bit commented Apr 17, 2024

Used arguments etc. Not setted in stone!

I want

disscussion

and approval or correction (also grammar)

PS: Not everything is implemented yet
(myiso .. )

help_message() {
    #shellcheck disable=SC2016
    printf '                           _              _
         __ _ _   _ _  ___║ ║ ____ _  ___║ ║_
        / _` ║ ║ ║ ║ ║/ __║ ║/ / _` ║/ _ \ __║
       ( (_║ ║ ║_║ ║ ║ (__║   < (_║ ║  __/ ║_      MIT
        \__, ║\__,_║_║\___║_║\ \__, ║\___║\__║   license
           ║_║  version: %s ║___/ part of QUICKEMU project
 QEMU %s --------------------------------------------------
         > Quickly create and run optimised Linux, <
       > Windows and macOS desktop virtual machines. <
   homepage   -    Not Yet
  repository  - https://github.com/quickemu-project/quickemu
 official GUI - https://github.com/quickemu-project/quickgui
  by Wimpy https://github.com/flexiondotorg and contributors
 Discord - https://discord.gg/wimpy-s-world-712850672223125565
--------------------------------------------------------------

Basic Usage:
 quickget <os> <release> [edition]
 quickget alpine latest

Advanced Usage:
 quickget <arg> [path] <os> [re] [ed]
 quickget -d peppermint latest devuan-xfce

Posible arguments:
 --os-info         (-oi) <os>           : Show info about OS
 --show-crede      (-sc) <os>           : Show OS default credentials
 --open-homepage   (-oh) <os>           : Open OS homepage in default browser
 --download-iso    (-di) <os> <re> [ed] : Just download ISO
 --my-iso          (-mi) <os> <ISO path>: Create VM with downloaded ISO*
 --version          (-v)                : Show version and exit
 --help             (-h)                : Show this help message and exit
   * To prepare custom VM config (Not supported by quickget) use:
     quickget --custom <some name> <path to ISO>
-------------- for developers / testing ----------------------
 --show-homepage   (-sh) <os>           : Show OS homepage URL
 --show-iso        (-si) <os> <re> [ed] : Show·ISO·download·URL
 --test-iso        (-ti) <os> <re> [ed] : Test if ISO is available
 --show-isos       (-ss) <os>           : Show all ISOs of OS
 --test-isos       (-ts) <os>           : Test all ISOs of OS
 --list-csv        (-lc)                : Show lists in csv format
 --list-json       (-lj)                : Show lists in json format
 --list-supported  (-ls)                : List all OS, releases and editions
 --list-isos       (-li)                : List all supported ISOs
 --list-test       (-lt)                : Test if all ISOs are available
--------------------------------------------------------------
supported Operating Systems:\n' "$(quickemu --version)" "$(qemu-x86_64 -version | head -1 | cut -d' ' -f3)"
    os_support | fold -s -w "$(tput cols)"
    exit 0
}

@flexiondotorg
Copy link
Member

flexiondotorg commented Apr 17, 2024

Here are my thoughts based on the help_message() function as it exists now:

help_message() {
    #shellcheck disable=SC2016
    printf '                           _              _
         __ _ _   _ _  ___║ ║ ____ _  ___║ ║_
        / _` ║ ║ ║ ║ ║/ __║ ║/ / _` ║/ _ \ __║
       ( (_║ ║ ║_║ ║ ║ (__║   < (_║ ║  __/ ║_      MIT
        \__, ║\__,_║_║\___║_║\ \__, ║\___║\__║   license
           ║_║  version: %s ║___/ part of QUICKEMU project
 QEMU %s --------------------------------------------------
         > Quickly create and run optimised Linux, <
       > Windows and macOS desktop virtual machines. <
   homepage   -    Not Yet
  repository  - https://github.com/quickemu-project/quickemu
 official GUI - https://github.com/quickemu-project/quickgui
  by Wimpy https://github.com/flexiondotorg and contributors
 Discord - https://discord.gg/wimpy-s-world-712850672223125565
--------------------------------------------------------------

Basic Usage:
 quickget <os> <release> [edition]
 quickget alpine latest

Advanced Usage:
 quickget <arg> [path] <os> [re] [ed]
 quickget -d peppermint latest devuan-xfce

Posible arguments:
 --os-info         (-oi) <os>           : Show info about OS
 --show-crede      (-sc) <os>           : Show OS default credentials
 --open-homepage   (-oh) <os>           : Open OS homepage in default browser
 --download-iso    (-di) <os> <re> [ed] : Just download ISO
 --my-iso          (-mi) <os> <ISO path>: Create VM with downloaded ISO*
 --version          (-v)                : Show version and exit
 --help             (-h)                : Show this help message and exit
   * To prepare custom VM config (Not supported by quickget) use:
     quickget --custom <some name> <path to ISO>
-------------- for developers / testing ----------------------
 --show-homepage   (-sh) <os>           : Show OS homepage URL
 --show-iso        (-si) <os> <re> [ed] : Show·ISO·download·URL
 --test-iso        (-ti) <os> <re> [ed] : Test if ISO is available
 --show-isos       (-ss) <os>           : Show all ISOs of OS
 --test-isos       (-ts) <os>           : Test all ISOs of OS
 --list-csv        (-lc)                : Show lists in csv format
 --list-json       (-lj)                : Show lists in json format
 --list-supported  (-ls)                : List all OS, releases and editions
 --list-isos       (-li)                : List all supported ISOs
 --list-test       (-lt)                : Test if all ISOs are available
--------------------------------------------------------------
supported Operating Systems:\n' "$(quickemu --version)" "$(qemu-x86_64 -version | head -1 | cut -d' ' -f3)"
    os_support | fold -s -w "$(tput cols)"
    exit 0
}

General feedback

Less is more 🙂

  • Remove "homepage - Not Yet" from the header.
  • Remove "official GUI - https://github.com/quickemu-project/quickgui" from the header.
  • Remove "by Wimpy https://github.com/flexiondotorg and contributors" from the header.
  • Change "Discord - https://discord.gg/wimpy-s-world-712850672223125565" to "Discord: https://wimpysworld.io/discord"
  • Remove qemu-x86_64 -version from the header.
    • It is the only use of QEMU (the hypervisor) in quickget and isn't needed for anything so reporting the QEMU version is redundant in quickget.
    • It is another place we'll need to adapt as we add support for running foreign architecture VMs.
  • quickqui uses list, list_csv and list_json
    • Those arguments need to be preserved for backwards compatibility.
  • In the Advanced Usage: use the long hand arguments, such as --download-only instead of -d, so the examples are more informative/useful.
  • Drop --my-iso and any custom configuration creation.
    • Creating a VM requires more inputs than just the ISO to create a working configuration, such as the guest, boot type, and disk space. Doing this well is the central purpose of quickget.
    • Users requiring a bespoke configuration can handcraft them.
    • I want to keep quickget as a tool that automatically does the right thing. I don't want to recreate the complexity of VirtualBox, etc.

Arguments

  • Change --os-info to just --info
  • Change --download-iso to --download
  • Change --test-iso to --check
  • Change --test-isos to --check-all
  • Change --show-iso to --url
  • Change --show-isos to --url-all
  • Change --list-isos to --list-urls
  • Change --list-test to --test-urls
  • Change --list-supported to --list
  • Drop --show-crede.
    • If showing the default login credentials is something we want to do, it should be part of --info
  • Drop --show-homepage
    • It should just be part of --info

Proposal (not tested for syntax)

Here is my mock-up based on the above feedback, which hopefully makes things more clear, and includes revised long-hand and shot-hand arguments.

help_message() {
    #shellcheck disable=SC2016
    printf '                           _              _
         __ _ _   _ _  ___║ ║ ____ _  ___║ ║_
        / _` ║ ║ ║ ║ ║/ __║ ║/ / _` ║/ _ \ __║
       ( (_║ ║ ║_║ ║ ║ (__║   < (_║ ║  __/ ║_      MIT
        \__, ║\__,_║_║\___║_║\ \__, ║\___║\__║   license
           ║_║  version: %s ║___/ part of Quickemu project
 QEMU %s --------------------------------------------------
         > Quickly create and run optimised Linux, <
       > Windows and macOS desktop virtual machines. <

 Project - https://github.com/quickemu-project/quickemu
 Discord - https://wimpysworld.io/discord
--------------------------------------------------------------

Basic Usage:
 quickget <os> <release> [edition]
 quickget ubuntu 22.04

Advanced Usage:
 quickget <arg> [path] <os> [re] [ed]
 quickget --download ubuntu 22.04

Arguments:
 --info             (-i) <os>           : Show info about OS
 --download         (-d) <os> <re> [ed] : Download the ISO only; no VM configuration
 --open-homepage    (-o) <os>           : Open homepage for the OS
 --version          (-v)                : Show version
 --help             (-h)                : Show this help message
------------------- For testing & development ----------------
 --check            (-c)  <os> [re] [ed] : Check download an OS release/edition is available
 --check-all        (-ca) <os>           : Check all downloads for an OS are available
 --url              (-u)  <os> <re> [ed] : Show download URL for an OS release/edition
 --url-all          (-ua) <os>           : Show all download URLs for an OS
 --list             (-l)                 : List all supported systems in plain text
 --list-csv         (-lc)                : List all supported systems in csv format
 --list-json        (-lj)                : List all supported systems in json format
 --list-urls        (-lu)                : List all supported systems download URLs
 --test-urls        (-tu)                : Check all downloads for all OSs are available
--------------------------------------------------------------
Supported Operating Systems:\n' "$(quickemu --version)"
    os_support | fold -s -w "$(tput cols)"
    exit 0
}

Code folding

It should be possible to fold some code, as it looks like:

  • --check and --check-all are orthogonal and that only --check is required that could accept <re> and [ed] as optional arguments.
  • --url and --url-all are orthogonal and that just --url is required that could accept <re> and [ed] as optional arguments.

@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 17, 2024

Less is more 🙂

👍

* Remove "homepage   -    Not Yet" from the header.

* Remove "official GUI - [quickemu-project/quickgui](https://github.com/quickemu-project/quickgui)" from the header.

* Remove "by Wimpy [@flexiondotorg](https://github.com/flexiondotorg) and contributors" from the header.

* Change "Discord - [discord.gg/wimpy-s-world-712850672223125565](https://discord.gg/wimpy-s-world-712850672223125565)" to "Discord: [wimpysworld.io/discord](https://wimpysworld.io/discord)"

* Remove `qemu-x86_64 -version` from the header.
  
  * It is the only use of QEMU (the hypervisor) in `quickget` and isn't needed for anything so reporting the QEMU version is redundant in `quickget`.
  * It is another place we'll need to adapt as we add support for running foreign architecture VMs.

👍

* `quickqui` uses `list`, `list_csv` and `list_json`

  * **Those arguments need to be preserved for backwards compatibility.**

Is that really needed? For what/who may I ask? (quickgui?)
I think if we have arguments only with dashes could make things easier for us
same as help. I leaved that four or five arguments for help...

* In the _Advanced Usage:_ use the long hand arguments, such as `--download-only` instead of `-d`, so the examples are more informative/useful.

👍

* Drop `--my-iso` and any custom configuration creation.
  * Creating a VM requires more inputs than just the ISO to create a working configuration, such as the guest, boot type, and disk space. Doing this well is the central purpose of `quickget`.
  * Users requiring a bespoke configuration can handcraft them.
  * I want to keep `quickget` as a tool that automatically does the right thing. I don't want to recreate the complexity of VirtualBox, etc.

This is needed for me. I just want try run any ISO (~/ or https://) with default linux configuration.
Will work for most. I actually in 99% cases needs to change only efi/legacy configuration (don't care about disc now [Live ISO])
Thats all. Named could be whatever.
usage: quickget --my-iso <super name> ~/git/newone or quickget --my-iso <even better name> https://nowhere.com/bestisointheworld.iso
We don't need to do nothing fancy and add super usefull feature

Code folding

It should be possible to fold some code, as it looks like:

* `--check` and `--check-all` are orthogonal and that only `--check` is required that could accept `<re>` and `[ed]` as optional arguments.

* `--url` and `--url-all` are orthogonal and that just `--url` is required that could accept `<re>` and `[ed]` as optional arguments.

aha

I will use short one anyway. But long are nice also, if one isn't familiar with program...

OK

PS: out of topic: Merged HoloISO changes don't work for me...

@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 17, 2024

This is needed for me. I just want try run any ISO (~/ or https://) with default linux configuration.
Will work for most. I actually in 99% cases needs to change only efi/legacy configuration (don't care about disc now [Live ISO])
Thats all. Named could be whatever.
usage: quickget --my-iso <super name> ~/git/newone/garbage.iso or quickget --my-iso <even better name> https://nowhere.com/bestisointheworld.iso
We don't need to do nothing fancy and add super usefull feature

Maybe with optional -l legacy flag for legacy BIOS

@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 17, 2024

Less is more 🙂

👍

  • Drop --show-crede.

    • If showing the default login credentials is something we want to do, it should be part of --info
  • Drop --show-homepage

    • It should just be part of --info

Already is but...

I think better will be ADD something instead

I want all part of info printable separately -[LABCH] for Logo About Basedof Credentials Homepage

Less is more 🤣

Ps: but we don't have font logos yet, just some logos from neofetch as placeholder meanwhile...

getops LABCH - that could satisfy both of us

Just don't know how to write that into help message...
PPS: or 12345 so we will have clean disctinctions betwen infos and the rest
PPPS: I am looking bit to support vercel (But i need to try that thing first)

@zen0bit zen0bit mentioned this pull request Apr 17, 2024
5 tasks
@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 17, 2024

help_message() {
    #shellcheck disable=SC2016
    printf '                           _              _
         __ _ _   _ _  ___║ ║ ____ _  ___║ ║_
        / _` ║ ║ ║ ║ ║/ __║ ║/ / _` ║/ _ \ __║
       ( (_║ ║ ║_║ ║ ║ (__║   < (_║ ║  __/ ║_      MIT
        \__, ║\__,_║_║\___║_║\ \__, ║\___║\__║   license
           ║_║  version: %s ║___/ part of Quickemu project
 QEMU %s --------------------------------------------------
         > Quickly create and run optimised Linux, <
       > Windows and macOS desktop virtual machines. <

 Project - https://github.com/quickemu-project/quickemu
 Discord - https://wimpysworld.io/discord
--------------------------------------------------------------

Basic Usage:
 quickget <os> <release> [edition]
 quickget ubuntu 22.04

Advanced Usage:
 quickget <arg> [path] <os> [re] [ed]
 quickget --download ubuntu 22.04

Arguments:
 <12345>                 <os>           : Show info about OS*
 --download         (-d) <os> <re> [ed] : Download the ISO only; no VM configuration
 --iso-somwhere     (-i) <os> <ISO path>: Download ISo if is URL, then create default linux config for new VM with provided name
 --open-homepage    (-o) <os>           : Open homepage for the OS
 --version          (-v)                : Show version
 --help             (-h)                : Show this help message
------------------- For testing & development ----------------
 --check            (-c)  <os> [re] [ed] : Check download an OS release/edition is available
 --check-all        (-ca) <os>           : Check all downloads for an OS are available
 --url              (-u)  <os> <re> [ed] : Show download URL for an OS release/edition
 --url-all          (-ua) <os>           : Show all download URLs for an OS
 --list             (-l)                 : List all supported systems in plain text
 --list-csv         (-lc)                : List all supported systems in csv format
 --list-json        (-lj)                : List all supported systems in json format
 --list-urls        (-lu)                : List all supported systems download URLs
 --test-urls        (-tu)                : Check all downloads for all OSs are available
--------------------------------------------------------------
Supported Operating Systems:\n' "$(quickemu --version)"
    os_support | fold -s -w "$(tput cols)"
    exit 0
}

@zen0bit zen0bit force-pushed the feature/final-help-message branch 2 times, most recently from e358340 to 7479750 Compare April 17, 2024 17:38
@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 19, 2024

I take silence as approval 😃

Implemented getopts. And all (less) arguments except iso-somewhere

But I need write use of info into help message
how to?

Currently:

  • 1 = Logo + pretty name (Or better separate logo from Pretty name?)
  • 2 = Based of
  • 3 = Credentials
  • 4 = Homepage
  • 5 = Short info

Use as first argument with choosed OS after that

quickget -12345 ubuntu = shows everything
quickget -4 ubuntu = shows homepage
quickget -51 ubuntu = shows info and then logo

Numbers could be changed to alphabet arguments, but I though that could be nice have that clearly separated...

@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 19, 2024

What about this?

help_message() {
    #shellcheck disable=SC2016
    printf '                           _              _
         __ _ _   _ _  ___║ ║ ____ _  ___║ ║_
        / _` ║ ║ ║ ║ ║/ __║ ║/ / _` ║/ _ \ __║
       ( (_║ ║ ║_║ ║ ║ (__║   < (_║ ║  __/ ║_      MIT
        \__, ║\__,_║_║\___║_║\ \__, ║\___║\__║   license
           ║_║  version: %s ║___/ part of Quickemu project
--------------------------------------------------------------
         > Quickly create and run optimised Linux, <
       > Windows and macOS desktop virtual machines. <

 Project - https://github.com/quickemu-project/quickemu
 Discord - https://wimpysworld.io/discord
--------------------------------------------------------------

Basic Usage:
 quickget <os> <release> [edition]
 quickget ubuntu 22.04

Advanced Usage:
 quickget <arg> [path] <os> [re] [ed]
 quickget --download ubuntu 22.04

Arguments:
 -[12345]              <os>           : Show info* about OS
 --download       (-d) <os> <re> [ed] : Download the ISO only; no VM configuration
 --iso-somwhere   (-i) <os> <ISO>     : Download ISo if is URL, then create default linux config for new VM with provided name
 --open-homepage  (-o) <os>           : Open homepage for the OS
 --version        (-v)                : Show version
 --help           (-h)                : Show this help message
-------------- For testing & development ---------------------
 --check          (-c) <os> [re] [ed] : Check download an OS release/edition is available
 --check-all     (-ca) <os>           : Check all downloads for an OS are available
 --url            (-u) <os> <re> [ed] : Show download URL for an OS release/edition
 --url-all       (-ua) <os>           : Show all download URLs for an OS
 --list           (-l)                : List all supported systems in plain text
 --list-csv      (-lc)                : List all supported systems in csv format
 --list-json     (-lj)                : List all supported systems in json format
 --list-urls     (-lu)                : List all supported systems download URLs
 --test-urls     (-tu)                : Check all downloads for all OSs are available
--------------------------------------------------------------
   *info: 1=Logo 2=Based of 3=Credentials 4=Homepage 5=Short info
    Can be used in any combination like -13254 or -52

Supported Operating Systems:\n' "$(quickemu --version)"
    os_support | fold -s -w "$(tput cols)"
}

@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 19, 2024

Also thinking about nicer logo.

Used one is just first, I suggest 😉

leaving that choice for later...
...so?

I used: standart.flf

Font: standard.flf
              _      _
   __ _ _   _(_) ___| | _____ _ __ ___  _   _
  / _` | | | | |/ __| |/ / _ \ '_ ` _ \| | | |
 | (_| | |_| | | (__|   <  __/ | | | | | |_| |
  \__, |\__,_|_|\___|_|\_\___|_| |_| |_|\__,_|
     |_|
              _      _              _
   __ _ _   _(_) ___| | ____ _  ___| |_
  / _` | | | | |/ __| |/ / _` |/ _ \ __|
 | (_| | |_| | | (__|   < (_| |  __/ |_
  \__, |\__,_|_|\___|_|\_\__, |\___|\__|
     |_|                 |___/
-------------------
Font: smmono9.tlf

         ▝      ▐
 ▄▄ ▗ ▗ ▗▄   ▄▖ ▐ ▗  ▄▖ ▗▄▄ ▗ ▗
▐▘▜ ▐ ▐  ▐  ▐▘▝ ▐▗▘ ▐▘▐ ▐▐▐ ▐ ▐
▐ ▐ ▐ ▐  ▐  ▐   ▐▜  ▐▀▀ ▐▐▐ ▐ ▐
▝▙█ ▝▄▜ ▗▟▄ ▝▙▞ ▐ ▚ ▝▙▞ ▐▐▐ ▝▄▜
  ▐
  ▝

          ▝      ▐            ▗
  ▄▄ ▗ ▗ ▗▄   ▄▖ ▐ ▗  ▄▄  ▄▖ ▗▟▄
 ▐▘▜ ▐ ▐  ▐  ▐▘▝ ▐▗▘ ▐▘▜ ▐▘▐  ▐
 ▐ ▐ ▐ ▐  ▐  ▐   ▐▜  ▐ ▐ ▐▀▀  ▐
 ▝▙█ ▝▄▜ ▗▟▄ ▝▙▞ ▐ ▚ ▝▙▜ ▝▙▞  ▝▄
   ▐                  ▖▐
   ▝                  ▝▘
-------------------
Font: smmono12.tlf (modified)

            ▀       ▐▌
 ▟█▟▌▐▌ ▐▌ ██   ▟██▖▐▌▟▛  ▟█▙ ▐█▙█▖▐▌ ▐▌
▐▛ ▜▌▐▌ ▐▌  █  ▐▛  ▘▐▙█  ▐▙▄▟▌▐▌█▐▌▐▌ ▐▌
▐▌ ▐▌▐▌ ▐▌  █  ▐▌   ▐▛█▖ ▐▛▀▀▘▐▌█▐▌▐▌ ▐▌
▝█▄█▌▐▙▄█▌▗▄█▄▖▝█▄▄▌▐▌▝▙ ▝█▄▄▌▐▌█▐▌▐▙▄█▌
 ▝▀▐▌ ▀▀▝▘▝▀▀▀▘ ▝▀▀ ▝▘ ▀▘ ▝▀▀ ▝▘▀▝▘ ▀▀▝▘
   ▐▌

            ▀       ▐▌              ▐▌
 ▟█▟▌▐▌ ▐▌ ██   ▟██▖▐▌▟▛  ▟█▟▌ ▟█▙ ▐███
▐▛ ▜▌▐▌ ▐▌  █  ▐▛  ▘▐▙█  ▐▛ ▜▌▐▙▄▟▌ ▐▌
▐▌ ▐▌▐▌ ▐▌  █  ▐▌   ▐▛█▖ ▐▌ ▐▌▐▛▀▀▘ ▐▌
▝█▄█▌▐▙▄█▌▗▄█▄▖▝█▄▄▌▐▌▝▙ ▝█▄█▌▝█▄▄▌ ▐▙▄
 ▝▀▐▌ ▀▀▝▘▝▀▀▀▘ ▝▀▀ ▝▘ ▀▘ ▞▀▐▌ ▝▀▀   ▀▀
   ▐▌                     ▜█▛▘

-------------------
Font: xsbookb.flf

                ##        ###
                ##         ##
                           ##
 #####  ##  ## ###   ###   ## ##   ###  ## ##  ##  ##  ##
##  ##  ##  ##  ##  ##  #  ####   ## ## ### ### ## ##  ##
##  ##  ##  ##  ##  ##     ####   ##### ##  ##  ## ##  ##
## ###  ## ###  ##  ##  #  ## ##  ##    ##  ##  ## ## ###
 ## ##   ## ## ####  ###   ## ###  #### ##  ##  ##  ## ##
    ##
   ####

                ##        ###
                ##         ##                    #
                           ##         #         ##
 #####  ##  ## ###   ###   ## ##   ###    ###  ####
##  ##  ##  ##  ##  ##  #  ####   ## ##  ## ##  ##
##  ##  ##  ##  ##  ##     ####   ## ##  #####  ##
## ###  ## ###  ##  ##  #  ## ##   ###   ##     ##
 ## ##   ## ## ####  ###   ## ###  #####  ####   ##
    ##                            #   ##
   ####                           #####

-------------------
Font: stop.flf
              _       _
             (_)     | |
   ____ _   _ _  ____| |  _ ____ ____  _   _
 / _  | | | | |/ ___) | / ) _  )    \| | | |
| | | | |_| | ( (___| |< ( (/ /| | | | |_| |
 \_|| |\____|_|\____)_| \_)____)_|_|_|\____|
    |_|
             _       _
            (_)     | |               _
  ____ _   _ _  ____| |  _ ____  ____| |_
 / _  | | | | |/ ___) | / ) _  |/ _  )  _)
| | | | |_| | ( (___| |< ( ( | ( (/ /| |__
 \_|| |\____|_|\____)_| \_)_|| |\____)\___)
    |_|                  (_____|
-------------------
Font: smblock.tlf
      ▗    ▌
▞▀▌▌ ▌▄ ▞▀▖▌▗▘▞▀▖▛▚▀▖▌ ▌
▚▄▌▌ ▌▐ ▌ ▖▛▚ ▛▀ ▌▐ ▌▌ ▌
  ▌▝▀▘▀▘▝▀ ▘ ▘▝▀▘▘▝ ▘▝▀▘
      ▗    ▌        ▐
▞▀▌▌ ▌▄ ▞▀▖▌▗▘▞▀▌▞▀▖▜▀
▚▄▌▌ ▌▐ ▌ ▖▛▚ ▚▄▌▛▀ ▐ ▖
  ▌▝▀▘▀▘▝▀ ▘ ▘▗▄▘▝▀▘ ▀
-------------------
Font: rev.flf
========================================================
==========================  ============================
==========================  ============================
==========================  ============================
==    ==  =  ==  ===   ===  =  ===   ===  =  = ===  =  =
=  =  ==  =  ======  =  ==    ===  =  ==        ==  =  =
=  =  ==  =  ==  ==  =====   ====     ==  =  =  ==  =  =
==    ==  =  ==  ==  =====    ===  =====  =  =  ==  =  =
====  ==  =  ==  ==  =  ==  =  ==  =  ==  =  =  ==  =  =
====  ===    ==  ===   ===  =  ===   ===  =  =  ===    =
========================================================
====================================================
==========================  ========================
==========================  ========================
==========================  ====================  ==
==    ==  =  ==  ===   ===  =  ===   ====   ===    =
=  =  ==  =  ======  =  ==    ===  =  ==  =  ===  ==
=  =  ==  =  ==  ==  =====   =====    ==     ===  ==
==    ==  =  ==  ==  =====    ======  ==  ======  ==
====  ==  =  ==  ==  =  ==  =  ==  =  ==  =  ===  ==
====  ===    ==  ===   ===  =  ===   ====   ====   =
====================================================
Font: pagga.tlf
░▄▀▄░█░█░▀█▀░█▀▀░█░█░█▀▀░█▄█░█░█
░█\█░█░█░░█░░█░░░█▀▄░█▀▀░█░█░█░█
░░▀\░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀░▀░▀▀▀
░▄▀▄░█░█░▀█▀░█▀▀░█░█░█▀▀░█▀▀░▀█▀
░█\█░█░█░░█░░█░░░█▀▄░█░█░█▀▀░░█░
░░▀\░▀▀▀░▀▀▀░▀▀▀░▀░▀░▀▀▀░▀▀▀░░▀░
-------------------
Font: mono9.tlf

                ▀           █
 ▄▄▄▄  ▄   ▄  ▄▄▄     ▄▄▄   █   ▄   ▄▄▄   ▄▄▄▄▄  ▄   ▄
█▀ ▀█  █   █    █    █▀  ▀  █ ▄▀   █▀  █  █ █ █  █   █
█   █  █   █    █    █      █▀█    █▀▀▀▀  █ █ █  █   █
▀█▄██  ▀▄▄▀█  ▄▄█▄▄  ▀█▄▄▀  █  ▀▄  ▀█▄▄▀  █ █ █  ▀▄▄▀█
    █
    ▀

                ▀           █                      ▄
 ▄▄▄▄  ▄   ▄  ▄▄▄     ▄▄▄   █   ▄   ▄▄▄▄   ▄▄▄   ▄▄█▄▄
█▀ ▀█  █   █    █    █▀  ▀  █ ▄▀   █▀ ▀█  █▀  █    █
█   █  █   █    █    █      █▀█    █   █  █▀▀▀▀    █
▀█▄██  ▀▄▄▀█  ▄▄█▄▄  ▀█▄▄▀  █  ▀▄  ▀█▄▀█  ▀█▄▄▀    ▀▄▄
    █                               ▄  █
    ▀                                ▀▀
-------------------
Font: future.tlf
┏━┓╻ ╻╻┏━╸╻┏ ┏━╸┏┳┓╻ ╻
┃┓┃┃ ┃┃┃  ┣┻┓┣╸ ┃┃┃┃ ┃
┗┻┛┗━┛╹┗━╸╹ ╹┗━╸╹ ╹┗━┛
┏━┓╻ ╻╻┏━╸╻┏ ┏━╸┏━╸╺┳╸
┃┓┃┃ ┃┃┃  ┣┻┓┃╺┓┣╸  ┃
┗┻┛┗━┛╹┗━╸╹ ╹┗━┛┗━╸ ╹
-------------------
Font: block.flf

                    _|            _|
  _|_|_|  _|    _|        _|_|_|  _|  _|      _|_|    _|_|_|  _|_|    _|    _|
_|    _|  _|    _|  _|  _|        _|_|      _|_|_|_|  _|    _|    _|  _|    _|
_|    _|  _|    _|  _|  _|        _|  _|    _|        _|    _|    _|  _|    _|
  _|_|_|    _|_|_|  _|    _|_|_|  _|    _|    _|_|_|  _|    _|    _|    _|_|_|
      _|
      _|









                    _|            _|                              _|
  _|_|_|  _|    _|        _|_|_|  _|  _|      _|_|_|    _|_|    _|_|_|_|
_|    _|  _|    _|  _|  _|        _|_|      _|    _|  _|_|_|_|    _|
_|    _|  _|    _|  _|  _|        _|  _|    _|    _|  _|          _|
  _|_|_|    _|_|_|  _|    _|_|_|  _|    _|    _|_|_|    _|_|_|      _|_|
      _|                                          _|
      _|                                      _|_|
-------------------
Font: bigmono9.tlf

                █           █
                            █
                            █
 ██▓█  █   █  ███     ▓██▒  █  ▒█   ███   ██▓█▓  █   █
█▓ ▓█  █   █    █    ▓█  ▓  █ ▒█   ▓▓ ▒█  █▒█▒█  █   █
█   █  █   █    █    █░     █▒█    █   █  █ █ █  █   █
█   █  █   █    █    █      ██▓    █████  █ █ █  █   █
█   █  █   █    █    █░     █░█░   █      █ █ █  █   █
█▓ ▓█  █▒ ▓█    █    ▓█  ▓  █ ░█   ▓▓  █  █ █ █  █▒ ▓█
 ██▓█  ▒██▒█  █████   ▓██▒  █  ▒█   ███▒  █ █ █  ▒██▒█
    █
    █
    █

                █           █
                            █                      █
                            █                      █
 ██▓█  █   █  ███     ▓██▒  █  ▒█   ██▓█   ███   █████
█▓ ▓█  █   █    █    ▓█  ▓  █ ▒█   █▓ ▓█  ▓▓ ▒█    █
█   █  █   █    █    █░     █▒█    █   █  █   █    █
█   █  █   █    █    █      ██▓    █   █  █████    █
█   █  █   █    █    █░     █░█░   █   █  █        █
█▓ ▓█  █▒ ▓█    █    ▓█  ▓  █ ░█   █▓ ▓█  ▓▓  █    █░
██▓█  ▒██▒█  █████   ▓██▒  █  ▒█   ██▒█   ███▒    ▒██
   █                                  █
   █                               ▓ ▒█
   █                               ▒██░
-------------------
Font: ascii9.tlf

                "           #
 mmmm  m   m  mmm     mmm   #   m   mmm   mmmmm  m   m
#" "#  #   #    #    #"  "  # m"   #"  #  # # #  #   #
#   #  #   #    #    #      #"#    #""""  # # #  #   #
"#m##  "mm"#  mm#mm  "#mm"  #  "m  "#mm"  # # #  "mm"#
    #
    "

                "           #                      m
 mmmm  m   m  mmm     mmm   #   m   mmmm   mmm   mm#mm
#" "#  #   #    #    #"  "  # m"   #" "#  #"  #    #
#   #  #   #    #    #      #"#    #   #  #""""    #
"#m##  "mm"#  mm#mm  "#mm"  #  "m  "#m"#  "#mm"    "mm
    #                               m  #
    "                                ""
-------------------

To choose some i liked...

Any graphic designer here?
I just bit played with figglet and toilet..

@zen0bit zen0bit changed the title feat: final help message (help me define arguments) feat: finalization of new UI = help message Apr 19, 2024
@flexiondotorg
Copy link
Member

Is that really needed? For what/who may I ask? (quickgui?)
I think if we have arguments only with dashes could make things easier for us

Yes, list, list_csv and list_json are required for quickgui. They are essentially the "API" to quickemu, but they do not need to be exposed as usbale arguments via --help.

  • If those are removed, then quickgui needs to be updated accordingly.
  • If the format of the csv and json changes, quickgui needs to to updated accordingly.

If --my-iso is absolutely required, change the name to --create-config.

Let's not target font logos for this new release, we can put it on the roadmap for a future release.

@zen0bit
Copy link
Contributor Author

zen0bit commented Apr 19, 2024

* If the format of the csv and json changes, quickgui needs to to updated accordingly.

so could be easily changed just on both sides (as expected)
so I don't se problem here
Will be abandoned in cooperation with quickgui

If --my-iso is absolutely required, change the name to --create-config.
will do that

Let's not target font logos for this new release, we can put it on the roadmap for a future release.

That's the plan (Or I pushed icons also here?)

-1 Currently show only Pretty name
ASCII art from neofetch was removed
Was meant to be temporary anyway

@zen0bit zen0bit force-pushed the feature/final-help-message branch 2 times, most recently from 5ed99d3 to 1d42e98 Compare April 20, 2024 00:49
@TuxVinyards
Copy link
Contributor

Is that really needed? For what/who may I ask? (quickgui?)
I think if we have arguments only with dashes could make things easier for us

Yes, list, list_csv and list_json are required for quickgui. They are essentially the "API" to quickemu, but they do not need to be exposed as usbale arguments via --help.

* If those are removed, then quickgui needs to be updated accordingly.

Ditto for me, kind of. Removal of quickget -t breaks qqX. I am working on fixes and updates. But in the same way as for Quickgui, keeping -t as an undocumented synonym for --check might help mitigate any transitional problems.

Currently, qqX runs -t and checks if grep returns the word 'broken' from the output.

On the other hand, it could mask problems too. The better option might be to remove it, in case we forget why it was there and it get removed later causing unexpected breaks. Providing we get sufficiently long enough a beta/RC time slot I should be able to cope.

I generally prefer the new API. I like the idea of being able to directly extract the target URL

At the moment things are so in the air, it's just too difficult code anything against things.

ALSO on a slightly related point, I still don't like the Windows LANGS not being hyphenated. If new users don't quote the bracketed suffix they are going to get the wrong release and keep filing 'it doesn't work' type issues ....

@flexiondotorg
Copy link
Member

Let's not target font logos for this new release, we can put it on the roadmap for a future release.

That's the plan (Or I pushed icons also here?)

Please keep all distro logo/icon work in a separate branch and PR as it requires some more preparatory work with regards to distro packaging to land the feature.

@flexiondotorg
Copy link
Member

@zen0bit As #999 is merged, can this be closed?

@zen0bit zen0bit closed this Apr 21, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants