Open steven2024 opened 2 weeks ago
I'm glad to inform you that I've made the xfce-winxp-tc installer available on GitHub. You can find it here. I've tested it and everything is working as expected. If you encounter any issues or have further questions about its usage, please don't hesitate to reach out!
Here's an image showcasing how the script (python and shell) runs aswell as what the UI looks like.
Best regards, steven2024 (Nash)
I had a brief skim so far, will have to try it out properly later...
A few notes:
bash
by default, so probably needs to be POSIX shell script to launch from? You can test with a shell like dash
for this I think :thinking: /usr/bin/bash
or /usr/bin/sh
might not work on some targets, I think I had this problem on FreeBSD - /usr/bin/env sh
should be the most compatible shebang/base/logonui
:+1: I'll have a proper play around this evening hopefully! It would be useful at least to get some form of basic install working to test out automating the steps, so your work on this should be a good start.
I still have some work to do on getting it working with other distros as I've only currently tested it and made it for/with Debian. I'll look into the FreeBSD and bash issue and the LightDM greeter that you've done. I just implemented WelcomeXP as thats what I've used with this before. I was just using a shell script to make it easier to launch and install python/pygtk automatically. I believe I still have work to do on that (getting the dependencies (python/pygtk) installed automatically) on different distros since the commands are different.
Also..
I'm currently in the process of installing Windows XP 32-bit to look at its interface design as well as the installer and OOBE. This will help me accurately replicate its look and feel for the project. I'll keep you updated if I make any progress on the UI.
When I said everything is working as expected, that's not really the case. I haven't checked yet if everything functions correctly (I haven't tried applying it), but what I meant was that the installation of everything completed successfully. I still need to work on automatically applying nody-greeter, lightdm, and all the panels/themes/etc. instead of requiring the user to go through menus and commands to apply them after installation.
No worries about the distro/shell stuff - I just thought I'd give you the heads up to save you the trouble of retreading the same paths I've been down in the past! :grin:
I'm currently in the process of installing Windows XP 32-bit to look at its interface design as well as the installer and OOBE. This will help me accurately replicate its look and feel for the project. I'll keep you updated if I make any progress on the UI.
You should be able to find the resources for setup on the XP install media:
X:\I386\SYSTEM32\SSMS.EXE
- text mode setup resourcesX:\I386\WINNTBBU.DL_
- obv use cabextract
to expand the image, this has the graphical mode setup resourcesYeah, I looked into pulling resources from the install ISO earlier. Thanks for telling me how to go about doing that. I feel like I should focus on automating the install stuff first so that's why I mentioned I have some work to do for that. Before I work on that I'll look at implementing an XP-esque UI (Not working on the OOBE yet lol).
Silly me, I forgot to clear everything that gets copied from git in the python script 😛
FYI as well, I tend to find it quicker to create the UIs using a GtkBuilder
, so you can define the UI in XML.
Progress on the UI :) And music
https://github.com/rozniak/xfce-winxp-tc/assets/89735533/716f225f-a0e7-4b21-821d-7b06ff100290
I have made some progress on the Windows XP OOBE theme installer UI and music implementation. Below are the details of the updates: UI Updates:
Background Image:
The UI now displays a background image that matches the Windows XP out-of-box experience (OOBE) theme.
The image is loaded and displayed correctly within the fixed container of the GTK window.
Next Button:
Added a "Next" button with a clickable image (continue.png).
The button is accompanied by a label "Next" with an underlined 'N' positioned to the left of the button, using the Tahoma font with white text.
The button is positioned at the bottom right corner of the window.
Label and Button Alignment:
The label and button are aligned horizontally within an HBox, ensuring a clean and organized layout.
Coordinates and placements have been carefully adjusted for accurate positioning within the window.
Event Handling:
Clicking the "Next" button changes the background image to simulate the progression of steps in a setup wizard and the text is integrated into the background (I will change this later so I can update/edit/add more text).
Music Updates:
VLC Integration:
A VLC media player instance has been created and initialized to play the music file (Isk3k3.mp3).
The music starts playing automatically when the window is initialized, providing an auditory component to the experience.
Playback Control:
The music file path is correctly specified, and playback is controlled to start automatically, enhancing the overall nostalgic experience.
Preview:
You can check the progress in this video: UI and Music Progress Next Steps:
Further refine the UI elements to match the exact Windows XP OOBE theme.
Implement additional functionality and navigation logic for subsequent steps.
Implement actual text labels instead of integrating them into the background for easier updating.
That's pretty cool!
I think in future the project will use GStreamer for audio/video playback - wondering if you can use that rather than VLC?
Some more info on pulling resources, I'm not sure what part might be giving you trouble so this just general coverage:
Obv you can either poke around an existing Windows XP install, or use the install media. Thing to bear in mind with the install media is the files like .DL_
are compressed, so you must either use expand
(if you're on Windows) or cabextract
(on Linux/BSD) to get the original file out.
On Windows there are a number of good resource editors/viewers, I use this one: http://melander.dk/reseditor/
Main reason is because it has better support for some 32bpp bitmaps in Windows resources and lets you save them out as PNGs without losing any data.
You can use 7zip to extract resources as well, tho some of it will just be the raw binary data structures so you'd need to parse those somehow. Bitmaps/icons should be easy enough, though 32bpp bitmaps can be a pain with modern image editors (GIMP doesn't support them properly for instance).
For the OOBE resources, it's HTML based - so no need to do any sort of resource extraction. All the HTML/images are separate, which also means it's probably easier to grab them from an actual Windows XP install rather than trying to find all the files in the CD. Most of what you'll want is in C:\Windows\System32\oobe\images
Hope this helps!
Yeah I figured that out yesterday from a video about title.wma after I sent that email as it mentioned where to find the OOBE music and it had all the other resources. My XP installer kept hanging so I'll try a different ISO. I'll look into using gstreamer as that shouldn't be too difficult. I'll let you know when I get the new UI implemented with the other code (I did it seperately which probably isn't a great idea but it made it easier to change it so I'll look into GtkBuilder)
This issue aligns with the goals discussed in issue #81 regarding enhancing user accessibility to the complete "total conversion" experience offered by this repository.
I am currently working on developing a PyGTK-based GUI program to automate the installation process of the winxp-xfce-tc theme on Linux systems. This aims to simplify the installation steps involved, which currently require manual compilation and package installation.
Current Progress
The current UI of the PyGTK program is simple and user-friendly. It features a main window titled "Windows XP Theme Installer" with a straightforward layout. You can click a button to install the WinXP-XFCE-TC theme and optionally check a box to install the WelcomeXP theme. Below these controls, a status label provides real-time updates on the installation process, keeping you informed of progress and any issues that arise. Overall, the design focuses on ease of use, guiding you through the installation process with clear, concise interactions.
Currently, the user interface (UI) for the installation wizard doesn't resemble Windows XP at all. However, once I streamline the auto-installation process, I plan to overhaul the UI to be accurate to the Windows XP OOBE. This will include redesigning the overall layout to closely mirror the classic Windows XP installation experience.
The PyGTK program is designed to:
Future Plans
Once the auto-installation process for winxp-xfce-tc is streamlined:
Next Steps