GithubHelp home page GithubHelp logo

lalathealter / biblade Goto Github PK

View Code? Open in Web Editor NEW
0.0 1.0 0.0 3.15 MB

An in-place chat "wheel" for quick pasting your selected quotes - for those times when you have literally no time to google

License: GNU General Public License v3.0

Go 100.00%
chat-wheel desktop-app go golang robotgo text-interface

biblade's Introduction

biblade v1.0.0 (?)

Biblade (Bible + Blade) is a desktop utility app that allows you to quickly paste any of your favourite quotes - for those (presumably, gaming) moments when you literally have no time to google or to type.

This app operates directly in your current text prompt, so that you do not have to ALT-TAB to employ it. Biblade is meant to serve you both like a sword of the Holy Spirit, which is the Word of God (Eph. 6:17), a discerner of the thoughts and intents of the heart (Heb. 4:12), and like a shiv that you keep in your sleeve for certain conversations, hence its' name.

The app has been lazily tested on Windows. Primary functionality seems to be working just fine.

Running instructions

To use biblade you can either download a github realise or build it from source. If you prefer the latter, please clone this repository (while making sure to have golang compiler installed).

Run:

go run .

Build an executable:

go build .

Leave this app running in the background while you intend to use it and simply close the process (Ctrl-C) when it is no longer needed.

On using biblade

While an app is running, type a predetermined key (the default is ]) to enter into active mode. Doing so displays an in-prompt interface (please make sure to use while having a cursor set on text prompt) for you to choose a quote you want to paste. All phrases are broken into "wheel" frames — structures that hold a certain amount (not bigger than it is set to be) of actual quotes and pointers to other frames (which are meant to represent subsets or subthemes — to make your navigation easier). All items inside a wheel frame have a corresponding character displayed in square brackets before its' tag, by typing which you choose them over others. Choosing a quote pastes its' full text right into the same text prompt and exit the active mode, while choosing a "next" option or a frame pointer will leave active mode intact until you reach the end. Typing anything aside from suggested keys (except backspace) will switch mode back to inactive.

On adding your phrases

To write your own phrase set, please open your preferred text editor, create an empty json file and use the following structure:

A file must start with an array of pairs. A pair is a json array of length 2 that contains either a complete phrase or a subset of phrases. The first element of a pair must be a string that reflects its shortened name (tag), while the second should be either a string (a full text of a phrase to be pasted) or an array of pairs (a subset). As you can imagine, it is possible to nest them however you like or find best suitable.

An example:

[ 
    ["your_tag_name", "full_text_of_a_phrase"],
    ["short_name", "another_quote"],
    ["#collection_name", [
        ["#1quote", "blah-blah-blah"],
        ["#2quote", "qwerty"],
        ["Animal_sounds", [
            ["cow", "moo-moo"],
            ["cat", "meow, meow"],
            ["dog", "woof"]
        ]]
    ]],
    ["cooking_recipes", [
        ["omelet", "eggs, milk..."],
        ["pasta", "spaghetti"]
    ]]
]

On settings

You can change app's settings by simply editing the corresponding json file (settings.json) in your preferred text editor. Please consider the original types of values before changing them. After you are done, please make sure to reload the app. Here is a quick rundown on what every field means:

  • frameCap (type int) — the maximum allowed length of a frame; If a phrase set is longer, it is going to be broken into several frames. It cannot be set lower than 4
  • introLen (type int) — the maximum allowed length of a tag; all longer tags are going to be truncated with dots. It cannot be set lower than 4.
  • wheelFile (type string) — the path to a json file containing a collection your selected phrases.
  • key (type string) — the first character of a string you put in this field is going to be used as an activation key.

biblade's People

Contributors

lalathealter avatar

Watchers

 avatar

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.