Theme (Gtk-2) features in detail, revisited.

Themes, icons, wallpapers, etc.
Message
Author
User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#31 Post by torm »

Edit:repacked the package. Added some theme/size hints..

__

Edit:
Found some programs tend to use "inactive" window state - when moved to another
desktop, so added "layer below" for the clock, to make it stick better to the wallpaper.. :?

Also changed some namespace details for built-in clock face.
Should be easy now to export as clock_background.xpm from GIMP without
correcting with text-editor before compiling, .. I hope.

____________________________________________________________

pclock-retro v0.13.1/modification-05

For now, it should be stated as test.. and I can't say more than it "appears" to work.
Replaced the scripts with internal methods to auto-store location and call the settings
window. I'm clearly missing the skills to write a proper code, so please have a look
at the provided source, if there's anything that needs to be fixed.

btw, gtkdialog(4) is not a real dependency, it could be replaced with anything that should
be started by right-mouseclick on the clock. Just place a link in
/root/my-applications/pclock-retro/bin/ and name it dialog1
Also, xwininfo/grep/awk are not used for detecting the location in this version.
As before, it can be started with commandline options or from the script
to ignore the stored location.

____________________________________________________________

pclock-retro v0.13.1/modification-06

Added current date display. Some skins to support that feature.
Vertical and horizontal location of the date can be set on commandline or
from the theme file. Theme file is a script, open as text and edit as needed.. :wink:

Note!
This modification makes some changes to file locations.
To update to new version:
- open settings window of clock
- remove Pclock-retro link from Startup folder (if set)
- close the clock and exit settings window
- uninstall the old version with PPM (Puppy Package Manager)
- install new version


For more info please see /root/my-applications/pclock-retro/source/README-MODIFIED-version,
aside from file location changes there are new short/long options that can be used
for theme files.
Executable is now "on path" , so typing in terminal:
pclock-retro -h
..will also list them.
Clock has built-in skin and default settings, and it can run with or without extra options
from command.





Have a nice day :)





Edit:
Added pclock_retro_mod-06_slacko32.pet below..
It has 32bit binary compiled in slacko-6.9.9.9-uefi-k4.4-PAE-PM-LO and
also a little different "startup/autostart" method.

Note.
In TahrPup605 and IceWM window manager, it appears that scripts or links in
/root/Startup are started, while in Slacko-6.9.9.9/JWM only the *.desktop files that
are in /root/.config/autostart folder ( links in /root/Startup are ignored.. ? )
___

IceWM note.
Using IceWM as IceWM-Session on any system - with no matter what configuration,
one could just use /root/.icewm/startup file to start any number of applications.
For example, to autostart the clock:

#!/bin/sh
/root/my-applications/pclock-retro/auto-start-pclock-retro &

..then make the file "executable".
Not all versions of IceWM may have that file, while most of them should
know what to do with it - that is what "-session" part does, aside from loading
systray etc.
Attachments
pclock_retro-with-date.png
screenshot for mod 06
(46.46 KiB) Downloaded 969 times
Last edited by torm on Thu 02 Aug 2018, 12:43, edited 3 times in total.

User avatar
jrb
Posts: 1536
Joined: Tue 11 Dec 2007, 19:56
Location: Smithers, BC, Canada

#32 Post by jrb »

torm wrote:Just add to:
/root/.jwm/jwmrc-personal

Code: Select all

<Group>
<Class>PClock-retro</Class>
<Option>sticky</Option>
</Group>
Thanks for the pointers and the improvements Torm.

I installed pclock_retro_mod-04.pet after removing the earlier and then set it up using your code. Since I do not use a save file I have many of my .pets in an SFS file which I use with multiple Puppies, I did not want to modify any files which would override settings in the different Puppies.. Therefore I placed your code in /root/.jwm/jwmrc-personal3

Code: Select all

<!-- Personally configurable options for JWM: these override default settings and theme settings -->

<JWM>

<Group>
<Class>PClock-retro</Class>
<Option>sticky</Option>
</Group>

