Git Product home page Git Product logo

menugen's People

Contributors

flamwenco avatar octotep avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

menugen's Issues

Enable autoselect

Autoselection is in the spec, but is currently unimplemented. Autoselection would make navigating menus much quicker and easier.

Menugen expects to be run from its home directory

Attempts to run menugen from other directories (including, for example, double-clicking the helloworld example) fail because line 31 of menugen expects menugenbase to be in the current directory. A patch that seems to work is changing line 31 to source $(dirname "$0")/menugenbase.

CLI interface (with fzf)

Rofi is great, but having this functionality in the terminal as well would be a huge plus!
(Also the terminal is a bit more portable)

fzf is a great, cli-based selector which functions similarity to rofi and would allow to run menumaker scripts in the shell.

Ideally menumaker should abstract any differences and provide a consistent interface between the two selector applications so that menumaker scripts can remain agnostic about which application they support.

Better handling of custom input

Right now, menumaker complains that the input (which doesn't exist in the menu) has an unknown type and exits. menuaker needs a way to handle custom input.

Create menumaker validator

Creating a separate tool which makes sure menumaker scripts are valid could potentially ease development and bug squashing. Some things to check:

  • The script has a "main" menu
  • Every begin statement has a matching end statement
  • The end statement comes after the begin statement
  • Every menu has a name (might be tricky)

Research other selector applications

Currently, menumaker uses fzf for its CLI interface and rofi for it's GUI interface.

rofi, while the most featureful dmenu clone I've seen, only works on linux, which is a huge drawback. (I don't think window GUI support would be appropriate, since there's no bash).
fzf works on both linux and OS X, but cannot work in cygwin (for windows).

It would be nice to find completely cross platform tools.

Other applications to look into:

Add an optional DEBUG mode

It would be nice to instruct menumaker to print additional information about what it's receiving. This should help debugging scripts.

Output dmenu command

Hi,
This tool looks very cool, despite I just started tinkering with it.

I was curious of the formatted output generated but seems too difficult for me to manage catching such output...
Instead, do you think it could be possible to merge the 3 files used ? It would permit advanced configs for each created script.

I was thinking of cutting and pasting the menugenbase in the menugen(cli) but have no idea how to merge script...

I might end in duplicating the menugen files...

Reimplement some rofi scripts in menumaker

menumaker works great for small demos, but I need to test the viability of creating a larger script with it. A good POC would be to reimplement some already existing scripts to see what works well and what feels awkward/difficult.

Add autoselect for fzf

Right now, fzf will not auto select a item even if there's only one left (using --select-1).

I am unsure of whether this is a bug in menugen, or a shortcoming of fzf

Create API.md document

The API document should document all functions and variables which are reserved/exposed to the user.

Document OS X incompatibilities

It is my ultimate goal for menugen to run on OS X, however a few oddities prevent that.

  1. bash is ancient. menugen requires at least version 4.0 for hash tables in bash. It also currently requires bash 4.2+ because of its declare -g statements, but they might be redundant. I will investigate that.
  2. md5sum doesn't exist. You can install it via Homebrew with brew install md5sha1sum
  3. Some sed commands might not work due to the difference between BSD utils and GNU utils. This might actually be fixable if reported. Alternatively, one could just install GNU sed.

Also rofi doesn't support OS X - only the CLI interface with fzf works.

Add additional menu options

Right now, there are very few menu options that can be set. It would be nice to expose more rofi options, either in the form of more variables, or a flags variable, which rofi will then use.

fzf cannot accept custom input

fzf does not support custom input. It would be nice if I could figure out a way to get the query from fzf in the event of no matches

The "back" option cannot be turned off

Due to the current organization of the program, the "back" menu items are added before the menu's options are read. A good workaround would be to expose a series of append_* API calls.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.