Contents

Editorial



December 2017

Who would have thought the newsletter would last for a full twelve months, I certainly didn't. It's quite difficult to determine just how well received the newsletter is so I checked the hits on the newsletter web page for October and I was surprised to find the number as high as 21,164. Of course this doesn't include all of the direct downloads from rss feeds and email subscriptions. This doesn't mean the newsletter was read with every hit but I guess there are a few people reading it.

I spent most of November away from home so this edition may be a bit slimmer than some.

Today I was finally switched over to the Australian National Broadband Network (NBN). I received a letter about two and a half years ago telling me it would be installed during the next three months. I guessed they missed that deadline. Anyway it is finally here and I have been using it for the last two hours. So far I have to say I'm quite impressed with the speed, reliability is yet to be determined. I was told yesterday the switch over would take place between 0800 and 1400 hours. I notice the Telephone is not working yet but I will give them a bit more time before I complain.

My old ADSL download speed was about 12Mbps with an upload speed of 880Kbps. My new speed is 70Mbps down and 35Mbps up, not a bad increase. I have subscribed to the 100mbps plan but I am connected via Fibre To the Node (FTTN) and not Fibre To The Premise/Home (FTTP/H).

Merry Christmas everyone.

smokey01

Distro's

The Puppy Linux Discussion Forum is the main source for a lot of the information repeated here. Where appropriate, links will be provided so you can read first hand about the distribution development. This section will likely just provide highlights as a starting point.

Quirky Pyro64 Ver 0.6a

Developed by Barry Kauler

Quirky Pyro64 version 0.6 (alpha) -- and Pyro32 0.5

Puppy Pipoca

Developed by Dorothée

PUPPY PIPOCA: une personnalisation pour novice.

xenialPup-7.0.6

Developed by musher0

xenialPup-7.0.6 32-bits with kernel 4.1

Fatdog64-720 Beta

Developed by kirk, jamesbond, SFR and step.

Fatdog64 720 Beta is the next iteration of Fatdog64. It is still built on the same base as Fatdog64 710 so it has high-degree of compatibility with 710 packages, however it has been expanded, improved, and modified to meet today's challenge.

Software

This months covers:

feh - Command line image viewer

qiv - Command line image viewer

feh

Written by smokey01

feh is an X11 image viewer aimed mostly at console users. Unlike most other viewers, it does not have a fancy GUI, but simply displays images. It is controlled via command line arguments and configurable key/mouse actions.

feh --help will produce:

feh version 2.18

Usage : feh [options] <files or directories ...>

This is just a short option summary. Please see "man feh" for details.

