site  contact  subhomenews

PPM: GUI filtering

March 30, 2013 — BarryK
I have been wanting to do this for a long time. Some repositories are huge, for example the Ubuntu 'universe' repository, and looking through it for something useful to install can be a daunting task.

Now, the PPM (Puppy Package Manager) has a dropdown list:

Any types
GUI apps only
GTK+2 GUI apps only
GTK+3 GUI apps only
Qt4 GUI apps only
Qt5 GUI apps only

With the default set to 'GUI apps only', which is all GUI apps, that is, those with a Graphical User Interface.

The lower choices narrow it down. Today I wanted to explore what Qt apps are available in the Ubuntu repos, and that's when I decided that this new feature needs to be implemented now.
Now, I can quickly scan through and try out the Qt-based applications.

Here is a snapshot of the Ziggy UI of the PPM:

Great hey!

If you want to try it out, and you have a recent "5.5" pup or later, you can grab all the files. Woof commit:

Or, I bet that pemasu will be doing a build very soon of Upup Raring from latest Woof, especially as he has a prior interest in a Qt-puppy.


Use combo box for repositories selection in PPM
Username: mistfire
Hi Barry, I noticed that you are using radio buttons for selecting repos in PPM. I suggest that you must use combo box instead of radio buttons on selecting repos for more flexibility and no need to rewrite the PPM GUI if one of the repos is down or depreciated. I hope that you learned a lesson on NLUUG incident.

Username: linuxcbon
"I give you a new challenge : merge racy and wary into one, that is : compile those modem drivers for the new kernels. I can find other challenges...

re woof plateau?
Username: 01micko
"Yeah for about a day! Remember that post? Anyway, nice developments, a bit frustrating that I'm uploading a pup (PHATSLacko-5.5.02, chock full @409MB!!!) built from an obsolete woof, about 36Hrs old. :doh: Never mind, I got the nice QT theming, which is what I wanted, plus I had to edit my geany package for the 96dpi, it was rendering fonts a bit too big. It looks like a cracking pup.. gtk3, VLC, QT-4.8.2, Libreoffice-4.0.1, Firefox, Kompozer, Gimp plus more. I patched woof with Mavrothal's [url=]Adrive patches, just adds a drive like z-drive, so the adrive is built into the iso and is loaded on first boot. All the Fat apps are in there so it's very upgradeable. It laso has a bit of a manifest which I hope one day will help with integration of SFS files into PPM. See [url=]this script for how the adrive is built. It's a bit of Easter fun. PS: Oh soon ThinSlacko is out too, Adrive again so it's easy to fatten, both use f2fs, as they are k3.8x and I have a script to make installing to USB super easy, (with good feedback).

Retirement Category Retired
Username: Ted Dog
"Careful 01micko He might retire again, for at least a week :) and throw the puppylinux world into chaos, chasing its tail. Notice the Retirement Category on the left side of the blog has been removed, curious, its still on the old blog....

Username: scsijon
"I was wondering, while your working with ppm, how much trouble it would be to increase the number of visable repositries from 5. I've been looking at a few of the other linux's to help some people, and a lot of them seem to be spreading their quantity problems by splitting into tighter repositry groups relating to what they are for, such as multimedia and games being separated from the 'base' repositries. Maybe make it a scroll area to select what repositry you want to see rather than have a separate config pannel. I know in the case of opensuse, where I came from to puppy, I have found that they now have 16 without duplicate appearances such as x86_32 and x86_64 being considered, and 27 all up.

re challenge2
Username: BarryK
"linuxcbon, Wary 5.5 should work on i486. scsijon, The first option "Any types" lists everything. I could add a non-GUI option. I am just about to add "Qt4 GUI (not KDE)" and "Qt5 GUI (not KDE)". 01micko, "Plateau" for Woof? Yes, there was a brief plateau :happy: Ted Dog, Retirement? It is still on the cards.