</JWM>
Then I symlinked /root/my-applications/pclock-retro/themes/bc-02th to /root/Startup and change the values of /root/my-applications/pclock-retro/data/location-h and /root/my-applications/pclock-retro/data/location-v to place the clock in the lower right corner of my desktop. Works a treat, much better than my crude startup scripts. I like the dark ringed face better too. Will use the smaller faces on my laptops.

Cheers, J and Thanks again.

Edit: Now tested in Xenial, Stretch and Artful with the same SFS and all worked great
Attachments
pclock-retro-screenshot.jpg
(42.48 KiB) Downloaded 994 times

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#33 Post by torm »

Thanks for reply, jrb

Updated the clock to version 06.
For now I think it would be the final version -where it comes to
features and file locations etc.

april

#34 Post by april »

Gave this a run on xenial64 7.5 but it did not come up

Run in terminal gives this error

Code: Select all

root# ./pclock-retro
./pclock-retro: error while loading shared libraries: libXpm.so.4: wrong ELF class: ELFCLASS64
So is this only for 32 bit machines or can it be made to run on 64 bit machines or do you have a pet for 64 bit?

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#35 Post by torm »

EDIT:
Updated to version 07
No radical changes, just removed some useless lines here and there.
Pet packages now do not include the source, source is provided separately
in the next post. Source for versions 07 and 08 is the same - only the dialog is
different and some of the data that the dialog uses.

You can find precompiled version below for some versions of Puppy.
Attachments
pclock-retro_07_bionicpup64_64bit.pet
pclock-retro version 07 for bionicpup 8.0 (64bit)
(73.62 KiB) Downloaded 286 times
pclock-retro_07_precise-571_32bit.pet
pclock-retro version 07 for puppy precise-571 (32bit)
(73.57 KiB) Downloaded 479 times
pclock-retro_07_xenialpup64_64bit.pet
pclock-retro version 07 for xenialpup64-7.5 (64bit)
(56.02 KiB) Downloaded 478 times
pclock-retro_07_tahrpup606_32bit.pet
pclock-retro version 07 for tahrpup606 (32bit)
(55.59 KiB) Downloaded 456 times
pclock-retro_07_tahrpup605_64bit.pet
pclock-retro version 07 for tahrpup605 (64bit)
(55.89 KiB) Downloaded 465 times
pclock-retro_07_slacko-570_32bit.pet
pclock-retro version 07 for puppy slacko-570 (32bit)
(70.61 KiB) Downloaded 456 times
pclock-retro_07_slacko-6999_32bit.pet
pclock-retro version 07 for puppy slacko-6.9.9.9 (32bit)
(54.63 KiB) Downloaded 451 times
Last edited by torm on Wed 04 Sep 2019, 13:52, edited 1 time in total.

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#36 Post by torm »

Version 08 of pclock-retro modification.
Only the dialog window is different for this version, and it should work
with any version of gtkdialog and support both "/root/Startup" and
"/root/.config/autostart" method to autostart clock on system start.
This dialog does not use a custom GTK-2 theme.

Package below only provides the C source, generic gtkdialog script and data.
It is plain tar.gz archive, so older systems without xz compression
should be able to unpack it.

You can compile and install it with:

make
make install

Then update the menu for desktop file to appear,
as it is not a pet-file, so not automated for any menu-system.
Attachments
pclock-retro_08_source.tar.gz
pclock-retro 08 C source
(30.4 KiB) Downloaded 441 times
Last edited by torm on Sat 04 Aug 2018, 06:35, edited 1 time in total.

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#37 Post by rockedge »

I ran into this error while compiling :

Code: Select all

# make install
strip pclock-retro
cp pclock-retro /root/my-applications/bin/pclock-retro
cp -r --preserve=links pclock-retro-app /root/my-applications/pclock-retro-app
cp pclock-retro.desktop /usr/share/applications/pclock-retro.desktop
rm Graphics.o
rm Main.o
cp FjallaOne-Regular.ttf /usr/share/fonts/default/TTF/FjallaOne-Regular.ttf
cp: cannot stat 'FjallaOne-Regular.ttf': No such file or directory
Makefile:25: recipe for target 'install' failed
make: *** [install] Error 1
# 
UPUPBB 18.05
• DISTRO_COMPAT_VERSION='bionic'