OPTIONS
-h, --help Show help and exit
-v, --version Show version information and exit
-V, --verbose Show progress bars and other extra information
-q, --quiet Hide non-fatal errors. May be used with --verbose
-T, --theme THEME Load options with name THEME
-r, --recursive Recursively expand any directories in FILE to
the content of those directories
--no-recursive Do not recursively expand directories
(this is the default)
-z, --randomize Randomize the filelist
--no-jump-on-resort Don't jump to the first image when the filelist
is resorted
-g, --geometry WxH[+X+Y] Limit the window size to DIMENSION[+OFFSET]
-f, --filelist FILE Load/save images from/to the FILE filelist
-|, --start-at FILENAME Start at FILENAME in the filelist
-p, --preload Remove unloadable files from the internal filelist
before attempting to display anything
-., --scale-down Automatically scale down images to fit screen size
-F, --fullscreen Make the window full screen
-Z, --auto-zoom Zoom picture to screen size in fullscreen/geom mode
--zoom PERCENT Zooms images by a PERCENT, when in full screen
mode or when window geometry is fixed. If combined
with --auto-zoom, zooming will be limited to the
the size. Also support "max" and "fill"
--keep-zoom-vp Keep viewport zoom and settings while changing images
-w, --multiwindow Open all files at once, one window per image
-x, --borderless Create borderless windows
-d, --draw-filename Show the filename in the image window
--draw-tinted Show overlay texts on semi-transparent background
--draw-exif Show some Exif information (if compiled with exif=1)
--auto-rotate Rotate images according to Exif info (if compiled with exif=1)
-^, --title TITLE Set window title (see FORMAT SPECIFIERS)
-D, --slideshow-delay NUM Set delay between automatically changing slides
--cycle-once Exit after one loop through the slideshow
-R, --reload NUM Reload images after NUM seconds
-k, --keep-http Keep local copies when viewing HTTP/FTP files
--insecure Disable peer/host verification when using HTTPS.
-K, --caption-path PATH Path to caption directory, enables caption display
-j, --output-dir With -k: Output directory for saved files
-l, --list list mode: ls-style output with image information
-L, --customlist FORMAT list mode with custom output, see FORMAT SPECIFIERS
-U, --loadable List all loadable files. No image display
-u, --unloadable List all unloadable files. No image display
-S, --sort SORT_TYPE Sort files by:
name, filename, mtime, width, height, pixels, size,
or format
-n, --reverse Reverse sort order
-A, --action [;]ACTION Specify action to perform when pressing <return>.
Executed by /bin/sh, may contain FORMAT SPECIFIERS
reloads image with ";", switches to next otherwise
--action[1-9] Extra actions triggered by pressing keys <1>to <9>
-G, --draw-actions Show the defined actions in the image window
--force-aliasing Disable antialiasing
-m, --montage Enable montage mode
-i, --index Create an index print of all images
--info CMD Run CMD and show its output in the image window
-t, --thumbnails Show images as clickable thumbnails
-P, --cache-thumbnails Enable thumbnail caching for thumbnail mode.
Only works with thumbnails <= 256x256 pixels
-J, --thumb-redraw N Redraw thumbnail window every N images
-~, --thumb-title STRING Title for windows opened from thumbnail mode
-I, --fullindex Index mode with additional image information
--index-info FORMAT Show FORMAT below images in index/thumbnail mode
--bg-center FILE Set FILE as centered desktop background
--bg-fill FILE Like --bg-scale, but preserves aspect ratio by
zooming the image until it fits. May cut off
corners
--bg-max FILE Like --bg-fill, but scale the image to the maximum
size that fits the screen with black borders on one
side
--bg-scale FILE Set FILE as scaled desktop background. This will
fill the whole background, but the images' aspect
ratio may not be preserved
--bg-tile FILE Set FILE as tiled desktop background
--no-fehbg Do not write a ~/.fehbg file
-C, --fontpath PATH Specify an extra directory to look in for fonts,
can be used multiple times to add multiple paths.
-M, --menu-font FONT Use FONT for the font in menus.
-B, --image-bg STYLE Set background for transparent images and the like.
Accepted values: white, black, default
-N, --no-menus Don't load or show any menus.
--no-xinerama Disable Xinerama support
--no-screen-clip Do not limit window size to screen size
-Y, --hide-pointer Hide the pointer
--magick-timeout INT Load unknown files with ImageMagick, timeout after
INT seconds (0: no timeout)
--min-dimension WxH Only show images with width >= W and height >= H
--max-dimension WxH Only show images with width <= W and height <= H
--scroll-step COUNT scroll COUNT pixels when movement key is pressed

MONTAGE MODE OPTIONS
-X, --ignore-aspect Set thumbnail to specified width/height without
retaining aspect ratio
-s, --stretch Scale up images if they are smaller than the
specified thumbnail size
-y, --thumb-width NUM Set thumbnail width in pixels
-E, --thumb-height NUM Set thumbnail height in pixels
-W, --limit-width NUM Limit the width of the montage in pixels
-H, --limit-height NUM Limit the height of the montage in pixels
(at least one of these two must be specified)
-b, --bg FILE|trans Set montage background
-a, --alpha NUM Set thumbnail transparency level (0 .. 255)
-o, --output FILE Save the created montage to FILE
-O, --output-only FILE Just save the created montage to FILE
WITHOUT displaying it
-e, --font FONT Set font for thumbnail information, in the form
fontname/pointsize

INDEX MODE OPTIONS
-@, --title-font FONT Use FONT to print a title on the index, if no
font is specified, a title will not be printed

FORMAT SPECIFIERS
%f image path/filename
%F image path/filename (shell-escaped)
%h image height
%l total number of files in the filelist
%L path to temporary copy of filelist
%m current mode (slideshow, multiwindow...)
%n image name
%N image name (shell-escaped)
%o x,y offset of top-left image corner to window in pixels
%p image pixel size
%P image pixel size in kilo-/megapixels
%r image rotation. half right turn == 3.1415 (pi)
%s image size in bytes
%S image size with appropriate unit (kB/MB)
%t image format
%u current file number
%w image width
%v feh version
%V process ID
%z current image zoom
%% %
\n newline

