Giter Club home page Giter Club logo

bashgui / easybashgui Goto Github PK

View Code? Open in Web Editor NEW
168.0 168.0 23.0 630 KB

EasyBashGUI is a Bash functions library for *BSD and GNU/Linux that aims to give simple GUI functions using yad, gtkdialog, kdialog, zenity, Xdialog, gum, (c)dialog, whiptail or bash builtins depending on KDE or GNOME running or not, Yad/Gtkdialog/Xdialog installed or not and, eventually, X server running or not.

Home Page: http://bashgui.github.io/easybashgui/

License: GNU General Public License v3.0

Shell 96.98% Makefile 0.68% HTML 2.34%

easybashgui's People

Contributors

mckaygerhard avatar vaisarger avatar wonko21 avatar zen0bit 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  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  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  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

easybashgui's Issues

New release with repaired makefile

Looks like makefile in last release doesn't work. Already repaired? (I think) New release?

Copying easybashgui documentation ...
mkdir -p /destdir//easybashgui-12.0.5/usr/share/doc/easybashgui
cp EasyBashGUI-license README /destdir//easybashgui-12.0.5/usr/share/doc/easybashgui
cp: cannot stat 'README': No such file or directory
make: *** [makefile:55: install] Error 1
=> ERROR: easybashgui-12.0.5_1: do_install: '${make_cmd} STRIP=true PREFIX=/usr prefix=/usr DESTDIR=${DESTDIR} ${make_install_args} ${make_install_target}' exited with 2
=> ERROR:   in do_install() at common/build-style/gnu-makefile.sh:42

website Dark Mode switch

I see that we use bootswatch theme version 4.

Why not use version 5 which introduced light/dark theme switch instead?

It coulde solved it..

PS: Not sure if something must be changed in raito..

some paths are hardcoded into the files

after installed using make install DESTDIR=/home/execs/usr/bin/easybashgui but the path for libs are ../lib/easybashgui not $SHELL_LIBRARY_PATH or same script invokation dir..

this make impossible to distros to make right installation packages.. cos paths are really hardcoded or assumed!

Errors from bash when sourcing easybashgui

export supermode="dialog" && source which easybashgui
-bash: declare: BASH_SOURCE: variable may not be assigned value
-bash: declare: FUNCNAME: variable may not be assigned value

bash version: 4.3.30 on linux

makefile refers to README instead of README.md

makefile refers to unexistent README file instead of README.md.

Fix:

diff -Naur easybashgui-12.0.5/makefile easybashgui-12.0.5.new/makefile
--- easybashgui-12.0.5/makefile	2024-02-16 15:01:31.000000000 -0600
+++ easybashgui-12.0.5.new/makefile	2024-02-16 16:59:25.148660762 -0600
@@ -14,7 +14,7 @@
 ICONE = icons/Ok.xpm icons/Attenzione.xpm
 LIBRERIE = lib/easybashgui.lib lib/easybashlib
 MANUALE = docs/easybashgui.1.gz
-DOCUMENTAZIONE = EasyBashGUI-license README
+DOCUMENTAZIONE = EasyBashGUI-license README.md
 
 build:
 	#we don't need to build, because all the excutable files are scripts.

rare: if we use kdialog for wait_for only shows notification

this is weird, not to said others rare results:

if i set to dialog of course its reduced... cos cdialog is much better, but if i set to kdialog it only shows notification 😆

image

this is just rare, i will investigate it

also after set, such notification shows again ramdonly, this is not iportant bug cos seems working.. but not as dessired! 😄

image

no documentation of embebed projects

the easybashgui said that we could use it in new project but after "install" (install?) it forces me to copy files into system paths. .
"you need to copy in your path" etc etc said the message due the issue #11

the repo provide a makefile procedure but the dialog check, points that we need to copy files into path of the system

bug: seems whiptail is not detected if used with wait_for

using code:

export supermode="whiptail"

source easybashgui

wait_for "I'm sleeping 4 seconds... good night..."
sleep 4
terminate_wait_for ${wait_for__PID}

it raised an error:

