diff --git a/Plus/README.MD b/Plus/README.MD index 0997ffc..da51985 100644 --- a/Plus/README.MD +++ b/Plus/README.MD @@ -1,6 +1,10 @@ # Chicago95 Plus! #### Windows Plus! Theme Conversion for XFCE/Chicago95 +

+Chicago95 Plus! +

+ Is Chicago95 not authentic enough for you? Do you want to use Microsoft Plus! themes to personalize your Chicago95 experience? Well look no further! Download any Windows 95, 98, ME or XP theme file (from places like themeworld.com or archive.org) and use this tool to switch to your new theme! @@ -14,11 +18,137 @@ Currently supports: * Sounds * Wallpapers (installed to `/home/$USER/Pictures`) -Sounds are installed assuming you have XFCE sounds enabled per the Chicago95 Install instructions. +Two ways to install themes: GUI and CLI: -To use Chicago95 Plus! on Xubuntu you need to install the following: `python3-svgwrite` `python3-fonttools` `inkscape`: `sudo apt install python3-svgwrite python3-fonttools inkscape` +## Chicago95 Plus! GUI -By default Chicago95 Plus! creates the theme in your working folder and copies the files to their required location then automatically changes the current theme to the new theme, just like Windows! +Designed to look very familiar you can pick and choose exactly which theme options you'd like to install. It also supports all theme previews. To use simply execute from the Plus folder `./PlusGUI.py` and you'll be presented with this: + +

+Chicago95 Plus! +