Read by /usr/bin/xwin to bypass Xorg Wizard at first boot:
• DISTRO_XORG_AUTO='yes'

• DISTRO_KERNEL_PET='Huge_Kernel'

• DISTRO_DB_SUBNAME='upupbb'

• DISTRO_ARCHDIR='i386-linux-gnu'

• DISTRO_TARGETARCH='x86'
BUILD_FROM_WOOF='testing;d2fe03d8;2018-05-09 21:40:13 +0800'

User avatar
rockedge
Posts: 1864
Joined: Wed 11 Apr 2012, 13:32
Location: Connecticut, United States
Contact:

#38 Post by rockedge »

fixed it by downloading the font and placing it in the directory before compiling
Attachments
Screenshot11-500px.png
(27.41 KiB) Downloaded 743 times

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#39 Post by torm »

Thanks rockedge for pointing out the font line, somehow I overlooked it..
Re-uploaded the archive now.

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#40 Post by torm »

arktiswm_calendar

arktiswm_calendar is small and simple GTK2-based calendar for ArktisWM.
It can also run under other window managers, or be started from different
panels.
Dependencies: GTK2, gtkdialog4.

arktiswm_calendar uses wrapper script called "calendar-script" to toggle
calendar on and off, run theme update scripts ( if any ) and can be extended
with more commands without recompiling the calendar.
calendar-script is placed on system path by Makefile, to run it type:
calendar-script

arktiswm_calendar has gtkdialog4-based Setup window to:
- select custom/global GTK2 theme for calendar
- allow or disable theme update scripts ( if any ) in themes
- set system Time and Date ( hardware clock ) --> if "set-time" command is available
- set system TimeZone --> if "timezone-set" command is available
- set Timer Alarms --> if "pschedule" command is available

arktiswm_calendar layout:
- calendar picture
calendar picture is provided by calendar theme and can be static or change according
to current month, current weekday - or whatever the "update.sh" script in theme folder
can pull out of it.
+ Note! For security reasons running the scripts from themes is disabled by default, so
if You install any external themes, please review the scripts first for valid actions,
before enabling this feature.
Mouse right-click on calendar picture will pop-up the Setup window and any other click will
just close the calendar.
- today date
today date shows current weekday and date using system locale.
- calendar widget
calendar widget defaults to current month and year with current day selected. Selecting
any other year and/or month will clear the day selection - while scrolling back to currenth month
and year will reselect the day.
calendar widget allows to drag any date from the widget to a texteditor page, etc.
Dragging any valid date to calendar widget will change the month and year to this date.
Double-clicking any date in calendar widget will open system "defaulcalendar".

arktiswm_calendar theme support.
arktiswm_calendar allows widget-level theme details using any available theme engines
and fonts - without "merge" to external apps started from calendar.
Theme provided calendar picture will have the actual size of the pixmap and will set
the width of the calendar if the pixmap width is greater than total widget size request.
For more theme details please see included example themes.

Building arktiswm_calendar for different Puppy versions.
To compile the source:
- have devx.sfs loaded
- navigate to arktiswm_calendar extracted folder
- open terminal window there, and type:
make
- if that works out ok, type:
make install
- default install path is /root/.arktiswm/cal-base and /root/my-applications/bin for scripts
- arktiswm_calendar stripped size should be around 10kb to 15kb on most systems

System integration.
Command to run arktiswm_calendar from panel clock, etc. is:
calendar-script

Translation.
Setup window TEXTDOMAIN is "arktiswm" while there are so few translatable lines
that it would make more sense to edit those by hand.. if the calendar is used standalone.

Notes.
Calendar window is set to open under mouse and setup window in the middle of display.
This the first release of arktiswm_calendar package.
There are only a few example themes included, so feel free to share your ideas and
custom themes ;)

