Development
The code
has been refactored on several occasions to make readability easier on notebooks and smaller height screens. Release 1.5.02, even with its new added features and script, was more compact and around 500 lines shorter. And release 1.7.01 is even more so... 🚀
Editing
When making clones of the repo to your local machine, you can easily run any new version of qqX directly from the working folder.
The normal installer script should have been run first and qqX should be already setup. When you then click on and run the qqX script from a clone or download folder, or via open-in-terminal and use of ./qqX
, the local script will pick up the main settings file at $HOME/.qqX
and automatically locate all your installed VMs.
Clones from the old TuxVinyards
repo should continue to link but it is best to open a terminal in the clone folder and use the following to reset the origin:
# show config
git config --get remote.origin.url
# >
# https://github.com/TuxVinyards/gh.scripts.git
# set to new
git remote set-url origin "https://github.com/qqxproject/qqX.git"
Helper script
Release 1.7 added a development script to qqX.system. Use 'qqX_copy_over' to easily update desktop installed versions of qqX with modified scripts and settings from your source folder. Edit the script to where your source is ...
This script is needed for working on mouse click desktop functions. If you copy this file onto your actual desktop, you can easily switch workspaces and run it when needed. You can also use it to optionally update your installed settings file.
1.8 adds a copy over for the builtins so that mouse started actions will pick up this code too.
Testing
Changes to the Quickget Mods file are fairly easy to check: Open a terminal from inside the FreeSpirit built-in folder. Type ./quickget --full-check distroname
eg:
qqX.builtins/freespirit$ ./quickget --version
FS 4.9.8.06
qqX.builtins/freespirit$ ./quickget --full-check opensuse
Checksum: PASS Iso: PASS opensuse-leap-Gnome https://download.opensuse.org/distribution/openSUSE-current/live/openSUSE-Leap-15.6-GNOME-Live-x86_64-Media.iso 585cf7cfe23454324ff188b95c01bdcb26e7dd3dc139389cfe8e8b0705c3e089
Checksum: PASS Iso: PASS opensuse-leap-KDE https://download.opensuse.org/distribution/openSUSE-current/live/openSUSE-Leap-15.6-KDE-Live-x86_64-Media.iso 8b386e4fc04b6921b35302464b4f60ca2a8835f8a40b749b7e8eb995625c793f
Checksum: PASS Iso: PASS opensuse-leap-XFCE https://download.opensuse.org/distribution/openSUSE-current/live/openSUSE-Leap-15.6-XFCE-Live-x86_64-Media.iso 5fa12124b87b36de79323d2a53c63087d1b87b9f58afc404bb656c0b14a64581
Checksum: PASS Iso: PASS opensuse-leap-Rescue https://download.opensuse.org/distribution/openSUSE-current/live/openSUSE-Leap-15.6-Rescue-CD-x86_64-Media.iso 4d6cb3b937af3c44f3e10e097b38fe390bf07f576062f1059188e84dd3ee9462
Checksum: PASS Iso: PASS opensuse-leap-micro-current https://download.opensuse.org/distribution/leap-micro-current/product/iso/openSUSE-Leap-6.1-x86_64-Current.iso 0fb4f6d628563c63443ffb4dd2e42e6d45f0a7f9e6e6f2611e1208717cbb26be
Checksum: PASS Iso: PASS opensuse-slowroll-DVD https://download.opensuse.org/slowroll/iso/openSUSE-Slowroll-DVD-x86_64-Build33.3-Media.iso a2fe4344f459f5d9b02e43c991ba82e0d6fbaf139e9754a015ce0ebe23dcfe4b
Checksum: PASS Iso: PASS opensuse-tumbleweed-DVD https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-DVD-x86_64-Current.iso a251a3a044ead89481410865307a6e8373c36921cd800a369f942f2bf9df8d71
Checksum: PASS Iso: PASS opensuse-tumbleweed-Gnome https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-GNOME-Live-x86_64-Current.iso 34f6131af8795304f3410335671a2f7b4f12a76adf1b802d90a7f274d346059f
Checksum: PASS Iso: PASS opensuse-tumbleweed-KDE https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-KDE-Live-x86_64-Current.iso 6a3da08a14f3df1fcc66da6249f87c97355914e7c447e38dadaf8e6897a519b2
Checksum: PASS Iso: PASS opensuse-tumbleweed-XFCE https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-XFCE-Live-x86_64-Current.iso 37183f2249cca0caf85fec6f109d5b0377cbfecb74b7a6c7684ccd01ce49bb40
Checksum: PASS Iso: PASS opensuse-tumbleweed-Rescue https://download.opensuse.org/tumbleweed/iso/openSUSE-Tumbleweed-Rescue-CD-x86_64-Current.iso 2f34739867111ec8259ee5c704c664bb71ad88db62fc4d115801ab89f10cc820
On the other hand, any fundamental changes to qqX itself will need installing and checking on several different distros and desktops. Simple changes need only be tested on the host machine.
qqX has several layers of backup and fail safe, however do snapshot and/or backup.
Roadmap 1.9
- In menu hot-swap of code base
- In menu select to boot from ISO, instead of virtual hard drive
- Add Windows languages quickget options
- Add screen ratio WxH option (FreeSpirit)
- Improve restart of partial downloads
- Fix 4.9.5 changes to some Distro Pages not showing
Roadmap 1.13
-
Sorting out and refining the new Quickget Mods script
-
Making sure that every links ups to the new website and that the website is working
Roadmap 1.14
-
Windows WSL Hosting ?
-
A flatpak ?
Future
Conversion between gnome boxes and other libVirt based Qemu VM's and quickemu is possibly on the the todo list
Explore Mac Hosting, if possible ??
@HikariKnight has expressed interest in getting quickpassthrough integrated
Code editor
We all have our favourite editors, the tools that we are used to. But while any basic text editor can be used to view the code, something like 'VS Code' is recommended, if only for the fact that it has Shellcheck as an optional builtin.
For users of KDE, the improved capabilities of KATE are worth a mention, especially as this can now also run shellcheck.
https://github.com/vscode-shellcheck/vscode-shellcheck
Line Space:
In VS code configs, the use of "editor.lineHeight": 1.6
can help replicate more how general users might see code. Gnome Text editor adds a lot of space between lines. But this is not the case with all editors, for example 'Pluma', so no greater than 1.5 or 1.6 max, to avoid giving overly compacted views to others.
Other useful VS Code extensions:
https://marketplace.visualstudio.com/items?itemName=jannek-aalto.shell-function-outline
https://marketplace.visualstudio.com/items?itemName=AiryShift.spaces-inside-braces