GUI filtering: more options
Username: BarryK
"I fixed a couple of bugs in the filtering code. Also, have increased the options: [i]Any type GUI apps only GTK+2 GUI apps only GTK+3 GUI apps only Qt4 GUI apps only Qt4 GUI, not KDE Qt5 GUI apps only Qt5 GUI, not KDE Any non-GUI type[/i] Hmmm, I had to do this in [code] if [ "$exclguiPTN" ];then #130331 #well well, news to me, this has to be done in two steps... FLTRD_REPO1="$(echo "$FLTRD_REPO" | grep -i -v "$exclguiPTN")" FLTRD_REPO="$FLTRD_REPO1" fi That is, this does not work properly: FLTRD_REPO="$(echo "$FLTRD_REPO" | grep -i -v "$exclguiPTN")" [/code] All the languages that I know of, specify that a variable can be assigned to itself. I have done it in one line in the past, and I don't think there was any problem. One difference, I am now using bash 4.1, instead of 3.0.16 in all previous pups. Unfortunately, I know that I have done it in one line in other scripts. Oh well, I will just have to keep my eyes open, fix if/when I come across it. Note, it is probably ok for numeric and small text variables. My example above is a multi-line text variable.

GUI filtering, more options
Username: BarryK
"Woof commit:

Old PETs
Username: BarryK
"01micko, Just while I think of it: I noticed in Slacko 5.5 you have two packages (PETs) that are not needed: [i]hal icons_puppy_app16[/i] I left 'hal' out of my spup14 build. I have removed 'icons_puppy_app16' from the noarch repo, so that it can no longer be selected. Hey, while we are on the topic of "retirement", aren't you supposed to be a busy uni student now?

Username: 01micko
" The woof is a little older because I built it about a week ago. IIRC it was the 96dpi commit. It's aimed at older gear but for those who want a recent glibc which some new apps require. It's reasonably trimmed down. Barry, you might want to take a look, if not for the Adrive stuff at least for possible inclusion of PPM recognition of SFS packages, so long as those sfs contain some kind of manifest. I reckon this direction could be the way of Puppy 6 series, which incidentally, Jemimah pioneered awhile back with Saluki. Unless of course you have other ideas.

pupdial mono 12 font
Username: pemasu
"While using 3g connection during Easter holiday...I noticed that dpi 96 and pupdial mono 12 font causes status log font to be too big. Maybe I have patched my used woof wrongly. I will create new woof when I get back to civilisation. Anyway for of a check.

Security updates
Username: Terryphi
"A major deficiency in PPM is that it is essentially a Puppy customisation program rather than a [i]maintenance[/i] program. PPM has no mechanism for identifying and offering to the user security updates of already installed Ubuntu packages. Ubuntu has a repository for security updates at .

Re pupdial 96 dpi
Username: BarryK
"pemasu, Thanks, I have changed "Mono 12" to "Mono 10" in 'pupdial' script.

old pet: didiwiki-gui
Username: L 18 L
"Apologies for not quite on topic. I have been stumbled upon /usr/sbin/didiwiki-gui: [code]# Designed for use with Puppy Linux, #v411 dunno why, but no longer creates new pages, needs /root/spot/.didiwiki world-writable. #v411 bug workaround, needs to be fixed properly sometime... mkdir -p /root/spot/.didiwiki chmod 777 /root/spot/.didiwiki [/code] I know why: needs /root/spot/.didiwiki user-writable owned by spot. chmod 755 /root/spot/.didiwiki root-skeleton [b]chown spot[/b] /root/spot/.didiwiki # or just do it in root-skeleton Happy Easter

Re Mono 96 dpi
Username: BarryK
"I have also change to "Mono 10" in 'partview' and 'pupscan'. Woof has been uploaded.

Re 'spot'
Username: BarryK
"L18L, The place to fix it is in file 'VCSMETADATA' in 'woof-code' directory in Woof. Currently has: [code]rootfs-skeleton/root/spot:2755:spot:spot rootfs-skeleton/root/spot/.didiwiki:2755:root:root rootfs-skeleton/root/spot/.didiwiki/WikiHelp:644:spot:spot rootfs-skeleton/root/spot/.didiwiki/WikiHome:644:spot:spot rootfs-skeleton/root/spot/README.txt:644:spot:spot [/code] OK, have changed this line: [code]rootfs-skeleton/root/spot/.didiwiki:2755:spot:spot [/code]

