LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Slackware (https://www.linuxquestions.org/questions/slackware-14/)
-   -   Xsnow. It Is That Time Of The Year. (https://www.linuxquestions.org/questions/slackware-14/xsnow-it-is-that-time-of-the-year-850039/)

cwizardone 10-17-2020 10:28 AM

@FTIO,
I just downloaded 3.1.1, followed the instructions in the readme file, and all is well. It is running "as I speak."
Quote:

......Compilation and installation:

tar xf xsnow-<version>.tar.gz
cd xsnow-<version>
./configure
make
sudo make install

xsnow will be installed in /usr/local/games.......
Out of habit I did use, as user, tar -xvf
and, instead of using sudo to installed,
I opened another terminal, ran
su -l
worked my way to the xsnow-3.1.1 directory and ran, make install.
As I said, all is well.

lopid 10-17-2020 11:16 AM

Quote:

Originally Posted by FTIO (Post 6176127)
Code:

hashtable.cpp:33:100: note: #pragma message: hashtable.cpp:

make: *** [all] Error 2

Any idea(s) what this is or what's happening incorrectly on my 14.2 x64 (not 'current', just the standard 14.2 of a few years of age, heh)?

Same here, also 14.2.

FTIO 10-17-2020 07:25 PM

Quote:

Originally Posted by cwizardone (Post 6176141)
@FTIO,
I just downloaded 3.1.1, followed the instructions in the readme file, and all is well. It is running "as I speak."


Out of habit I did use, as user, tar -xvf
and, instead of using sudo to installed,
I opened another terminal, ran
su -l
worked my way to the xsnow-3.1.1 directory and ran, make install.
As I said, all is well.

I did all that too. This saddens me once again that I can't get something I truly enjoyed seeing on the computer around this time of year through to around February. <sigh> :(

cwizardone 10-17-2020 08:30 PM

Quote:

Originally Posted by FTIO (Post 6176260)
I did all that too. This saddens me once again that I can't get something I truly enjoyed seeing on the computer around this time of year through to around February. <sigh> :(

Does an older version work?
At first glance I don't see much difference between 2.0.15 and 3.1.1.
They both work on this machine with kde4 and Xfce.

wvermin 10-17-2020 10:41 PM

To FTIO:

can you edit hashtable.cpp and replace the line

for ( auto it = table.begin(); it != table.end(); ++it )

with

for ( std::map<unsigned int,void *>::iterator it = table.begin(); it != table.end(); ++it )

And make again? I guess your C++ compiler doesn't know about the 'auto' thing.

Willem

wvermin 10-17-2020 10:53 PM

If everything fails, there is a stripped down look-alike, running in all web browsers I have to my disposal:

https://www.ratrabbit.nl/wsnow/index.html

Willem

wvermin 10-17-2020 11:00 PM

For C++ compilers not aware of 'auto'
 
Quote:

Originally Posted by FTIO (Post 6176127)
I just downloaded the latest, 3.1.1 tarball.

I checked the 'dependencies' file and I have everything on it (all 5).

As user, configure worked fine, then here's what I got at the end of 'make'...

Code:

hashtable.cpp:33:100: note: #pragma message: hashtable.cpp:
Using map for the hash table, because unordered_map is not available.
 FILE__ ":\nUsing map for the hash table, because unordered_map is not available.")
                                                                                  ^
hashtable.cpp: In function 'void table_clear(void (*)(void*))':
hashtable.cpp:59:18: error: 'it' does not name a type
      for ( auto it = table.begin(); it != table.end(); ++it )
                  ^
hashtable.cpp:59:38: error: expected ';' before 'it'
      for ( auto it = table.begin(); it != table.end(); ++it )
                                      ^
hashtable.cpp:59:38: error: 'it' was not declared in this scope
hashtable.cpp: At global scope:
hashtable.cpp:73:81: note: #pragma message: hashtable.cpp:
Using set, because unordered_set is not available.
 #pragma message(__FILE__ ":\nUsing set, because unordered_set is not available.")
                                                                                ^
Makefile:1144: recipe for target 'xsnow-hashtable.o' failed
make[4]: *** [xsnow-hashtable.o] Error 1
make[4]: Leaving directory '/home/john/built/xsnow-3.1.1/src'
Makefile:1247: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/home/john/built/xsnow-3.1.1/src'
Makefile:616: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/home/john/built/xsnow-3.1.1/src'
Makefile:392: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/home/john/built/xsnow-3.1.1'
Makefile:333: recipe for target 'all' failed
make: *** [all] Error 2

Any idea(s) what this is or what's happening incorrectly on my 14.2 x64 (not 'current', just the standard 14.2 of a few years of age, heh)?

can you edit hashtable.cpp and replace the line

for ( auto it = table.begin(); it != table.end(); ++it )

with

for ( std::map<unsigned int,void *>::iterator it = table.begin(); it != table.end(); ++it )

And make again? I guess your C++ compiler doesn't know about the 'auto' thing.

Willem

wvermin 10-17-2020 11:19 PM

Quote:

Originally Posted by Geist (Post 6076314)
Maybe Santa needs a replacement for those times.
Like a snowplow, or something.

Have a look at the man page:

$HOME/xsnow/pixmaps/santa<n>.xpm
where <n> = 1,2,3,4. If present, xsnow will try this files (4
of them) for displaying Santa. The format must be xpm (X PixMap)
format, see https://en.wikipedia.org/wiki/X_PixMap .

So, if you have a snowplow.png:

convert snowplow.png santa1.xpm # convert is in imagemagick
cp santa1.xpm $HOME/xsnow/pixmaps
cd $HOME/xsnow/pixmaps
cp santa1.xpm santa2.xpm
cp santa1.xpm santa3.xpm
cp santa1.xpm santa4.xpm

and start xsnow

Beware of typo's, did not test above code.
And, no menu will appear when you do this.

Willem

FTIO 10-18-2020 06:10 AM

Quote:

Originally Posted by wvermin (Post 6176282)
can you edit hashtable.cpp and replace the line

for ( auto it = table.begin(); it != table.end(); ++it )

with

for ( std::map<unsigned int,void *>::iterator it = table.begin(); it != table.end(); ++it )

And make again? I guess your C++ compiler doesn't know about the 'auto' thing.

Willem

Hi Willem,

Thanks for the help with this.

I made the change and it went through the make this time with no problems. I then of course did make install as root, but it still does nothing when I start it up. Ksysguard doesn't show anything happening either, so it's not 'running' in the background, it's just not starting or doing anything at all. I even tried running it from the source directory where it's built and all...still nothing happens. Not a blink, nothing. :(

wvermin 10-18-2020 08:46 AM

Quote:

Originally Posted by FTIO (Post 6176323)
Hi Willem,

Thanks for the help with this.

I made the change and it went through the make this time with no problems. I then of course did make install as root, but it still does nothing when I start it up. Ksysguard doesn't show anything happening either, so it's not 'running' in the background, it's just not starting or doing anything at all. I even tried running it from the source directory where it's built and all...still nothing happens. Not a blink, nothing. :(

Too bad ...

Can you do the following:

make clean
./configure
make
src/xsnow

and post me the output of this all?

Does

src/xsnow -h

produce output?

But wait, I found a slackware virtual machine, running slackware 14.2 with plasma shell.
Xsnow won't work fully, because it needs gtk3.20 or better to run the user interface.
However, I was able to kind of run xsnow using the following:

src/xsnow -defaults -nomenu -xwininfo

After clicking somewhere on the desktop a stuttering xsnow becomes visible.
You can change settings in ~/.xsnowrc, or read the man page and use commandline parameters.
I could not find a way to activate a compositor, that would help for a smoother xsnow.

Willem

gus3 10-18-2020 08:23 PM

A ten-year-old thread, revived for debugging purposes.

I'm torn among :rolleyes: "oh, please", :thumbsup: "yeah!", and :D "of course; next question?".

FTIO 10-18-2020 09:12 PM

Quote:

Originally Posted by wvermin (Post 6176365)
Too bad ...

Can you do the following:

make clean
./configure
make
src/xsnow

and post me the output of this all?

Does

src/xsnow -h

produce output?

But wait, I found a slackware virtual machine, running slackware 14.2 with plasma shell.
Xsnow won't work fully, because it needs gtk3.20 or better to run the user interface.
However, I was able to kind of run xsnow using the following:

src/xsnow -defaults -nomenu -xwininfo

After clicking somewhere on the desktop a stuttering xsnow becomes visible.
You can change settings in ~/.xsnowrc, or read the man page and use commandline parameters.
I could not find a way to activate a compositor, that would help for a smoother xsnow.

Willem

Ah well, I guess it's just another of those Good Things that I'll have to simply have in my memory of the good times. <sigh> :(

Thank you for all the help though.

bassmadrigal 10-19-2020 10:10 AM

Quote:

Originally Posted by gus3 (Post 6176532)
A ten-year-old thread, revived for debugging purposes.

I'm torn among :rolleyes: "oh, please", :thumbsup: "yeah!", and :D "of course; next question?".

It's been a thread that gets revived most every winter (at least the winters for the northern hemisphere). Probably better here and keeping all the information consolidated rather than spread throughout the forum.

And when it was revived this last time, the last post was in January of this year, so relatively recent compared to the overall age of the thread.

wvermin 10-19-2020 10:49 AM

Quote:

Originally Posted by FTIO (Post 6176547)
Ah well, I guess it's just another of those Good Things that I'll have to simply have in my memory of the good times. <sigh> :(

Thank you for all the help though.

Ok, but I was not satisfied. I hacked somewhat more, please check out
https://www.ratrabbit.nl/ratrabbit/c...xsnow/download
for version 3.1.2~pre1

Pls, let me know if this works for you. It runs flawlessly on my virtual slackware 14.2/plasma

Willem

wvermin 10-20-2020 11:05 AM

Quote:

Originally Posted by gus3 (Post 6176532)
A ten-year-old thread, revived for debugging purposes.

I'm torn among :rolleyes: "oh, please", :thumbsup: "yeah!", and :D "of course; next question?".

Hi, thanks for your constructive comment. It really helps a lot.

gus3 10-20-2020 08:23 PM

Quote:

Originally Posted by wvermin (Post 6177107)
Hi, thanks for your constructive comment. It really helps a lot.

I wasn't complaining at all. It was more like, "oh dear God, if I ever release a bit of widely-used software, how wacky will my life become?"

And trust me, I found out yesterday just how wacky software QA can be. A bug report I tossed into the internet cloud, like a message in a bottle, came full circle back to me half a week later, with lots of other names attached to it.

I can't find it in Perlis's "Epigrams", but there's a saying about programming computers that goes, "If you release it, someday you'll have to fix it." And it looks like this simple "xsnow" program is the latest proof of it.

wvermin 10-21-2020 03:32 AM

Quote:

Originally Posted by gus3 (Post 6177238)
I wasn't complaining at all. It was more like, "oh dear God, if I ever release a bit of widely-used software, how wacky will my life become?"

And trust me, I found out yesterday just how wacky software QA can be. A bug report I tossed into the internet cloud, like a message in a bottle, came full circle back to me half a week later, with lots of other names attached to it.

I can't find it in Perlis's "Epigrams", but there's a saying about programming computers that goes, "If you release it, someday you'll have to fix it." And it looks like this simple "xsnow" program is the latest proof of it.

Ok, thanks for explanation. Xsnow originated from 1982, written by Rick Jansen, and was running happily on desktops that use the root window as window to place icons and background in like FVWM.
In modern desktop environments xsnow was still running, but invisible. After my retirement and after a communication with Rick, I decided to correct this.
And, because computer programming is my hobby without being an expert, I upgraded xsnow with more visuals and a gui. Now xsnow is using GTK for painting whenever possible,
using a click-through transparent window.
The last addendum, inspired by this forum, is that xsnow now checks if the GTK version is high enough to run the gui. If not, the gui is not run, which should be no problem for command-line adepts.
I had a look at the possibility to downgrade the gui to version 3.18, but that seems, even for me, too much work.

wvermin 10-21-2020 07:37 AM

Quote:

Originally Posted by FTIO (Post 6176547)
Ah well, I guess it's just another of those Good Things that I'll have to simply have in my memory of the good times. <sigh> :(

Thank you for all the help though.

On https://www.ratrabbit.nl/ratrabbit/c...xsnow/download version 3.1.2 is available now.
It should compile and run on slackware-14.2

cwizardone 10-21-2020 09:51 AM

Quote:

Originally Posted by wvermin (Post 6177299)
Ok, thanks for explanation. Xsnow originated from 1982, written by Rick Jansen, and was running happily on desktops that use the root window as window to place icons and background in like FVWM.
In modern desktop environments xsnow was still running, but invisible. After my retirement and after a communication with Rick, I decided to correct this.
And, because computer programming is my hobby without being an expert, I upgraded xsnow with more visuals and a gui. Now xsnow is using GTK for painting whenever possible,
using a click-through transparent window.
The last addendum, inspired by this forum, is that xsnow now checks if the GTK version is high enough to run the gui. If not, the gui is not run, which should be no problem for command-line adepts.
I had a look at the possibility to downgrade the gui to version 3.18, but that seems, even for me, too much work.

All greatly appreciated!
Thank you for your fine work.
:)

FTIO 10-21-2020 06:32 PM

Quote:

Originally Posted by wvermin (Post 6177366)
On https://www.ratrabbit.nl/ratrabbit/c...xsnow/download version 3.1.2 is available now.
It should compile and run on slackware-14.2

That worked!! I have to use it without the gtk menu, but that's fine, I'll read the man page for all the things I need to know to make the proper changes in the ~xsnow.rc file.

Thank you very much for working on this!! It's a wonderful feeling seeing it once again on my system...the memories it brought back were really great! Again, thank you so much for all your hard work on this!

wvermin 10-22-2020 07:11 AM

Quote:

Originally Posted by FTIO (Post 6177537)
That worked!! I have to use it without the gtk menu, but that's fine, I'll read the man page for all the things I need to know to make the proper changes in the ~xsnow.rc file.

Thank you very much for working on this!! It's a wonderful feeling seeing it once again on my system...the memories it brought back were really great! Again, thank you so much for all your hard work on this!

Thanks for your reaction. Just curious: are the birds flying?

kgha 10-22-2020 07:59 AM

Quote:

Originally Posted by wvermin (Post 6177672)
Just curious: are the birds flying?

Birds are flying! Great addition!

FTIO 10-22-2020 09:36 AM

Yes, there were birds. 3 flocks, it looks like and they eventually are flying toward Santa and hanging around him and the reindeer and sled, heh.

FTIO 10-22-2020 11:22 AM

A question...since I don't have the graphical 'menu', is there a way I can configure things so that I can still have a *BETTER* choice of the Santa pixmap (.xpm) I's like to use?

I mean, in my ~.xsnow.rc file, I only get the choice of Santa as 1,2,3 or 4. In the src/Pixmaps directory of xsnow-3.1.2, there's a lot more to choose from, and I'd *really* like to use the BigSantaRudolf81.xpm.

I don't know how to code, but sometimes I can piddle around with a file someone has pointed me to and once in a while get it fixed to do what I want, just by sort of looking at it and the few lines with the word/name/whatever I'm wanting to change (it's actually how I made the one or two Slackware sbo builds for Slackware...convertall and dillo, if I remember right).

In this case, I searched and searched and searched manually for anything in the xsnow-3.1.2 directory to do with 'Santa' and got to thinking maybe it would have to be 'configured' or something. I found Santa in the Santa.c, of course (I know, you programmers are having a laugh at me over that one, heh), and see that it has this starting at line 176:

Code:

  char *path[PIXINANIMATION];
  const char *filenames[] =
  {
      "xsnow/pixmaps/santa1.xpm",
      "xsnow/pixmaps/santa2.xpm",
      "xsnow/pixmaps/santa3.xpm",
      "xsnow/pixmaps/santa4.xpm",

But I can't figure out where to look that gives me, who cannot use a graphic menu because my gtk version is too old, the reason for only having
Code:

Santa <n>
as the choices to use. Nor can I figure out how or why a *number* has to be used in the .xsnow.rc but I can't find a 'number' for just those Santa's...meaning in the Pixmaps directory the Santa's are *all* named *with* a number after, for example BigSantaRudolf81.xpm, AltSanta1.xpm, RegularSanta1, etc. (this is also something that is confoozling me about the *tree* choices...I only get 1 through 7, but in the Pixmaps directory only one of them has a number in the name, the rest are just a name like tannenbaum.xpm or tree.xpm).

Anyway, I hope I'm making sense and hopefully it won't be too difficult to point me where I need to go and maybe even what I might try doing to give non-gui-menu-able folks like me a little more choice to use in the ~.xsnow.rc file.

Whatcha think?

wvermin 10-23-2020 02:44 AM

Quote:

Originally Posted by FTIO (Post 6177763)
A question...since I don't have the graphical 'menu', is there a way I can configure things so that I can still have a *BETTER* choice of the Santa pixmap (.xpm) I's like to use?

I mean, in my ~.xsnow.rc file, I only get the choice of Santa as 1,2,3 or 4. In the src/Pixmaps directory of xsnow-3.1.2, there's a lot more to choose from, and I'd *really* like to use the BigSantaRudolf81.xpm.

I don't know how to code, but sometimes I can piddle around with a file someone has pointed me to and once in a while get it fixed to do what I want, just by sort of looking at it and the few lines with the word/name/whatever I'm wanting to change (it's actually how I made the one or two Slackware sbo builds for Slackware...convertall and dillo, if I remember right).

In this case, I searched and searched and searched manually for anything in the xsnow-3.1.2 directory to do with 'Santa' and got to thinking maybe it would have to be 'configured' or something. I found Santa in the Santa.c, of course (I know, you programmers are having a laugh at me over that one, heh), and see that it has this starting at line 176:

Code:

  char *path[PIXINANIMATION];
  const char *filenames[] =
  {
      "xsnow/pixmaps/santa1.xpm",
      "xsnow/pixmaps/santa2.xpm",
      "xsnow/pixmaps/santa3.xpm",
      "xsnow/pixmaps/santa4.xpm",

But I can't figure out where to look that gives me, who cannot use a graphic menu because my gtk version is too old, the reason for only having
Code:

Santa <n>
as the choices to use. Nor can I figure out how or why a *number* has to be used in the .xsnow.rc but I can't find a 'number' for just those Santa's...meaning in the Pixmaps directory the Santa's are *all* named *with* a number after, for example BigSantaRudolf81.xpm, AltSanta1.xpm, RegularSanta1, etc. (this is also something that is confoozling me about the *tree* choices...I only get 1 through 7, but in the Pixmaps directory only one of them has a number in the name, the rest are just a name like tannenbaum.xpm or tree.xpm).

Anyway, I hope I'm making sense and hopefully it won't be too difficult to point me where I need to go and maybe even what I might try doing to give non-gui-menu-able folks like me a little more choice to use in the ~.xsnow.rc file.

Whatcha think?

Probably you already figured this out: make sure you are running the correct xsnow:
Code:

:=-> xsnow -v
Xsnow running in GTK version: 3.24.20
Xsnow-3.1.2
December 14th 2001 by Rick Jansen
February 2020 by Willem Vermin

(Hm, I see I forgot the change February into October ...)
And that the man page is correctly installed:
Code:

:=-> man xsnow | tail -n 1
xsnow-3.1.2                          2020                            XSNOW(6)

I suggest that you do not fiddle with ~/.xsnowrc (you mention ~/.xsnow.rc, no such file should exist).

Now the answer to your questions:

The program converts file names to numbers, e.g. RegularSanta1.xpm becomes 0, MediumSanta1.xpm becomes 1 etc.
There are 5 Santa's to choose from, numbered 0..4

To get a clean .xsnowrc, run first:
Code:

xsnow -defaults
This should give you Santa nr 3: BigSantaRudolf81.xpm with Rudolph.

To try another Santa:
Code:

xsnow -santa 4
xsnow will remember most of your flags in ~/.xsnowrc

Rudolph can be switched off:
Code:

xsnow -norudolph
Unfortunately, there is no flag to turn Rudolph on again, except the flag -defaults or editing ~/.xsnowrc, I guess I will fix this in a later version.

Trees: more or less the same, try:
Code:

xsnow -treetype 0 -tc red -trees 30
or
xsnow -treetype 1,4 -trees 10
or
xsnow -treetype all

There are 8 treetypes to choose from, numbered 0..7

In your case, not having gtk >=3.20, it is possibly best to replace all xsnow's above with
Code:

xsnow -nomenu
to save a click.

It is all in the man page:
Code:

man xsnow
or
Code:

xsnow -h
Hope this helps,

Willem

wvermin 10-23-2020 02:51 AM

Quote:

Originally Posted by FTIO (Post 6177718)
Yes, there were birds. 3 flocks, it looks like and they eventually are flying toward Santa and hanging around him and the reindeer and sled, heh.

If you want Santa not to be annoyed by birds:
Code:

xsnow -followsanta 0
and if you want to see where the birds are aiming to:
Code:

xsnow -showattr 1

cwizardone 11-05-2020 03:27 PM

1 Attachment(s)
Here is XSnow running on vtown-kde5 with the 5.9.3 kernel,

cwizardone 11-26-2020 08:28 AM

Happy Thanksgiving!
As today is the "official" start of the Holiday Season (in the U.S.) another XSnow screen shot can be found in this post, https://www.linuxquestions.org/quest...ml#post6189023

As you will see, Xsnow is running on Xfce-4.12 and the 5.10-rc5 kernel.

Best Wishes to You and Yours for the Holidays!

Gerard Lally 11-26-2020 12:17 PM

Quote:

Originally Posted by cwizardone (Post 6189024)
Happy Thanksgiving!
As today is the "official" start of the Holiday Season (in the U.S.) another XSnow screen shot can be found in this post, https://www.linuxquestions.org/quest...ml#post6189023

As you will see, Xsnow is running on Xfce-4.12 and the 5.10-rc5 kernel.

Best Wishes to You and Yours for the Holidays!

I have no idea what Thanksgiving is about but same to you anyway!

:hattip:

mlangdn 12-02-2020 03:00 PM

1 Attachment(s)
Xsnow-3.1.5-1 si running fine for me on -current. I am using the deb pkg turned into a txz. My only question is why are there some tiny Xs on the screen? Was something supposed to be there?

jmccue 12-24-2020 07:42 PM

1 Attachment(s)
With social distancing, I at least have this :)

Wish everyone Happy Holidays

cwizardone 12-24-2020 08:06 PM

Many thanks to Mr. Volkerding for adding XSnow to Slackware!
Merry Christmas!
:)
Quote:

Fri Dec 25 00:52:08 UTC 2020........
xap/xsnow-3.1.9-x86_64-1.txz: Added.
Merry Christmas / Happy Holidays! :-)

Paulo2 12-24-2020 08:10 PM

News for the Xsnow users :)
Code:

Fri Dec 25 00:52:08 UTC 2020
...
xap/xgames-0.3-x86_64-6.txz:  Rebuilt.
  Fixed spider failing to build from source with gcc10.
  Removed the ancient version of xsnow.
...
xap/xsnow-3.1.9-x86_64-1.txz:  Added.
  Merry Christmas / Happy Holidays! :-)


edit- cwizardone beat me to it

truepatriot76 12-24-2020 09:07 PM

Quote:

Originally Posted by cwizardone (Post 6199722)
Many thanks to Mr. Volkerding for adding XSnow to Slackware!
Merry Christmas!
:)

Nice Christmas present from Pat to those of us who don't have snow (I miss it TBH)

gp.d 12-27-2020 08:02 AM

xsnow on the kde desktop - its really great !!!

Thanks for this amazing os that slackware is...

kind regards

cwizardone 12-28-2020 09:20 AM

Mr. Volkerding was kind enough to update Xsnow yesterday.

Quote:

Sun Dec 27 22:52:10 UTC 2020
......
xap/xsnow-3.2.0-x86_64-1.txz: Upgraded.......


All times are GMT -5. The time now is 12:17 PM.