KEYS
a Toggle action display (--draw-actions)
A Toggle anti-aliasing
c Enable caption entry mode
d Toggle filename display (--draw-filename)
e Toggle exif tag display (if compiled with exif=1)
f Save current filelist to unique filename
h pause/continue slideshow
i Toggle --info display
k Toggle zoom/viewport freeze when switching images
m Show menu
n, <SPACE>, <RIGHT> Go to next image
o Toggle pointer visibility
p, <BACKSPACE>, <LEFT> Go to previous image
q, <ESCAPE> Quit
r Reload image
s Save current image to unique filename
v Toggle fullscreen
w Resize window to current image dimensions
x Close current window
z Jump to a random position in the current filelist
<, > In place editing, rotate 90 degrees right/left
_ In place editing, vertical flip
| In place editing, horizontal flip
0, <ENTER> Run action specified by --action option
1-9 Run action 1-9 specified by --action[1-9] options
<HOME> Go to first slide
<END> Go to last slide
<PAGEUP> Go forward 5% of the filelist
<PAGEDOWN> Go backward 5% of the filelist
+ Increase reload delay by 1 second
- Decrease reload delay by 1 second
<DELETE> Remove the currently viewed file from the filelist
<CTRL+DELETE> Like <DELETE>, but also removes the file from the
filesystem. Caution: Does not ask for confirmation
<KEYPAD LEFT> Move the image to the left
<KEYPAD RIGHT> Move the image to the right
<KEYPAD UP> Move the image up
<KEYPAD DOWN> Move the image down
<KEYPAD BEGIN> Antialias the image
<KEYPAD +> Zoom in
<KEYPAD -> Zoom out
<KEYPAD *> Zoom to 100%
<KEYPAD /> Zoom to fit the window

This program is free software, see the file COPYING for licensing info.
Copyright Tom Gilbert (and various contributors) 1999-2003.
Copyright Daniel Friesel (and various contributors) 2010-2016.

Homepage: http://feh.finalrewind.org
Report bugs to <derf+feh@finalrewind.org> or #feh on irc.oftc.net.

qiv

Written by smokey01

qiv (Quick Image Viewer) is a brilliant command line image viewer.

Typing qiv --help will produce the following results:

# qiv --help
qiv (Quick Image Viewer) v2.3.2pre
Usage: qiv [options] files ...

General options:
--file, -F x Read file names from text file x or stdin
--bg_color, -o x Set root background color to x
--brightness, -b x Set brightness to x (-32..32)
--browse, -B Scan directory of file for browsing
--center, -e Disable window centering
--contrast, -c x Set contrast to x (-32..32)
--cycle, -C do not cycle after last image
--display x Open qiv window on display x
--do_grab, -a Grab the pointer in windowed mode
--disable_grab, -G Disable pointer/kbd grab in fullscreen mode
--fixed_width, -w x Window with fixed width x
--fixed_zoom, -W x Window with fixed zoom factor (percentage x)
--fullscreen, -f Use fullscreen window on start-up
--gamma, -g x Set gamma to x (-32..32)
--help, -h This help screen
--ignore_path_sort, -P Sort filenames by the name only
--readonly, -R Disable the deletion feature
--maxpect, -m Zoom to screen size and preserve aspect ratio
--merged_case_sort, -M Sort filenames with AaBbCc... alpha order
--mtime_sort, -K Sort files by their modification time
--no_filter, -n Do not filter images by extension
--no_statusbar, -i Disable statusbar
--statusbar, -I Enable statusbar
--no_sort, -D Do not apply any sorting to the list of files
--numeric_sort, -N Sort filenames with numbers intuitively
--root, -x Set centered desktop background and exit
--root_t, -y Set tiled desktop background and exit
--root_s, -z Set stretched desktop background and exit
--scale_down, -t Shrink image(s) larger than the screen to fit
--transparency, -p Enable transparency for transparent images
--watch, -T Reload the image if it has changed on disk
--recursivedir, -u Recursively include all files
--followlinks, -L Follow symlinks to directories (requires --recursivedir)
--select_dir, -A x Store the selected files in dir x (default is .qiv-select)
--autorotate, -l Do NOT autorotate JPEGs according to EXIF rotation tag
--rotate, -q x Rotate 90(x=1),180(x=2),270(x=3) degrees clockwise (11 & 13 for conditional)
--xineramascreen, -X x Use monitor x as preferred screen
--source_profile, -Y x Use color profile file x as source profile for all images
--display_profile,-Z x Use color profile file x as display profile for all images
--version, -v Print version information and exit

Slideshow options:
This can also be used for the desktop background (x/y/z)
--slide, -s Start slideshow immediately
--random, -r Random order
--shuffle, -S Shuffled order
--delay, -d x Wait x seconds between images [default=3]
--vikeys Enable movement with h/j/k/l, vi-style
(HJKL will do what hjkl previously did)

Keys:
space/left mouse/wheel down next picture
backspace/right mouse/wheel up previous picture
PgDn 5 pictures forward
PgUp 5 pictures backward
q/ESC/middle mouse exit