fixed gtk font in woof
Username: pemasu
"This hack has been introduces originally by Iguleder. I have used it in woof a long time. Now it is handier than ever since font size 10 will be preferred. Gtk themes can have font size 12 in gtkrc. In woof 3builddistro: [code]echo "# -- THEME AUTO-WRITTEN DO NOT EDIT include \"/usr/share/themes/${GTKTHEME}/gtk-2.0/gtkrc\" style \"user-font\" { font_name = \"DejaVu Sans 10\" } widget_class \"*\" style \"user-font\" gtk-font-name=\"DejaVu Sans 10\" include \"/root/.gtkrc.mine\" # -- THEME AUTO-WRITTEN DO NOT EDIT gtk-theme-name=\"${GTKTHEME}\"" > rootfs-complete/root/.gtkrc-2.0[/code] And how it looks like in Puppy /root/.gtkrc-2.0: # -- THEME AUTO-WRITTEN DO NOT EDIT include "/usr/share/themes/Polished-Blue/gtk-2.0/gtkrc" style "user-font" { font_name = "DejaVu Sans 10" } widget_class "*" style "user-font" gtk-font-name="DejaVu Sans 10" include "/root/.gtkrc.mine" # -- THEME AUTO-WRITTEN DO NOT EDIT gtk-theme-name="Polished-Blue" And what you get: fixed DejaVu Sans 10 in gtk themes Yeah. /usr/sbin/hackfontsize script do it also. When you run the script after installing font 12 configured theme.

Re gtk font
Username: BarryK
"pemasu, If someone runs gtk-chtheme, the gtk theme setter, it completely rewrite /root/.gtkrc-2.0. In the gtk-chtheme PET, I introduced 'gtk_chtheme_wrapper', which gets executed via the menu. This is a script that executes the 'gtk-chtheme' binary, then afterward appends "gtk-theme-name="Polished-Blue"" to /root/.gtkrc-2.0. So, the gtk-chtheme PET will have to be modified to append that extra information.

prelim GTK3 support
Username: 01micko
"This is a rough addition to gtk_chtheme_wrapper. Probably need to wait a bit and see what gtk3 themes become available, I only have 2 that work! and only one of those has support for gtk2, so effectively, only 1 is usable, see the gtkdialog development thread where thunor has preliminary support for gtkdialog for gtk3, probably needs your input at an early stage Barry to establish a convention. [code]#!/bin/sh #(c) Copyright Barry Kauler April 2013, #license GPL3 (see /usr/share/doc/legal). #130329 first release. gtk-chtheme #make Qt4 apps theme match gtk2... #see also /etc/profile.d/pup_gtk and /root/.config/Trolltech.conf #/root/.gtkrc-2.0 typically looks like this: ## -- THEME AUTO-WRITTEN DO NOT EDIT #include "/usr/share/themes/Polished-Blue/gtk-2.0/gtkrc" # #include "/root/.gtkrc.mine" # ## -- THEME AUTO-WRITTEN DO NOT EDIT CURRGTKTHEME="$(grep '^include "/usr/share/themes/' /root/.gtkrc-2.0 | cut -f 5 -d '/')" #'geany ex: Polished-Blue THEREBEFORE="$(grep '^gtk-theme-name' /root/.gtkrc-2.0)" [ "$THEREBEFORE" = "" ] && echo "gtk-theme-name=\"${CURRGTKTHEME}\"" >> /root/.gtkrc-2.0 # gtk3 theme support thunor #130401 GTK3THEME=`find /usr/share/themes/${CURRGTKTHEME} -type d -name gtk-3.0` if [ "$GTK3THEME" ];then [ -d ${XDG_CONFIG_HOME}/gtk-3.0 ] || mkdir -p ${XDG_CONFIG_HOME}/gtk-3.0 [ -f ${GTK3THEME}/settings.ini ] && cp -af ${GTK3THEME}/settings.ini $XDG_CONFIG_HOME/gtk-3.0/ || echo -e "[Settings] \ngtk-theme-name = \"${CURRGTKTHEME}\" \ngtk-fallback-icon-theme = \"gnome\"" \ > $XDG_CONFIG_HOME/gtk-3.0/settings.ini #[ -f ${GTK3THEME}/gtk.css ] && cp -af ${GTK3THEME}/gtk.css $XDG_CONFIG_HOME/gtk-3.0/ ||\# doesn't work echo "" > $XDG_CONFIG_HOME/gtk-3.0/gtk.css fi [/code]

lid close
Username: aarf
"raring-precise have the suspend on lid close which is fine except when it suspends the shutdown. so you have to wait until it is down before you can close the lid and pack away. jemmimah had a fix for this too, so you could close the lid and shutdown would continue. go into woof?

lid close2
Username: aarf
"need to have resume=/dev/sda4 in kernel line where sda4 is a swap partition larger than you ram. so when you unsuspend it keeps going but it seems to not remember anything past the suspend point when you eventually reboot. mention this because it is the same thing that happens when unload on the fly fails to complete. using ext3 partitions