easybashgui.lib: ERR: "supermode" is not correct.
user@isomaker:~/Devel/easybashgui$ whi
which     while     whiptail  
user@isomaker:~/Devel/easybashgui$ 

suggestion: GUI maker for easybashgui

Create easy bash gui maker (in easybashgui) for easybashgui so you can easily create guis from GUI

Is it even easy possible?

I am just learning but after, i can try it myself...

❤️ easybashgui

When run on physical tty in whiptail mode, all *message dialogs are white. This appears to only happen when the console is not framebuffer.

I've tested this by running the following on the console of quite a few boxes, all *message dialogs just give a completely white screen (though functionality still works), other dialogs work fine. If the console is framebuffer however, everything seems fine. I'm guessing there is some sort of odd control sequence being output for some reason (I couldn't find anything in the code, though I'm not that familiar with it). As a workaround installing dialog makes things usable again.

Need to display both tag and name in tagged_menu

Hi,

I'm trying to convert a script (I didn't write) to work on both shell and X using EBG. There is a small thing which I'd like to change (or have another function handle it ?) : tagged_menu. This function renders an ordered list items, and odd arguments are just the result of the selection, but are never displayed.

Concrete example:
tagged_menu "line1" "Hello, World!" "line2" "Universe, hear my voice!" outputs

1 Hello, World!
2 Universe, hear my voice!

but sadly not like

line1 Hello, World!
line2 Universe, hear my voice!

So:

  • could this be implemented ?
  • can all "dialogs" handle it ? This is probably the limiting factor

I'm thinking about adding a named_menu function, or maybe simply a parameter to tagged_menu (--names for example). Any suggestion ?

bug: zenity version dont respect the exit of terminate_wait_for

found a small error, only happened in older versions ooof zenity:

source easybashgui

wait_for "I'm sleeping 4 seconds... good night..."
sleep 4
terminate_wait_for

raised this:

./test.sh 
18638
easybashgui: línea 764: 18637 Tubería rota           yes
     18638 Terminado               | ${dialogo} --title "${supertitle:-EasyBashGUI}: please wait" --progress --pulsate --auto-kill --text "$(echo -e "${testo_zenity}" )" ${dimensione_finestra} &> /dev/null

but event using ${wait_for__PID} it raised..

there is no problem usinig kdialog or yad, dialog just send text and that's normal not tested with xdialog

file into forbidden arch path

hint: on open suse builds fails for OBS due this: https://en.opensuse.org/openSUSE:Packaging_checks#suse-filelist-forbidden-noarch

i already noted this, but ignored cos debian a good distro and alpine a faster minimal distro already allows to put files in arch-depend paths (lib or lib64 etc)

but open suse a crap rpm based distro like feladora becomes too much restrictive so i cannot generate a package from.. i tested using cmake also and never allows..

the pacakge from feladora, redhat or similar can be used, so i dont know but i open the issue to suggest more paths for the bashgui.lib files

build result

so by example in /usr/lib for debian and alpine the path is valid, cos arch specific is /usr/lib/x86_64-linux-gnu but for open suse the /usr/lib is arch specific

Single Input has no label

The function for a single input has no arg for a label.
( 2 arguments, box output to "${dir_tmp}/${file_tmp}" and STDERR )

To explain to the user what needs to be entered this would be a good idea

small error in volume level example

i have small error with code example of volume meter, only happened rare times! and i dont know why i checked the lline and i cant found any issue!

code example

#!/usr/bin/env bash

source easybashgui

adjust "Please, set Volume level" 15 40 75

output error

(standard_in) 1: syntax error
(standard_in) 2: syntax error
/home/general/Devel/easybashgui/./easybashgui.lib: line 811: [: -le: unary operator expected

information

  • bash : GNU bash, version 5.2.15(1)-release (x86_64-pc-linux-gnu)
  • easybashgui: git lasted 20240202
  • coreutils: 9.1
  • supermode="yad"
  • yad 0.40
  • GTK: using gtk 3.33

include gum in console mode

since i really like gum and will be also used out there, it would be nice also use it if available as backend.

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.