Go Back   DaemonForums > Miscellaneous > Guides

Guides All Guides and HOWTO's.

Thread Tools Display Modes
  #1   (View Single Post)  
Old 13th November 2022
shep shep is offline
Real Name: Scott
Arp Constable
Join Date: May 2008
Location: Dry and Dusty
Posts: 1,508
Default BareGUI Development

Notice: The tarball for the upcoming 7.3 release has been uploaded here.

I'll still continue development in this thread. If anyone has scripts for parsing json,xml content from financial, weather and news sites, they would be appreciated as replies to this thread.

This thread is for BareGUI development and was started for the following reasons.
I found myself continuing to make edits to the BareGUI thread. New users would be frustrated to find
an error and not have it addressed. Although I appreciate feedback/code contributions, it tends to
spread out what should be concise content.
Part of this is my fault as I have not explicitly set project goals.
  1. Function over eye candy.
  2. Applications that have ongoing security support and are popular in the Unix/Linux community - migrate from gtk+2/python2
  3. Use OpenBSD base apps when ever possible.
  4. Show case ncurses applications with an eye toward productivity with a small footprint.
  5. Avoid redundancy
  6. Provide a stable base install that an experienced user can customize
  7. Be friendly to new users while introducing package management and configuration.

What's been done so far:
Since 7.2, work has gone into migrating apps; python2->python3 and gtk+2->gtk+3
x11/openbox, x11/tint2 recently updated to gtk+3/python3.
OpenBSD is working on gimp and the package install list has gimp-2.99 (development) which is in testing.
x11/tray-app is still gtk+2 and the maintainer has emailed me that he is working on it.
The Russian/Ukraine war is impacting his work so other options for a gtk+3 volume slider should be looked at.
I have a x11/yad (gtk+3) script which generates an audio volume slider.
Other options are importing the FreeBSD gvolwheel(gtk+3) port to OpenBSD sndio and using pnmixer
with pulseaudio. I would prefer to utilize OpenBSD sndio server rather than pulseaudio but Gnome/KDE/Xfce4
volume controls are all pulseaudio based.

The openbox menu.xml file was throwing alot of xsession-errors and was removed.
OpenBox and Tint2 configuration files were moved to DejaVuSansMono which is in the base xorg install.
The arc-theme-solid was added in an attempt to migrate from gnome-themes/gnome-themes-extra. The gnome themes
currently have a gtk+2 dependency. There is an openbox-arc-theme for consistency.

18Nov2022: Developed a sndio, system tray slider using {oport]x11/yad[/oport]. The relevant scripts are:
Compared to x11/tray-app it utilizes the icons from the default theme and sizes the icons. Depending on your
monitor resolution you may have to adjust --posy in the yad_sndioctl.sh script. This script also controls audio levels through
OpenBSD's sound server, sndio, rather than pulseaudio. Also removed gnome-mplayer (gtk+2) in favor of
multimedia/mpv (gtk+3) With this BareGUI, with the alt packages, is fully migrated to gtk+3/python3.

BareGUI_recommended_gtk3_apps are mouse driven apps that meet
gtk+3/python3 criteria. An alternative BareGUI_recommended_ncurses_apps replaces some apps with ncurses
applications. The chosen ncurses applications are highly functional and in some cases more functional than the gtk+3 apps;
eg calcurse will import Calendars using a standard format. Many College computer science departments still provide
instructions for alpine although development/unix popularity is not on pace with mutt/neomutt. Some consideration
is being given to mutt as the ncurses email client but setup is far more challenging for new users. editors/nano
was chosen over vim/vim-gtk3 as it is essentially the same editor included with alpine.

If this is being used in current, www/ungoogled-chromium is getting frequent updates. It remains to
be seen if releases will get the same updates. Ungoogled-chromium does have one quirk, it does not write imported
Bookmarks to ~/.config/ungoogled-chromium/Defaults/. If you have pre-existing chromium/ungoogled-chromium, you can
copy ~/.config/chromium/Defaults/Bookmarks over from a working system.