arktiswm_calendar license.
ArktisWM, 2019, GNU GPL3
This program is free software; you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation; either version 3 of the License, or
(at your option) any later version.
See /usr/share/doc/legal/gpl-3.0.htm for more details.

Included Oxygen.TTF font is released under SIL Open Font License.
Attachments
arktiswm_calendar-source-01.tar.gz
C source and data for arktiswm_calendar
(111.73 KiB) Downloaded 394 times
sshot1.jpg
screenshot with Setup window and Calendar
(62.68 KiB) Downloaded 501 times
arktiswm_calendar-tarpup606_32bit.pet
arktiswm_calendar pre-built pet package for tahrpup606 32bit
(112.97 KiB) Downloaded 381 times
arktiswm_calendar-tarpup605_64bit.pet
arktiswm_calendar pre-built pet package for tahrpup605 64bit
(96.31 KiB) Downloaded 375 times
arktiswm_calendar-xenialpup64-75_64bit.pet
arktiswm_calendar pre-built pet package for xenialpup-7.5 64bit
(112.93 KiB) Downloaded 372 times

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#41 Post by torm »

new-gtk2 is a tiny GTK2 theme reload program.

To build, strip and install, open terminal in this directory and type:
make
make install

To use new-gtk2 from terminal or script type:
new-gtk2 /usr/share/themes/THEME-NAME/gtk-2.0/gtkrc

..where THEME-NAME is the folder-name of the theme.
new-gtk2 should complain if a theme argument is missing,
or if the selected path does not end with a regular gtkrc file.
Selected theme path is written to global /root/.gtkrc-2.0 file
and GTK2 programs reloaded with the selected theme.

Notes.
Default install path for new-gtk2 is /root/my-applications/bin
while it can run from some other location.
Also the GTK2 theme may be selected from any sane location.
In ROX Filer it is possible to drag-and-drop the gtkrc file directly on the new-gtk2 to select
a new theme :wink:
Attachments
new-gtk2_C-source.tar.gz
C source for new-gtk2
(1.28 KiB) Downloaded 385 times

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#42 Post by torm »

While I think that ROX should have a more intuitive and WhatYouSeeIsWhatYouGet
wallpaper selection dialog as built-in feature..

Below is a tiny gtkdialog4 app for ROX wallpaper selection.
Maybe my expectations on gtkdialog4 were a bit too high.. but it works for most part.
( found that treeview does not autoscroll to selected item, or allow refresh to a "selected-row" number.. )

- previously selected wallpaper is set as first ( selected ) item on the wallpaper list.
Same if the wallpaper was set with some other app from a random location.
- wallpaper list has the primary focus for keyboard - use arrow keys to select, and any of the Space, Shift+Space,
Return or Enter keys to apply
- double-click on list item, or click on the preview to apply the current selection
- selecting different layout like "tile" etc. will apply/reload the current selection
- wallpaper list can be reloaded runtime with a click on "refresh" , - current wallpaper is set as first on the list
- no translatable text labels or tooltips
- no icons, default or custom, or icon-themes to depend on ( some WM-s may nag here.. )

Defaults:
- data directory is /usr/share/backgrounds folder, click on "folder" to open it in a new ROX window
- /root/.config/awall stores the pixmaps used in dialog, also the link to current wallpaper
- /root/my-applications/bin/awall is the location of the script

Notes.
Should work on most Puppy versions with ROX desktop and gtkdialog4.
The script doesn't use the "nl" command.
01 - stands for first version as stand-alone app.
Inherits GPLv3 license from ArktisWM package.
Attachments
awall_noarch-01.pet
awall, ROX wallpaper selection dialog
(6.13 KiB) Downloaded 232 times

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#43 Post by torm »

PClock-retro with extended theme support.

Updated to version 0.13.2, modification - 09. Not backwards compatible.
Will leave the old pet packages as-is for now, and add new
source below this post.