0-9 Run 'qiv-command <key> <current-img>'
^<string><return> Run 'qiv-command ^<string> <current-img>'
?/F1 show keys (in fullscreen mode)
F11/F12 in/decrease slideshow delay (1 second)
a/A copy current image to .qiv-select
d/D/del move picture to .qiv-trash
u undelete the previously trashed image
+/=/wheel r/btn fwd zoom in (10%)
-/wheel l/btn back zoom out (10%)
e center mode on/off
f fullscreen mode on/off
m scale to screen size on/off
t scale down on/off
X cycle through monitors
s slide show on/off
p transparency on/off
r random order on/off
b - brightness
B + brightness
c - contrast
C + contrast
g - gamma
G + gamma
o reset brightness, contrast, gamma
h flip horizontal
v flip vertical
k rotate right
l rotate left
jtx<return> jump to image number x
jfx<return> jump forward x images
jbx<return> jump backward x images
enter/return reset zoom, rotation and color settings
E display Exif information
i statusbar on/off
I iconify window
w watch file on/off
x center image on background
y tile image on background
z stretch image on background
, grab on/off
< turn on/off magnifying window
arrow keys move image (in fullscreen mode)
arrow keys+Shift move image faster (in fullscreen mode)
NumPad-arrow keys+NumLock move image faster (in fullscreen mode)

Valid image extensions:
Use --no_filter/-n to disable
.jpg .jpeg .jpe .gif .tif .tiff .xpm .png
.pjpeg .ppm .pnm .pgm .pbm .pcx .bmp .eim
.ico .wmf .svg

Homepage: http://qiv.spiegl.de/
Please mail bug reports and comments to Andy Spiegl <qiv.andy@spiegl.de>

Tutorials

Gtkdialog2 Part 2.
A beginners Tale Part 3 and final part.

gtkdialog2 - Part 2

Written by smokey01

Last month I explained how to use the <window> widget and a couple of buttons. This month we will have a look at making some custom buttons and implement the <action> widget so we can make the script do something useful.

In the example below I will change the default OK button so it actually does something.

------------------------------------------- Cut -----------------------------------------------

#!/bin/sh

[ -z $GTKDIALOG ] && GTKDIALOG=gtkdialog

MAIN_DIALOG='
<window>
<vbox>
<hbox>
<button>
<label>Option 1</label>
<action>Xdialog --msgbox "You clicked the option 1 Button" 0 0</action>
</button>
<button cancel></button>
</hbox>
</vbox>
</window>
'
export MAIN_DIALOG

case $1 in
-d | --dump) echo "$MAIN_DIALOG" ;;
*) $GTKDIALOG --program=MAIN_DIALOG ;;
esac

------------------------------------------- Cut -----------------------------------------------

Now we will make it a little more interesting. Let's make a simple launch bar with four applications.

------------------------------------------- Cut -----------------------------------------------

#!/bin/sh

[ -z $GTKDIALOG ] && GTKDIALOG=gtkdialog

MAIN_DIALOG='
<window title="Application Launch Bar" icon-name="gtk-execute">
<vbox>
<hbox>
<button>
<label>Browser</label>
<action>defaultbrowser &</action>
</button>
<button>
<label>File Manager</label>
<input file stock="gtk-home"></input>
<action>rox &</action>
</button>
<button>
<label>System Information</label>
<action>hardinfo &</action>
</button>
<button>
<label>mtPaint</label>
<action>mtpaint &</action>
</button>
</hbox>
<hbox>
<button cancel></button>
</hbox>
</vbox>
</window>
'
export MAIN_DIALOG

case $1 in
-d | --dump) echo "$MAIN_DIALOG" ;;
*) $GTKDIALOG --program=MAIN_DIALOG ;;
esac

------------------------------------------- Cut -----------------------------------------------



As you can see from the graphic above we have a simple dialog. If you click on any of the buttons an action should take place. Notice there are four buttons on the first row and one on the second, totalling five buttons. The actions of the buttons should be obvious. Copy the code above into your text editor, save it and make it executable. Click on the script and you should be presented with the above dialog. Try the buttons.

In the opening window tag you will see where the title and icon is defined <window title="Application Launch Bar" icon-name="gtk-execute">.
If you don't define an icon or title then a default icon and title will be displayed. The icon called gtk-execute is a built-in icon which is part of gtkdialog. They are also called stock icons. To see a full list of available stock icons use the script here.

Have a closer look at the first button which looks like this:

<button>
<label>Browser</label>
<action>defaultbrowser &</action>
</button>


There are four lines. The first line is the button opening tag. Quite a few definitions can be included in the opening tag but I will explain more about that at another time.

The second line defines a label with the name of "Browser". This is how you put text on a button.

The third line defines the action that is to take place when the button is pressed. The action in this case is to execute the defaultbrowser. Notice the "&" at the end of the action line. This runs the application in the background.

The second, third and fourth buttons are all similar with one exception. Did you notice the second button has an icon on it. Placing <input file stock="gtk-home"></input> after the <label></label> tags instructs gtkdialog to place the gtk-home icon on the button. You don't have to use the built-in stock icons, you can use any graphic file that's compatible such as xpm, svg, jpg and png just to name a few. You might find some icons will be larger or smaller than desired but you can control the icon size by other commands which I will not expand on today.

