Jump to content


Photo

Windows 10 & BBZero - Wallpaper Workarounds


  • Please log in to reply
5 replies to this topic

#1 ph34rb0t

ph34rb0t

    Member

  • Members
  • PipPip
  • 23 posts

Posted 04 August 2015 - 05:53 PM

1. Bsetroot and batch files

 

This workaround has been made for Mojmir's BBZero RC6 on Windows 10 Pro x64. YMMV with other configurations.

 

While running BBZero as a replacement shell on Win 10, I could not get Windows to display any wallpapers. I can not use a computer without a wallaper slideshow, so I've created a workaround. Setting wallpapers with Bsetroot still works, so I'm using this as the basis to issue a periodic command to renew the wallpaper.

 

  • There's a main script (Wallpaper.bat) that will create a list of files in a specified folder (including subfolders) and then randomly pick an item from it every n seconds. The time interval can be specified by the user.
  • Theres a .vbs script (Invisible.vbs) that will launch the main script without any command window as to not interfere with your BBZero experience.
  • There's another batch script (RunWallpaper.bat) that will launch said VBS and main scripts.
  • Killing the process can be achieved (in a limited environment!) with "KillWallpaper.bat".
  • Finally, there's a script to convert Wallpapers to your screen width with IrfanView for improved display quality via BSetroot

 
Installation:
1. Extract and copy the "Wallpaper" folder into your BBLean folder.
 
2. Edit "Wallpaper.bat"
- Adapt the path to a wallpaper folder for the WPDIR variable. Subfolders are supported. I do not endorse paths with spaces in them!
- Change the path to your BBZero folder. Again: No spaces in paths, please.
- Set the change time to a time interval you prefer (Leave it at 10 (seconds) or so for testing purposes!)

- If you get image artifacts, decrease the "scaling=" value.
 
 
Usage:
a ) Testing
1. Run Wallpaper.bat
2. You should see your wallpaper change at the interval specified in Wallpaper.bat.
 
b ) Session
1. Double-click RunWallpaper.bat
2. You should see your wallpaper change at the interval specified in Wallpaper.bat, but without a command line window.
 
c ) Permanent:
1. Find "blackbox.startup.run:" in extensions.rc
2. Add

wscript.exe "[path to your bbzero folder]wallpaperInvisible.vbs" "[path to your bbzero folder]wallpaperWallpaper.bat"

e.g.

blackbox.startup.run: wscript.exe "c:bbzerowallpaperInvisible.vbs" "c:bbzerowallpaperWallpaper.bat"

3. Log off and log back in to see the changes
 
 
Killing the process can be achieved in a number of ways depending on the usage mode.
When running in "testing mode": Cancel the batch script processing with CTRL+C and "Y". Easy, clean, no questions asked.
When running in "session" or "permanent" modes: Make sure that you do not have another instance of cmd.exe running and then run "KillWallpaper.bat".
Or simply terminate the cmd.exe process via task manager.
 
Notes:
- If you want to try out different wallpaper folder configurations or timer settings during a session, kill the CMD process, then alter wallpaper.bat and then run either "RunWallpaper.bat" or "Wallpaper.bat" for testing your new settings. Rinse and repeat as desired.
- Likewise, if you want to keep the wallpaper for the rest of the current session, just kill the cmd.exe process.
- The script will refresh the wallpaper list every time when the script is initialized. Initialization time depends on the number of wallpapers in the folder.
- The wallpaper set before logging out is not carried over into the next BBZero session!
- BSetroot only supports one rendering mode. I have set it to "-scale" because it helps with image artifacts.

 

 

Converting wallpapers:

I've added a script to convert your wallpaper folder(s) to your monitor width because whatever BBLean uses for rendering wallpapers does not use any form of resampling. So if you instruct Bsetroot to fill your 1680 px screen with a 1024px image, you will get jagged edges.

 

The script uses XnConvert* to batch process all JPG, JPEG and PNG images in a given folder and any subfolders, blows them up to your screen width while preserving aspect ratio and resamples and dithers them.

It requires nconvert.exe to be present in the "Wallpaper" folder in order to work.

It is imperative to review the settings in the batch file and to do a manual backup of your wallaper folder before you do any editing.

 

 

*http://www.xnview.com/en/xnconvert/

 

 

Have fun and beware of bugs! :)

 

 

 

- Edit:

 

New revision of the batch files.

- Using scaling for wallpapers because it greatly reduces image artifacts

- Switched tool used to convert images from IrfanView to XnConvert

Attached Files


  • pitkon likes this

#2 ph34rb0t

ph34rb0t

    Member

  • Members
  • PipPip
  • 23 posts

Posted 04 August 2015 - 05:54 PM

2. External Tools

 

Wallpaper handling can also be delegated to external tools. Tools I've tested:

Dual Monitor Tool (Freeware): http://dualmonitorto...ourceforge.net/ Wallpaper Master (Freeware): http://jamesgart.com...r/download.html Both run in the background and can change your wallpapers based on a timer. DMT supports multiple monitors, but eats up 15 MB of RAM. WPM's RAM usage depends on the wallpaper currently used, but I haven't seen it go above 5 MB. Drawback: No multi monitor use.


  • pitkon likes this

#3 pitkon

pitkon

    Administrator

  • Head Administrator
  • 1,333 posts
  • LocationAthens & Nafplio, Greece

Posted 04 August 2015 - 06:03 PM

Saved me some hassle moving stuff... Great job!



#4 Xii

Xii

    Newbie

  • Members
  • Pip
  • 2 posts

Posted 04 August 2015 - 07:20 PM

Great tips guys, thank you. I have been using bsetroot also. I wish there was an equivalent of nitrogen (linux application) for setting this stuff.



#5 ph34rb0t

ph34rb0t

    Member

  • Members
  • PipPip
  • 23 posts

Posted 04 August 2015 - 09:53 PM

Updated the first post with a new revision of the scripts. Let's hope that it's the last one. :)



#6 ph34rb0t

ph34rb0t

    Member

  • Members
  • PipPip
  • 23 posts

Posted 05 August 2015 - 05:27 PM

After some hours of doing nothing related to writing and checking batch files ot Blackbox-internal stuff, I'm happy to say that my wallpaper switcher works like a charm.


  • pitkon likes this




0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users