GTK3 Migration
Username: Iguleder
"I say, let's avoid GTK3 until it proves to be stable (in terms of API and ABI) and not GNOME-centric anymore (phew, can't believe I just said that ... so naive!). Seriously, look at all GTK apps these days - many of those ported to GTK3 still have a GTK2 interface. Facts speak for themselves - I guess third-party application developers (e.g those not under the GNOME umbrella) do not trust GTK3 (a GNOME library) the way they trusted GTK2 (a graphical toolkit used by GNOME). At the moment, here's what I see: - GTK3 is bigger and heavier. - GTK3 is a maintenance burden because of the constantly breaking API. C'mon, we're a community project! The main weakness of community projects is lack of man power and maintenance is a huge burden for us, even when it's nothing but a GTK theme. - The only killer feature I see in GTK3 is Wayland support. IMHO, we benefit nothing from using it now. - Correct me if I'm wrong - GTK2 satisfies all Puppy's needs and it's still early to work on Wayland migration, so we don't have to to make the switch to GTK3, at least until Wayland becomes the de-facto display server and we no longer have a choice. I think we should stick with GTK2 until Wayland deployment in major distros begins and focus on a major Qt5/GTK3 porting effort in parallel with Wayland integration in Puppy. Comments, objection, agreement, anyone? 2c

Re gtk3 migration
Username: BarryK
"Iguleder, Yes, I have been thinking similar thoughts. Stay with GTK2 as much as possible. A problem though, is that apps such as Gnumeric and Abiword are now GTK3, from the major distros, such as Ubuntu. But, we might think in terms of our next step up to be Qt5 apps rather than GTK3. So, if we can find Qt replacements for apps like Gnumeric and Abiword, that would be good. Just a thought anyway.

Re GTK3/QT migration
Username: disciple
"> - The only killer feature I see in GTK3 is Wayland support. IMHO, we benefit nothing from using it now. The html backend seems pretty cool... And vector screenshots ;) - Correct me if I'm wrong - GTK2 satisfies all Puppy's needs and it's still early to work on Wayland migration, so we don't have to to make the switch to GTK3, at least until Wayland becomes the de-facto display server and we no longer have a choice. Perhaps I am ignorant and stupid, but at the moment I'm hoping that day never comes... Wayland does away with all the awesomeness of X --------------------- BarryK wrote: > So, if we can find Qt replacements for apps like Gnumeric and Abiword, that would be good. That's the main problem. There are some great QT niche apps (speedcrunch, QGIS). But it is [i]still[/i] impossible to put much of a desktop system together with plain QT (non KDE) apps. There are a few new filers and things that look quite promising and might help things along though. You said in another comment that Qt seems to be pulling ahead of GTK. This may be the case in terms of number of commits, but I think there are some around here who would actually say it is a [i]good[/i] thing for GTK, since the most common complaint seems to be that GTK changes too much. Similarly, I think if GNOME died that could potentially be a [i]good[/i] thing for GTK.

gtk3 support
Username: pemasu
"There are several apps nowadays which have gtk3 dependency, at least in ubuntu repos when using PPM. Audacious, Abiword, Gnumeric, Guvcview ans surely more... People will download and use them anyway. It wont hurt those users if those PPM downloaded apps have decent outlook. I hope the decent outlook support will not be shot down. I dont even need unified outlook ! I surely sound naive.

Re re GTK3/QT migration
Username: noryb009
""Wayland does away with all the awesomeness of X" But [url=]X isn't awesome.

Username: disciple
"Well, I can't comment on videos I'm not in a position to watch, but what I can say is that some of us actually still care about things like network transparency. I guess it is quite possible that in the end the Wayland stack will have sufficient functionality and be lighter than the current X stack, and I hope that's the case, but at the moment I don't like the idea of things like running X on top of Wayland when I could just run X by itself.

Re X
Username: noryb009
"I'm not expecting you (or anyone else) to watch the whole video, but it does mention (around 18:40) that X is not network transparent (anymore). Currently, running X on Wayland is a waste - it's only for proof-of-concept. However, in the future, if everybody moves to Wayland, X on Wayland would only be needed for a few legacy programs which don't use a toolkit. Wayland is faster, smaller and better then X, it's just not ready for everybody to use it - yet.

Tags: woof