The fifth and final Cancel button instructs the dialog to close as there is no action to perform so it exits with an exit code of 0.

To really understand this stuff you must play with it. Change the code and run it. Yes you will break it but fixing it is how you learn.

A Beginners Tale Part 3

A Beginners Tale Part 3 (final) by Terry Schuster

This aim of this article is to encourage new puppy users to engage with the Puppy suite and to provide some suggestions as to how to setup their system so that it can be made as functional as possible. In my situation I am using Tahrpup 6.0.5 running from a 16Gb USB memory stick configured as a HDD in order to have a large savefile space. In this way I have excellent portability and the option of changing the OS very easily if I find a better setup (or ruin the current one!)

Puppy Linux is well known for its speed and versatility. In my experience the (JWM) desktop works very effectively, although its appearance may not be to everybody’s taste. Making the basic Puppy desktop more varied, colourful and potentially more usable is relatively easy. High resolution picturesque background images can be downloaded from the internet from such sites as https://wallpaperscraft.com and stored in any folder. They can then be selected through the Desktop → Backgrounds tab in JWMDesk Manager or by right clicking on the actual Desktop and selecting Desktop Preferences → Appearance.

Some Puppy users require greater readability and accessibility, especially if they are old dogs! I find larger menus easier to select with a mouse, so I adjust a few critical parameters of the desktop using: Menu → JWMDesk Manager.
> Change/enlarge the screen font size:
Desktop tab → Screen Font tab
> Vertical size of the Task Bar:
Select Tray Tab and edit Short Dimension value.
> Change the menu height:
Desktop tab → Menu Manager and edit menu height value

Bright or novel icons can be downloaded from the net and stored in a convenient place. The Desktop icon can be changed by right-clicking on it → File Paint → Set Icon. The icon can then be dragged from its file location into the dialogue box to effect a change.

Being able to manipulate files easily makes processing of documents more efficient. The use of at least 4 workspaces makes opening multiple files more manageable. This is easily done by: selecting JWMDesk Manager → Tray tab → edit the Virtual Desktop number.

Moving open files to a less cluttered workspace is quickly done by right-clicking on the title bar of the window and selecting the new workspace/desktop from Send to Desktop.

I have found Palemoon to be an acceptable browser and have no need to add another. Updating the browser (accessed from from the Internet menu) is essential. However, not all OOTB software in the menus are as effective or familiar as I would like. Software additions which help office productivity and which have worked well in my case include:
> Screen shot: (Gnome-screenshot) takes snapshots of windows or selected areas
> Simple-scan: A very effective, simple scanning tool,
but needs an installed scanner driver
> X-Pad: Sticky-note utility:
the contents of which can be saved between boots
> LibreOffice: General office suite, with excellent features.
While it is a relatively large installation,
it loads and runs fast under Puppy.

On occasions I have found that downloading packages sometimes failed due to missing dependencies or similar. This seemed to be considerably reduced by updating the Puppy Package manager on a regular basis through opening the Configure Package Manager (third from left top tab in open Package Manager) → Update Database tab and then selecting Update Database. I would recommend this to all new users on the first or second bootup/save cycle, and certainly before downloading any extra packages.

Perhaps the biggest hurdle I faced was getting the OS to recognize a scanner/printer, which was essential for using Puppy Linux as an everyday OS. Once again the Puppy Linux Forums were essential to my progress. A very helpful site for general printer installation was the Murga-Linux Forum 59015, which led me to quickly solve my HP printing issues by downloading the HPLIP-SCAN and HPLIP-PRINT .pet files from the following site: http://distro.ibiblio.org. Thankfully this particular problem also gave me exposure to, and confidence with, the installation of .pet and subsequently .sfs files.

One issue I faced in running my Puppy OS on a 16Gb USB Stick configured as a HDD was that of backup. Setting up a puppy from scratch and then changing menu settings and downloading favorite applications is very inefficient. I have found Clonezilla an effective way to clone the entire USB-HDD and to restore/copy the drive in its entirety onto second Flash drive. I can recommend the following site for a detailed step-by-step description of how to go about it, which is still simple enough for a relative novice: http://www.wikihow.com/Use-Clonezilla. (Note: this process does require the creation of a bootable CD.) One potential problem in cloning an entire drive is that not all 16Gb USB drives are the same size in terms of their effective storage area, so I always leave 300Mb or so unallocated at the end on the drive to manage this contingency.

Once I had a Puppy Linux successfully working to run my audio recording/editing sessions, I experimented using some popular Ubuntu distros as an alternative for my Windows 7 OS on my main computer. Some worked better than others on my USB flash drive, but Puppy Linux still has significant speed and size advantages. The LXDE Desktop management seems to work very well with LXPup, which is based on a version of TahrPuppy. So much so that it has become my preferred OS for day to day home office work. More details about this Puppy variant can be found at http://lx-pup.weebly.com. Incidentally, the LXPup has been frugally installed within a full installation of Lubuntu on a 16Gb USB memory stick (but next time I will use 32Gb!). The stability and effectiveness of this Puppy OS further reflects well on TahrPuppy as a good workhorse, or should that be working-dog??