This modification allows to use any shape and size xpm pixmaps for clock face.
Hands center on clock face area is configurable.
Other minor fixes and updates.. please see README file for details.

New long-options added:
--xs=INT size X
--ys=INT size Y
--xa=INT hands X
--ya=INT hands Y
--ar=INT hands arc size
--ne do not draw hands opposite side extension
--se=INT seconds hand extension lenght
--he=INT hour and minute hands extension lenght
--dc=COLOR date color
--fn=FONT date X11 corefont

Other...
gtkdialog4-based gettexted setup.
Dialog uses custom icons.
Startup with link in /root/Startup folder.
Includes simple demo themes and old defaults.

PS.
Feel free to suggest any clock skins for
theme pack that xpm files can handle.
Well, with correct licensing, if possible.. :)

Sidenote about xpm files.
Just for experiment used a shaped pixmap with 7098 colors.
Did not make any big difference, just loaded a bit slower, with about the same CPU/RAM use running.
MTPaint refused to open that file..
Would suggest anyway to export using indexed color palette with minimal ( well, less than 256 ) colors.
Included demos don't use more than 28 colors at a time.
xpm files can be opened/edited with most text editors.
Attachments
PClock-retro_09_C-source.tar.gz
ver. 09 C-source and data
(33.92 KiB) Downloaded 88 times
screenshot_pclock.jpg
screenshot with default background
(50.58 KiB) Downloaded 66 times

User avatar
torm
Posts: 186
Joined: Sat 07 Mar 2015, 19:56

#44 Post by torm »

Something more on the topic.. :wink:

Arktis GTK2 theme engine.

Primary goal is to provide uniform look of Arktis Desktop for GTK2 apps.
Other than that, it is for most part just like any other GTK2 theme engine.

The engine is designed with minimalistic drawing operations and uses colors specified in gtkrc.
For detailed information - please see comments in included example gtkrc file.
It is at very early stage of development - there can be radical changes to source and configuration details,
also workarounds for broken apps or widgets.
Please let me know, if something doesn't look as expected.

PS.
Oh, I last worked on it.. in January? :roll:
may have forgotten a thing or two since then.
Default theme for engine has extended support for ROX-Filer, see screenshot.



Qt apps.
_____
You should configure Qt apps with Qt Configuration, to set colors etc.
as those may - or not - conflict with gtkrc parameters.
There are few workarounds built-in, while some Qt apps may still have custom hardcoded color definitions.


Legal.
_____
Arktis GTK2 theme engine is forked from and loosely based on Clearlooks and Ubuntulooks.
It is released under GPLv3 license, with "any later version" option.


_____


Build.

You will need at least automake-1.7 and aclocal-1.7 versions installed. And DEVX.sfs loaded.
Then run:
Arktis_GTK2_engine_build-and-install.sh

script in the engine source directory.
That should do the job for the most part, I hope.
Don't expect a lot of questions to be asked..
Feel free to edit that script, autogen.sh, Makefile.am or configure.ac as and if needed.
When in doupt, please see README file again in the source directory.

Theme lib build size is around 54 KB stripped ( on tahrpup606 32bit ) .
_____

Version.

Arktis GTK2 engine will be included with ArktisWM window manager package and
follows ArktisWM lead version number. Makes current ( first ) version of engine 05.01


I hope this rounds it up for now. You can find the C source below.
PS.
If no serious issues, will try to add prebuilt packages over time.
Attachments
Arktis_GTK2-engine_v0501_C-source.tar.gz
C source of Arktis GTK2 engine
(73.35 KiB) Downloaded 79 times
Arktis_GTK2-engine_v0501_tahrpup606-32bit.pet
prebuilt package, Arktis GTK2 engine, tahrpup606 32bit
(30.39 KiB) Downloaded 80 times
run_in_terminal.png
run in terminal to build and install
(78.22 KiB) Downloaded 20 times
screenshot_arktis-gtk2-theme.png
Arktis screenshot with default bright theme
(120.13 KiB) Downloaded 20 times

Post Reply