+ +Click the file chooser and select a Microsoft Windows `.theme` (this example uses the Complete friends theme available here: https://archive.org/details/winfiles_cmfriend_202005) + +

+Chicago95 Plus! +

+ +Clicking on the *Screen Saver* will give you a demo of the themes screensaver (assuming you have `wine` installed). + +

+Chicago95 Plus! Screensaver Preview +

+ +Clicks on *Pointers, Sounds, etc...* gives you a new window allowing you to preview the themes cursors, sounds and icons. + +Cursor Preview: + +

+Chicago95 Plus! Cursor Preview +

+ +Sound Preview: + +

+Chicago95 Plus! Sound Preview +

+ +Icon Preview: + +

+Chicago95 Plus! Cursor Preview +

+ +Once you've picked a theme you like press *Accept* to automatically install the theme or *OK* to automatically install the theme and exit. +

+Chicago95 Plus! Installed Preview +

+ +You can enable verbose output by enabling debug mode by passing the argument `--debug` to the script. + +You can also pass a `.theme` file to the script to generate the preview instead of having to select the file manually. + +Multiple other command line options exist: + +``` +usage: PlusGUI.py [options] [MS Theme File] + +Chicago95 Plus! + +positional arguments: + theme_file Microsoft Windows 95/98/ME .theme file (default: + False) + +optional arguments: + -h, --help show this help message and exit + -d, --debug Print lots of debugging statements (default: 30) + -v, --verbose Be verbose (default: None) + -c COLORS, --colors COLORS + How many colors before skipping Inkscape fix/merge for + SVGs. Set to 1 to speed up conversion. WARNING: This + may result in transparent icons! (default: 32) + -o OVERLAP, --overlap OVERLAP + Pixel overlap for SVG icons (default: 1) + -s SQUARESIZE, --squaresize SQUARESIZE + Square size for SVG icons (default: 20) + --cursorfolder CURSORFOLDER + Chicago95 cursor folder to convert to new theme + (default: /home/phil/.icons/Chicago95_Cursor_Black) + --themefolder THEMEFOLDER + Chicago95 theme folder to convert to new theme + (default: /home/phil/.themes/Chicago95) + --iconsfolder ICONSFOLDER + Chicago95 icons folder to convert to new theme + (default: /home/phil/.icons/Chicago95) + --installdir INSTALLDIR + Folder to create new theme in, default is current + working directory (default: /home/phil/Chicago95/Plus) + --logfile LOGFILE Filename for debug logging (default: + chicago95_plus.log) + +Part of the Chicago95 theme project + +``` + + +Notes: + +* Sounds are installed assuming you have XFCE sounds enabled per the Chicago95 Install instructions. +* To use Chicago95 Plus! on Xubuntu you need to install the following: `python3-svgwrite` `python3-fonttools` `inkscape`: `sudo apt install python3-svgwrite python3-fonttools inkscape` +* By default Chicago95 Plus! creates the theme in your working folder and copies the files to their required location then automatically changes the current theme to the new theme, just like Windows! +* When you click accept it will freeze while it installs the theme, occasionally Inkscape will open (to remove icon transperencies), you may have to wait a few minutes for the theme to install. Run in debug mode to see whats going on behind the scenes. + +### Examples: + +

+Chicago95 Plus! Example +

+ +

+Chicago95 Plus! Example +

+ +

+Chicago95 Plus! Example +

+ +

+Chicago95 Plus! Example +

+ +

+Chicago95 Plus! Example +

+ +

+Chicago95 Plus! Example +

+ + +## Chicago95 Plus! CLI + +Works like any command line tool. Requires a microsoft `.theme` file. By default it will install the theme. If you want to get more out Chicago95 Plus! it supports multiple options: @@ -94,9 +224,8 @@ Part of the Chicago95 theme project ``` -Here are two examples of themes built using Chicago95 Plus! - -![Tiberian Sun](Chicago95_theme_1.png) - -![FRIENDS](Chicago95_theme_2.png) +Notes: +* Sounds are installed assuming you have XFCE sounds enabled per the Chicago95 Install instructions. +* To use Chicago95 Plus! on Xubuntu you need to install the following: `python3-svgwrite` `python3-fonttools` `inkscape`: `sudo apt install python3-svgwrite python3-fonttools inkscape` +* By default Chicago95 Plus! creates the theme in your working folder and copies the files to their required location then automatically changes the current theme to the new theme, just like Windows! diff --git a/Plus/demo/demo_01.png b/Plus/demo/demo_01.png new file mode 100644 index 0000000..4d73ab3 Binary files /dev/null and b/Plus/demo/demo_01.png differ diff --git a/Plus/demo/demo_02.png b/Plus/demo/demo_02.png new file mode 100644 index 0000000..1113321 Binary files /dev/null and b/Plus/demo/demo_02.png differ diff --git a/Plus/demo/demo_03_cursor_preview.gif b/Plus/demo/demo_03_cursor_preview.gif new file mode 100644 index 0000000..9842d3d Binary files /dev/null and b/Plus/demo/demo_03_cursor_preview.gif differ diff --git a/Plus/demo/demo_04_preview_sounds.png b/Plus/demo/demo_04_preview_sounds.png new file mode 100644 index 0000000..36480ad Binary files /dev/null and b/Plus/demo/demo_04_preview_sounds.png differ diff --git a/Plus/demo/demo_05_preview_icons.png b/Plus/demo/demo_05_preview_icons.png new file mode 100644 index 0000000..7ac93c0 Binary files /dev/null and b/Plus/demo/demo_05_preview_icons.png differ diff --git a/Plus/demo/demo_06.png b/Plus/demo/demo_06.png new file mode 100644 index 0000000..a40603d Binary files /dev/null and b/Plus/demo/demo_06.png differ diff --git a/Plus/demo/demo_07.png b/Plus/demo/demo_07.png new file mode 100644 index 0000000..4ea63a3 Binary files /dev/null and b/Plus/demo/demo_07.png differ diff --git a/Plus/demo/demo_08.png b/Plus/demo/demo_08.png new file mode 100644 index 0000000..86a3aae Binary files /dev/null and b/Plus/demo/demo_08.png differ diff --git a/Plus/demo/demo_09.png b/Plus/demo/demo_09.png new file mode 100644 index 0000000..c922113 Binary files /dev/null and b/Plus/demo/demo_09.png differ diff --git a/Plus/demo/demo_10.png b/Plus/demo/demo_10.png new file mode 100644 index 0000000..abf46d6 Binary files /dev/null and b/Plus/demo/demo_10.png differ diff --git a/Plus/demo/demo_11.png b/Plus/demo/demo_11.png new file mode 100644 index 0000000..60aac82 Binary files /dev/null and b/Plus/demo/demo_11.png differ diff --git a/Plus/demo/demo_12.png b/Plus/demo/demo_12.png new file mode 100644 index 0000000..e8fff7b Binary files /dev/null and b/Plus/demo/demo_12.png differ diff --git a/Plus/demo/demo_13_screensaver.png b/Plus/demo/demo_13_screensaver.png new file mode 100644 index 0000000..16d3e34 Binary files /dev/null and b/Plus/demo/demo_13_screensaver.png differ diff --git a/Plus/pluslib.py b/Plus/pluslib.py index 97a54e7..8023aff 100644 --- a/Plus/pluslib.py +++ b/Plus/pluslib.py @@ -245,6 +245,9 @@ class ChicagoPlus: 'screensaver': scr, 'all_files': self.theme_files } + if logging.getLogger(__name__).getEffectiveLevel() == logging.DEBUG: + self.logger.debug("Printing current theme config") + self.print_theme_config() def generate_theme(self, cursors=True, icons=True, wallpaper=True, sounds=True, colors=True, fonts=True, screensaver=True): @@ -323,8 +326,10 @@ class ChicagoPlus: self.logger.debug("Path to theme: {}, theme file name: {}".format(self.path_to_theme, self.theme_file_name)) if "Program Files/Plus!/Themes/".lower() in self.path_to_theme.lower(): paths = self.splitall(self.path_to_theme) - self.path_to_theme = ('/'.join(paths[0:-4])) + "/" + + if self.path_to_theme[0:2] == "//": + self.path_to_theme = self.path_to_theme[1:] self.logger.debug("Path to theme: {}, theme file name: {}".format(self.path_to_theme, self.theme_file_name)) self.logger.debug("New theme folder: {}".format(self.new_theme_folder)) @@ -2911,14 +2916,25 @@ class ChicagoPlus: # image-style 3 == Streched self.logger.info("Enabling New Wallpaper") if self.theme_config['wallpaper']['theme_wallpaper'] and self.theme_config['wallpaper']['theme_wallpaper']['new_filename']: - self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/last-image', str(Path.home()) + "/Pictures/" + self.theme_config['wallpaper']['theme_wallpaper']['new_filename']) + try: + # If we're using a VM the wallpaper is different + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/last-image', str(Path.home()) + "/Pictures/" + self.theme_config['wallpaper']['theme_wallpaper']['new_filename']) - if self.theme_config['wallpaper']['theme_wallpaper']['tilewallpaper']: - self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/image-style', "2") - elif self.theme_config['wallpaper']['theme_wallpaper']['wallpaperstyle'] == 2: - self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/image-style', "3") - else: - self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/image-style', "4") + if self.theme_config['wallpaper']['theme_wallpaper']['tilewallpaper']: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/image-style', "2") + elif self.theme_config['wallpaper']['theme_wallpaper']['wallpaperstyle'] == 2: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/image-style', "3") + else: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/image-style', "4") + except: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitorVirtual1/workspace0/last-image', str(Path.home()) + "/Pictures/" + self.theme_config['wallpaper']['theme_wallpaper']['new_filename']) + + if self.theme_config['wallpaper']['theme_wallpaper']['tilewallpaper']: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitor0/workspace0/image-style', "2") + elif self.theme_config['wallpaper']['theme_wallpaper']['wallpaperstyle'] == 2: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitor0/workspace0/image-style', "3") + else: + self.xfconf_query('xfce4-desktop', '/backdrop/screen0/monitor0/workspace0/image-style', "4") else: self.logger.debug("Wallpaper failed to install") diff --git a/README.md b/README.md index 1d83134..1e302dd 100644 --- a/README.md +++ b/README.md @@ -12,6 +12,7 @@ Included in this theme: - New icons to complete the icon theme started with Classic95 - Edited Redmond XFWM theme to more accurately reflect Windows 95 - Edited Xfce-Redmond by dbbolton to be more accurate and include XFCE panels +- Chicago95 Plus! A tool to preview and install Windows 95/98/ME/XP themes - Created GTK-3.0 theme from scratch (based on Win 10 and Mate themes) - Plymouth theme created from scratch - An MS-DOS inspired theme for oh-my-zsh @@ -30,6 +31,9 @@ A Window compositor ## Install the system theme [Click here](INSTALL.md) for install steps. +## Install a Microsoft Windows Plus! theme +[Click here](plus/README.MD) for installing custom themes. + ## Install the Plymouth boot splash theme [Click here](Plymouth/Readme.md) for install steps.