This is the final part of a 3 part series. I am sure that experienced Puppy users have had different experiences to mine and may have alternate or additional ideas. On behalf of other newbies I encourage others to contribute so that we can all learn from each other. I once again express my thanks to all those who contributed to past Puppy (and Ubuntu) forums, and to the editors/contributors to other forums such as this newsletter, without which a beginner could not make effective progress. While Puppy Linux does require more user input, research and experimentation to setup, the rewards are worth the effort. And I am just a beginner looking forward to more!

Compiling

This is a good section to discuss how to compile software. Compiling is not everyone's cup of tea but the more people that can manage it, the longer life Puppy will have.

The hardest part of compiling is the build recipe as there are so many options. Let's include some proven recipes here.

You must have the devx loaded as this is where most of your compiling tools reside. In some cases you may also need to have the kernel sources loaded.

Sakura

Written by smokey01

Sakura terminal emulator home page.

At the time of writing the latest version of Sakura is 3.5.0 released on 14 September 2017. This version requires gtk3 and most pups still use gtk2 therefore I suggest you use this source: http://pleyades.net/david/projects/sakura/sakura-2.4.2.tar.bz2 which will work with gtk2.

You will also need to install vte-0.28.2-8 prior to compiling sakura. I'm quite sure the vte package is available in the respective repositories for slacko and tahrpup. If not get the 32bit package here and the 64bit package here.

NOTE: In fatdog64-710 I needed to make a symlink called libncursesw.so.6 to libncurses.so. I'm not sure if this is required in other distros.

Extract the Sakura package to a working directory. Enter the directory. Open a terminal in that directory.

Type: cmake .

Then type make

Then finally type make install

Job done.

Sakura has a config file in /root/.config/sakura/sakura.conf that looks like this.

[sakura]
forecolor=#c0c0c0
backcolor=#000000
backalpha=65535
opacity_level=80
fake_transparency=No
background=none
font=monospace 12
show_always_first_tab=No
scrollbar=true
closebutton=false
audible_bell=Yes
visible_bell=No
blinking_cursor=No
borderless=No
maximized=No
word_chars=-A-Za-z0-9,./?%&#_~
palette=linux
add_tab_accelerator=5
del_tab_accelerator=5
switch_tab_accelerator=8
copy_accelerator=5
scrollbar_accelerator=5
open_url_accelerator=5
add_tab_key=T
del_tab_key=W
prev_tab_key=Left
next_tab_key=Right
new_window_key=N
copy_key=C
paste_key=V
scrollbar_key=S
fullscreen_key=F11

To get some help, type sakura --help.

Scripts & Code

gtkdialog stock icons.

gtkdialog stock icons

Below is a script that will display all of the gtkdialog stock icons.

------------------------------------- Cut ---------------------------------------

