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

Tooltips via libui-dev? #89

Open
rubyFeedback opened this issue Nov 26, 2024 · 3 comments
Open

Tooltips via libui-dev? #89

rubyFeedback opened this issue Nov 26, 2024 · 3 comments

Comments

@rubyFeedback
Copy link
Collaborator

rubyFeedback commented Nov 26, 2024

So I just found libui-dev due to kojix2 finding it first - when I snoop after kojix2 I find useful things. :)

One on the issues libui-dev marked as possible is "Tooltips (266)". Is there a possibility for ruby libui to cherry-pick something like that? Tooltips could be quite useful to have; it can give users additional information how to use the GUI, such as what a given entry is for, or what the function of a button may be (e. g. "update xyz"). I also think Andy will quickly add everything that is supported into glimmer-libui. Tooltips for rubio radio! :D

@kojix2
Copy link
Owner

kojix2 commented Nov 27, 2024

Hi

If you are interested in using libui-dev, the first step is to edit the LibUI Rakefile so that it downloads the latest (or stable version of) libui-dev shared library.

If you run rake -T, you will see that there is a task to download the libui shared library from the internet.

rake build # Build libui-0.1.3.pre.gem into the pkg directory
rake build:checksum # Generate SHA512 checksum of libui-0.1.3.pre.gem into the checksums directory
rake clean # Remove any temporary products
rake clobber # Remove any generated files
rake install # Build and install libui-0.1.3.pre.gem into system gems
rake install:local # Build and install libui-0.1.3.pre.gem into system gems without network access
rake release[remote] # Create tag v0.1.3.pre and build and push libui-0.1.3.pre.gem to rubygems.org
rake test # Run tests
rake vendor:build[hash] # Build libui-ng latest master [commit hash]
rake vendor:libui-ng:macos # Download latest official pre-build for Mac to vendor directory
rake vendor:libui-ng:ubuntu_x64 # Download latest official pre-build for Ubuntu to vendor directory
rake vendor:macos_arm64 # Download pre-build for Mac to vendor directory
rake vendor:macos_x64 # Download pre-build for Mac to vendor directory
rake vendor:raspbian_aarch64 # Download pre-build for Raspbian to vendor directory
rake vendor:ubuntu_x64 # Download pre-build for Ubuntu to vendor directory
rake vendor:windows_x64 # Download pre-build for Windows to vendor directory
rake vendor:windows_x86 # Download pre-build for Windows to vendor directory

These tasks are basically based on the work of the well-known Rubyist Andrew Kane.
We are using the https://nightly.link/ service to download the shared libraries from GitHub Actions.

The first step will be to apply this mechanism to libui-dev.
You can also submit pull requests, and you have commit access to this repository.
Nothing will stop your contribution.

If you make a mistake, someone will fix your commit or pull request.

@kojix2
Copy link
Owner

kojix2 commented Dec 5, 2024

Rakefile is unstructured and messy.. I forgot the logic behind the tasks. However, I added an experimental task to download libui-dev shared libraries for Linux and Mac. It needs refactoring.

Currently, libui-dev does not have a shared library for Windows. When this becomes available, we should be able to push a new pre-release gem.

@kojix2
Copy link
Owner

kojix2 commented Dec 5, 2024

If you would like to add new libui-dev functions to LibUI, please edit ffi.rb.

https://github.com/kojix2/LibUI/blob/main/lib/libui/ffi.rb

However, I would like you to create a new branch and submit a pull request. That way I (or Andy or somebody) can see it. If possible, please do not commit directly to the main branch.

But, if that is difficult for you,
you may commit to the main branch directly. Something is better than nothing.
If there is a problem, I will find it and commit a fix. You need to care, but don't worry too much.

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

No branches or pull requests

2 participants