29Nov2022: jgmenu updated to 4.4.1. This provides internal menu generation and is faster than using menu-cache.
The syntax was changed in ~/.config/jgmenu/jgmenurc for 4.4.1. The old syntax was commented out for those who
want to apply the development snapshot to 7.2 release.
x11/menu-cache removed from core pkglist.
www/ungoogled-chromium works but will not start after an upgrade unless ~/.config/ungoggled-chromium is
deleted and rebuilt. Replaced ungoogled-chromium with firefox-esr in recommended_apps and recommended_ncurses_apps.
Will reconsider ungoogled-chromium if it settles down by release 7.3.
Replaced lxappearance with xsettingsd in BareGUI_recommended_ncurses_apps and provided ~/.config/xsettingsd for arc-solid theme
and paper icons. Added xsettingsd in ~/.config/openbox/autostart.
Changed ~/.config/tint2/tint2rc panel background to flat dark grey to match arc theme.
Added a system configuration to provide a system wide openbox arc theme.

01Dec2022: General cleanup. Renamed recommended alt_apps to recommended_ncurses_apps. Provided *.desktop files for all
ncurses apps. If you choose to not install a particular ncurses app, you can either delete the corresponding *.desktop file or append
NoDisplay=true to the desktop file.

04Dec2022: More cleanup. Removed recommended_gtk+3 app list. Trying to accommodate to many options and was straying
from the main goal of simple, lightweight and classic unix applications in a modern desktop. Added nano, calcurse, abook to
recommended_ncurses and provided *.desktop files, Scripts/*_start.sh and basic ~/.config/*. Removed tray-app and menu-cache and
modified ~/.config/jgmeu/jgmenurc for v4.4.1. Added Arcbox openbox theme and provided copy/paste instructions to install
system-wide. In README.txt, also provided web url's instructions for keybinding touchpad toggle script and setting up alpine.

09Dec2022: Tweaked Script/yad_sndioctl.sh. Corrected desktop_files/xcalc.desktop. recommended_apps_ncurses reverted
cups-filters to cups. lpr printing seems to be broken not just in OpenBSD but in Debian/Devuan testing - something to do with cups
upstream and a perl script. Removed redundant "&&" in config/openbox/autostart for mpd. Test neomutt/mutt-wizard. It sets up
only neomutt and only with isync. The initial sync is slow and imap downloads attachments. To me, mutt-wizard setup does provide
a very secure, modular setup with separate mail sync and smtp agents but does so with an increased footprint and non-openbsd
tools. Will stick with mail/alpine for now.

Resized alpine and mc xterms 144x44. Cleaned up mpd. Instructions for user sndioctl.sh. More detail on using ImageMagick
to build the wallpaper. Removed cups. Plan to provide /etc/printcap, ghostscript ljet4 filters along with brief instructions for usb
and network printing. Added missing Scripts/calcurse_start.sh. Used --mouse position for Scripts/yad_sndioctl.sh slider bar.
User no longer has to adjust vertical position as a function of screen size.

Added missing nano editor and provided default ~/.config/nano. Added ~/Scripts/yad_abook.sh and moved configuration files and addressbook files
~/.abook -> ~/.config/abook. Moved alpine configuration files from ~/.pinerc -> ~/.config/alpine/pinerc. At this point, all configuration
files, with the exception of ~/.mozilla/firefox, will be in ~/.config.

Added xorriso.desktop with NoDisplay=true but optical disk will be a second step in the BareGUI7.3 install thread. Tested install with 7.3 Beta.
  1. Update audio volume control to gtk+3.
  2. Update x11/jgmenu to the latest version. Upstream wrote their own menu cache parser which is significantly
    faster than using the external menu-cache application.
  3. Test mail/mutt-wizard in regards to a new user setting up a basic imap muttrc.
  4. Seeking input on expanding weather scripts for non-us users. Preferably without having to register for a Wunderground API key.
  5. Look at scripts to parse web content (json, xml) for news, weather and finance markets.
  6. Look at installing arcbox either manually or as a new port.

The latest BareGUI tarball:


Ongoing community development/testing would be useful. If there is enough interest, set up a git repo.

Last edited by shep; 23rd July 2023 at 07:13 AM.
Reply With Quote

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump

Similar Threads
Thread Thread Starter Forum Replies Last Post
BareGUI for OpenBSD shep Guides 27 9th April 2023 01:11 PM
Development of PHP 5.5 begins J65nko News 0 16th November 2012 04:03 PM
First steps in Web Development Daffy Programming 1 26th November 2010 04:01 PM
Driver development WeakSauceIII OpenBSD General 5 31st May 2008 07:18 AM
Mono development On FreeBSD roddierod Programming 5 8th May 2008 09:13 PM

All times are GMT. The time now is 03:20 PM.

Powered by vBulletin® Version 3.8.4
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Content copyright © 2007-2010, the authors
Daemon image copyright ©1988, Marshall Kirk McKusick