#! /bin/bash
export MAIN_DIALOG='
<vbox>
<frame Stock>
<tree rules_hint="true" exported_column="1">
<height>400</height><width>250</width>
<label>Stock ID</label>
<item stock="gtk-dialog-authentication">gtk-dialog-authentication</item>
<item stock="gtk-dialog-info">gtk-dialog-info</item>
<item stock="gtk-dialog-warning">gtk-dialog-warning</item>
<item stock="gtk-dialog-error">gtk-dialog-error</item>
<item stock="gtk-dialog-question">gtk-dialog-question</item>
<item stock="gtk-dnd">gtk-dnd</item>
<item stock="gtk-dnd-multiple">gtk-dnd-multiple</item>
<item stock="gtk-about">gtk-about</item>
<item stock="gtk-add">gtk-add</item>
<item stock="gtk-apply">gtk-apply</item>
<item stock="gtk-bold">gtk-bold</item>
<item stock="gtk-cancel">gtk-cancel</item>
<item stock="gtk-cdrom">gtk-cdrom</item>
<item stock="gtk-clear">gtk-clear</item>
<item stock="gtk-close">gtk-close</item>
<item stock="gtk-color-picker">gtk-color-picker</item>
<item stock="gtk-convert">gtk-convert</item>
<item stock="gtk-connect">gtk-connect</item>
<item stock="gtk-copy">gtk-copy</item>
<item stock="gtk-cut">gtk-cut</item>
<item stock="gtk-delete">gtk-delete</item>
<item stock="gtk-directory">gtk-directory</item>
<item stock="gtk-disconnect">gtk-disconnect</item>
<item stock="gtk-edit">gtk-edit</item>
<item stock="gtk-execute">gtk-execute</item>
<item stock="gtk-file">gtk-file</item>
<item stock="gtk-find">gtk-find</item>
<item stock="gtk-find-and-replace">gtk-find-and-replace</item>
<item stock="gtk-floppy">gtk-floppy</item>
<item stock="gtk-fullscreen">gtk-fullscreen</item>
<item stock="gtk-goto-bottom">gtk-goto-bottom</item>
<item stock="gtk-goto-first">gtk-goto-first</item>
<item stock="gtk-goto-last">gtk-goto-last</item>
<item stock="gtk-goto-top">gtk-goto-top</item>
<item stock="gtk-go-back">gtk-go-back</item>
<item stock="gtk-go-down">gtk-go-down</item>
<item stock="gtk-go-forward">gtk-go-forward</item>
<item stock="gtk-go-up">gtk-go-up</item>
<item stock="gtk-harddisk">gtk-harddisk</item>
<item stock="gtk-help">gtk-help</item>
<item stock="gtk-home">gtk-home</item>
<item stock="gtk-index">gtk-index</item>
<item stock="gtk-indent">gtk-indent</item>
<item stock="gtk-info">gtk-info</item>
<item stock="gtk-unindent">gtk-unindent</item>
<item stock="gtk-italic">gtk-italic</item>
<item stock="gtk-jump-to">gtk-jump-to</item>
<item stock="gtk-justify-center">gtk-justify-center</item>
<item stock="gtk-justify-fill">gtk-justify-fill</item>
<item stock="gtk-justify-left">gtk-justify-left</item>
<item stock="gtk-justify-right">gtk-justify-right</item>
<item stock="gtk-leave-fullscreen">gtk-leave-fullscreen</item>
<item stock="gtk-missing-image">gtk-missing-image</item>
<item stock="gtk-media-forward">gtk-media-forward</item>
<item stock="gtk-media-next">gtk-media-next</item>
<item stock="gtk-media-pause">gtk-media-pause</item>
<item stock="gtk-media-play">gtk-media-play</item>
<item stock="gtk-media-previous">gtk-media-previous</item>
<item stock="gtk-media-record">gtk-media-record</item>
<item stock="gtk-media-rewind">gtk-media-rewind</item>
<item stock="gtk-media-stop">gtk-media-stop</item>
<item stock="gtk-network">gtk-network</item>
<item stock="gtk-new">gtk-new</item>
<item stock="gtk-no">gtk-no</item>
<item stock="gtk-ok">gtk-ok</item>
<item stock="gtk-open">gtk-open</item>
<item stock="gtk-paste">gtk-paste</item>
<item stock="gtk-preferences">gtk-preferences</item>
<item stock="gtk-print">gtk-print</item>
<item stock="gtk-print-preview">gtk-print-preview</item>
<item stock="gtk-properties">gtk-properties</item>
<item stock="gtk-quit">gtk-quit</item>
<item stock="gtk-redo">gtk-redo</item>
<item stock="gtk-refresh">gtk-refresh</item>
<item stock="gtk-remove">gtk-remove</item>
<item stock="gtk-revert-to-saved">gtk-revert-to-saved</item>
<item stock="gtk-save">gtk-save</item>
<item stock="gtk-save-as">gtk-save-as</item>
<item stock="gtk-select-color">gtk-select-color</item>
<item stock="gtk-select-font">gtk-select-font</item>
<item stock="gtk-sort-ascending">gtk-sort-ascending</item>
<item stock="gtk-sort-descending">gtk-sort-descending</item>
<item stock="gtk-spell-check">gtk-spell-check</item>
<item stock="gtk-stop">gtk-stop</item>
<item stock="gtk-strikethrough">gtk-strikethrough</item>
<item stock="gtk-undelete">gtk-undelete</item>
<item stock="gtk-underline">gtk-underline</item>
<item stock="gtk-undo">gtk-undo</item>
<item stock="gtk-yes">gtk-yes</item>
<item stock="gtk-zoom-100">gtk-zoom-100</item>
<item stock="gtk-zoom-fit">gtk-zoom-fit</item>
<item stock="gtk-zoom-in">gtk-zoom-in</item>
<item stock="gtk-zoom-out">gtk-zoom-out</item>
</tree>
</frame>
<hbox>
<button cancel></button>
<button ok></button>
</hbox>
</vbox>
'
gtkdialog4 --program=MAIN_DIALOG

-------------------------------------------- Cut -------------------------------------------------------

Tips & Tricks

Tips & Tricks are simple little actions you can take to make your life easier when using Puppy. You will probably know most of the tips but there are always new users that don't.

Puppy Package Manager - bigpup

Puppy Package Manager(PPM)
What config options offer

Written by bigpup

This applies to PPM V2. Yours may be slightly different.

Puppy Package Manager(PPM) has many options that are helpful and make PPM work much better.
The PPM default setup is very simple and a lot of options are not used.
However, you can make PPM work the way you want it to work, by simply changing the option settings.

PPM>Configure Package Manager>Options

Options are just that, options for how PPM looks and does things.
Some seem simple to understand, but others you may not understand what they do.
Here are some of the more useful ones, but all are good options to consider.

Show Info with Configuration changes as startup:
This will make an info window show when you start PPM.
This window will inform you of what options are selected.
At first, you may not see usefulness in this info, but without going to options setup,
you will not know what some settings are.
It is a good reminder.

Use traditional, non-auto, user interface:
This causes PPM to use the traditional display.
This may seem like something to not want, but it allows you to see exactly what is going to happen.
Especially usefull if you want to see exactly what dependency files/programs are going to be installed.
Also gives you option to not install something or stop at any time during the download/install process.
Really need to try it, to see all that it offers.

Install to tmpfs instead of the save file, till session is saved:
The idea behind this option was to allow a program to be installed, but not in the save.
You could see how it works. If not so good, uninstall it.
At no time did it ever get into the save.

Do not delete downloaded packages after installation:
Normally the original package is downloaded, installed, and deleted.
Only the install is present and you would need to redownload the original package.
Selecting this option will allow you to keep the original package you download.
Keeping a copy of the original package, allows you to save it or use again, without having to redownload.

Save PKGs in:
This gives you the option of choosing location to save downloaded packages.

Use verbose method during update of package database:
This makes you have to say yes or no to doing an update of each specific repository database.
Useful if you just want to download from one specific repository and do not care about updating all others.

Note:
Always update the database in PPM before you try to install anything.
These repositories are constantly getting new or updated program packages.
PPM is going to show you the info from the last time the database was updated.
Stuff in the repositories may have changed.

Entertainment

The December crossword by greengeek.

Crossword

Puppy Crossword (December 2017)
(Formatted by greengeek using the "Puzzlefast" website)

"International Communication"

The Puppy Murga forum hosts special threads for non-English speakers so I have built this months crossword
using words found within the Spanish, French and German threads. In a global environment anything we can do
to learn the mother tongues of our international friends is helpful for our communication.

How many of these can you translate?

(See clues below image)








Scroll further down for answers:








Useful Links

Puppy Linux Forums USA

Ibiblio repository USA

nluug repository Netherlands

Internode repository Australia

University of Crete repository Greece

aarnet repository Australia

Internet archive repository USA

Puppy Linux Tips by smokey01

Puppy Linux wikka Puppy sites

Bookmarkos provided by kerl

Search the Puppy Linux Forums

Barry Kauler's News Blog

labbe5 Report

Contributors this month

Not all of the people below have physically given me the information to publish. If I find information I will give the credit where it is due. So if you see your name on the list below please don't be alarmed or upset. You are not losing your mind.

smokey01
Barry Kauler
Dorothée
musher0
Terry Schuster
bigpup

Proof reading - russoodle

Newsletter Information

Display tip:
To improve the Notecase display format please press F7 then:
- Tick the "Restore last position/size" checkbox.
- Select the "Display" tab and tick "Wrap text".

Newsletter index written by 6502coder can be found here:
http://www.murga-linux.com/puppy/viewtopic.php?p=945962#945962

Contributions

If you have information you would like to see in the newsletter please email it to smokey01 at smokey01@internode.on.net. It must be created in Notecase otherwise it makes my job far too difficult. I don't intend doing any significant editing but I will attempt to read all of the articles and ask a couple of others to do some proof reading. If you would like to assist in proof reading please let me know on the email address above.

Notecase is very easy to learn and use. Try and keep your articles to less than 1000 words. Photos and images should be no bigger than 1024 x 768. I can always make them smaller.

The deadline for articles is the 20th of each month. Let's not worry about time zones. I know it may be the 20th in Australia and only the 19th in the USA but I can live with this. If it's more than 24 hours late with respect to Australian CST then your article may be pushed right, into the next edition. I expect proof reading to take less than a week which will provide about four days to publish at the beginning of each month.

I will upload the Newsletter to my site at http://smokey01.com/newsletters. There will be two versions. One will be an xz compressed Notecase file and the other will be a html file so it can be read in a browser.

I have changed the original naming convention to 0001-PuppyLinuxNewsletter-Jan2017.ncd.xz and 0001-PuppyLinuxNewsletter-Jan2017.html respectively. The formatting of the html is not brilliant but readable. The newsletter is intended to be downloaded and read in Notecase.

Disclaimer

The editor has the right to veto any articles that he/she considers inappropriate. A reasonable effort will be made to avoid spelling and grammatical errors however, I'm sure some may slip through. This newsletter is published by volunteers, and is free, so please be kind. Constructive criticism and positive suggestions are welcomed.

smokey01