This commit is contained in:
zenobit 2023-04-02 12:47:27 +02:00
parent 7f9a85e1f7
commit 2a6f75b1f5
85 changed files with 1914 additions and 329 deletions

View File

@ -29,6 +29,7 @@ Licensed under AGPL3
# Still Beta version!
<details>
<summary>Click for screenshot</summary>
<img src="https://github.com/oSoWoSo/DistroHopper/blob/dev/docs/distrohopper.png">
![supported Operating systems](docs/distrohopper.png)
</details>

5
dh
View File

@ -28,7 +28,7 @@ do
echo "$MSG_IMPROVE"
echo "$MSG_KNOW"
echo ""
echo "$MSG_FLAWLESS"
echo "$MSQ_FLAWLESS"
echo " zenobit"
}
@ -398,7 +398,7 @@ EOF
if [ "$os" = windows ]; then
tui_windows
else
tui_get_releases_and_editions
quickget_get_releases_and_editions
fzf_choose_release
if [ "$(echo "$choices" | wc -l)" = 1 ]; then
quickget_download_os_release
@ -672,6 +672,7 @@ EOF
shift
;;
l|language)
ttt="dh"
TOOL_distrohopper_translate
shift
;;

View File

@ -35,12 +35,12 @@ MSG_H_TUI="Spuštění uživatelského rozhraní terminálu (TUI)"
MSG_CHAT="Chatovací skupina na SimpleX: https://tinyurl.com/7hm4kcjx"
MSG_ICONS="vytvoření adresáře s ikonami jako root..."
MSG_IMPROVE="Co lze zlepšit, přidat, změnit?"
MSG_INSTALLING="Instalace programu DistroHopper..."
MSG_INSTALLING="Instalace DistroHopperu..."
MSG_INVALID="Neplatná možnost:"
MSG_KNOW=" Dejte mi vědět..."
MSG_LANG_CODE="Pokud chcete vytvořit nový, vložte dvoumístný kód jazyka..."
MSG_LANG_CHANGE="Která jazyková změna? (cs/cs)"
MSG_LANG="Zvolený jazyk je:"
MSG_LETMEKNOW=" Dejte mi vědět..."
MSG_LIKE="Jak se vám líbí DistroHopper?"
MSG_MERG="Sloučení změn... (Udělejte si to sami)"
MSG_MODE="Přepnutí do přenosného režimu!"

View File

@ -37,10 +37,10 @@ MSG_ICONS="Icons-Verzeichnis als Root erstellen..."
MSG_IMPROVE="Was kann verbessert, hinzugefügt, verändert werden?"
MSG_INSTALLING="Installation von DistroHopper..."
MSG_INVALID="Ungültige Option:"
MSG_KNOW=" Sag mir Bescheid..."
MSG_LANG_CODE="Wenn Sie einen neuen erstellen möchten, geben Sie den zweistelligen Sprachcode ein..."
MSG_LANG="Die gewählte Sprache ist:"
MSG_LANG_CHANGE="Welche Sprache wechseln? (en/cs)"
MSG_LETMEKNOW=" Sag mir Bescheid..."
MSG_LIKE="Wie gefällt Ihnen DistroHopper?"
MSG_MERG="Zusammenführen von Änderungen... (Do it yourself)"
MSG_MODE="Umschalten auf portablen Modus!"
@ -63,7 +63,7 @@ MSG_S_CHOOSED=" Starte %s..."
MSG_S_INSTALL="Start der Installation..."
MSG_SORTING="Sortierfunktionen in der Vorlage..."
MSG_STRUCTURE="Verzeichnisstruktur erstellen..."
MSG_U_READY="Aktualisieren von fertigen VMs..."
MSG_U_READY="Aktualisierung der fertigen VMs..."
MSG_U_SUPPORTED="Aktualisieren unterstützter VMs..."
MSG_VM="Desktop-Eintrag erstellen..."
MSG_YAD="Ich vermisse Yad!"

View File

@ -37,16 +37,16 @@ MSG_ICONS="creating icons dir as root..."
MSG_IMPROVE="What can be improved, added, changed?"
MSG_INSTALLING="Installing DistroHopper..."
MSG_INVALID="Invalid option:"
MSG_KNOW=" Let me know..."
MSG_LANG_CODE="If you want create new one, insert two digit language code..."
MSG_LANG_CHANGE="Which language change? (en/cs)"
MSG_LANG="Choosed language is:"
MSG_LETMEKNOW=" Let me know..."
MSG_LIKE="How do you like DistroHopper?"
MSG_MERG="Merging changes... (Do it yourself)"
MSG_MODE="Switching to portable mode!"
MSG_MO="Generating .mo file..."
MSG_NEEDED="Installing needed..."
MSG_NEW=" Do you want to create a new VM? (c)"
MSG_NEW=" Do you want to create a new VM?"
MSG_NO_CONF="No .conf files found"
MSG_NO_DISTROERROR="I currently don't have support for your distro"
MSG_NO="No argumet provided!"

71
lang/en.cfgZ Normal file
View File

@ -0,0 +1,71 @@
MSG_ADD_STARTED="Adding new distro started..."
MSG_BUGS="PS: You saw some bugs?"
MSG_C_DESKTOP="Copying desktop entries and locales..."
MSG_C_ENTRY="Copying desktop entry..."
MSG_C_ICONS="Copying icons..."
MSG_C_ISOS="Copying ISOs to dir. It will take some time..."
MSG_C_LANG="Do you want copy translation to system? (y/n)"
MSG_C_TRANS="Copying translation..."
MSG_D_INTERM="Do you want DistroHopper to run in the terminal? (y/n)"
MSG_DIR="creating config dir..."
MSG_D_LANG=" Trying to download Windows %s %s..."
MSG_DONE="Done"
MSG_D_OS=" Trying to download %s %s..."
MSG_D_RELEASE=" Trying to download %s %s %s..."
MSG_DUMP="Dumping language source..."
MSG_ERROR="Error"
MSG_FEEDBACK="Could you please provide feedback?"
MSG_FZF="Missing fzf!"
MSG_H_ADD=" a add Add new distro to quickget"
MSG_H_COPY=" c copy Copy all ISOs to target dir (for Ventoy)"
MSG_H_DIR=" d dir Set default directory where VMs are stored"
MSG_H_FIRST=" example for First run from terminal:"
MSG_H_GUI=" g gui Run graphical user interface (GUI)"
MSG_H_HELP=" h help Show this help and exit"
MSG_H_INSTALL=" i install Install DistroHopper"
MSG_H_LANG=" l language Translate DistroHopper"
MSG_H_MODE=" m mode Portable mode"
MSG_HOMEPAGE="Homepage: dh.osowoso.xyz"
MSG_HOSTED="Project hosted at: https://github.com/oSoWoSo/DistroHopper"
MSG_H_PUSH=" p push Push changed quickget to quickemu project"
MSG_H_READY=" r ready Update ready to run VMs"
MSG_H_SORT=" f functions Sort functions in quickget"
MSG_H_SUPPORTED=" s supported Update supported VMs"
MSG_H_TUI=" t tui Run terminal user interface (TUI)"
MSG_CHAT="Chat group on SimpleX: https://tinyurl.com/7hm4kcjx"
MSG_ICONS="creating icons dir as root..."
MSG_IMPROVE="What can be improved, added, changed?"
MSG_INSTALLING="Installing DistroHopper..."
MSG_INVALID="Invalid option:"
MSG_LANG_CODE="If you want create new one, insert two digit language code..."
MSG_LANG_CHANGE="Which language change? (en/cs)"
MSG_LANG="Choosed language is:"
MSG_LETMEKNOW=" Let me know..."
MSG_LIKE="How do you like DistroHopper?"
MSG_MERG="Merging changes... (Do it yourself)"
MSG_MODE="Switching to portable mode!"
MSG_MO="Generating .mo file..."
MSG_NEEDED="Installing needed..."
MSG_NEW=" Do you want to create a new VM? (c)"
MSG_NO_CONF="No .conf files found"
MSG_NO_DISTROERROR="I currently don't have support for your distro"
MSG_NO="No argumet provided!"
MSG_NO_VM="No VMs found."
MSG_OR_RUN=" or run an existing one? (press anything)"
MSG_PREPARED=" Prepared VMs:-------------"
MSG_PUSHING="Pushing changes to..."
MSG_Q_INTERM="Do you want quickget to show outputs in the terminal? (y/n)"
MSG_R_TUI="Running DistroHopper TUI..."
MSG_RUNNING="DistroHopper is running... Press Ctrl-Q anytime to exit."
MSG_SETTINGUP="Setting up directory..."
MSG_S_GUI="Starting DistroHopper GUI..."
MSG_S_CHOOSED=" Starting %s..."
MSG_S_INSTALL="Starting installation..."
MSG_SORTING="Sorting functions in template..."
MSG_STRUCTURE="Creating directory structure..."
MSG_U_READY="Updating ready VMs..."
MSG_U_SUPPORTED="Updating supported VMs..."
MSG_VM="Creating desktop entry..."
MSG_YAD="Missing yad!"
MSQ_ARGUMENTS="Possible arguments:"
MSQ_FLAWLESS="Wish you flawless distro hopping..."

View File

@ -37,10 +37,10 @@ MSG_ICONS="création d'un répertoire d'icônes en tant que racine..."
MSG_IMPROVE="Qu'est-ce qui peut être amélioré, ajouté, modifié ?"
MSG_INSTALLING="Installation de DistroHopper..."
MSG_INVALID="Option non valide :"
MSG_KNOW=" Tenez-moi au courant."
MSG_LANG_CODE="Si vous souhaitez en créer un nouveau, insérez un code de langue à deux chiffres..."
MSG_LANG_CHANGE="Quel changement de langue ? (en/cs)"
MSG_LANG="La langue choisie est :"
MSG_LETMEKNOW=" Tenez-moi au courant."
MSG_LIKE="Que pensez-vous de DistroHopper ?"
MSG_MERG="Fusionner les changements... (Faites-le vous-même)"
MSG_MODE="Passer en mode portable !"

91
new_translate_function Normal file
View File

@ -0,0 +1,91 @@
function TOOL_distrohopper_translate() {
# Shell options
shopt -s progcomp
shopt -u dirspell progcomp_alias
_sort_strings() {
# RM duplicate strings from an array and sorts them alphabetically
# Usage: _sort_strings "$@" (array of strings)
# Returns: $sorted_strings (array)
local string strings
declare -A strings
for string in "${@}"; do
[[ $string ]] && IFS=" " strings["${string:- }"]=1
done
# shellcheck disable=SC2207
IFS=$'\n' sorted_strings=($(sort <<< "${!strings[*]}"))
unset IFS
}
_clean_cfg_files() {
# RM duplicates lines and sorts them alphabetically
# Usage: _clean_cfg_files "$@" (array of files)
local file
for file in "$@"; do
mapfile -t strings < "$file"
_sort_strings "${strings[@]}"
printf "%s\n" "${sorted_strings[@]}" > "$file"
done
}
_get_strings_from_cfg() {
# Grabs strings from CFG files
# Usage: _get_strings_from_cfg "$@" (array of files)
# Returns: $<language_code>_strings $cfg_list (arrays)
local file name
for file in "$@"; do
name=${file##*/}; name="${name/.cfg/_strings}"
mapfile -t "$name" < "$file"
[[ $name != en_strings ]] && cfg_list+=("$name")
done
}
_get_string_data() {
# Grabs string name and string value
# Returns: $data (array)
IFS=$'\n' read -d "" -ra data <<< "${1//=/$'\n'}"
data[1]=${data[1]//\"}
unset IFS
}
_translate_string() {
# Usage: _translate_string "string" "language code"
# Returns: $translated (string)
translated="$(curl -s https://api-free.deepl.com/v2/translate \
-d auth_key=f1414922-db81-5454-67bd-9608cdca44b3:fx \
-d "text=$1" -d "target_lang=${2^^}" \
| grep -o '"text":"[^"]*' | grep -o '[^"]*$')"
}
_translate_and_add_missing_strings_into_cfg() {
# Translates then write missing strings from base language
# into the various translation files (from $cfg_list)
local line language trad_strings
for line in "${en_strings[@]:?}"; do
_get_string_data "$line"
for language in "${cfg_list[@]}"; do
declare -n trad_strings="$language"
if [[ "${trad_strings[*]}" != *"${data[0]}="* ]]; then
_translate_string "${data[1]}" "${language/_strings}"
[[ -n $translated ]] && line="${data[0]}=\"${translated}\""
[[ -n $translated ]] && note="translated" || note="original"
trad_strings+=("$line"); file="${language/_strings/.cfg}"
printf "%s\n" "${trad_strings[@]}" > "lang/$file"
echo "=> ${data[0]} (${note}) added into $file"
fi
done
done
}
# Run ZMB Translate
if [[ $ttt == dh ]]; then
echo "Running ZMB translate (this could take a while)..."
_clean_cfg_files lang/*.cfg
_get_strings_from_cfg lang/*.cfg
_translate_and_add_missing_strings_into_cfg
_clean_cfg_files lang/*.cfg
[[ $note ]] && echo "==> done" || echo "==> nothing to translate"
else
echo "ERROR: you must specify 'dh' as argument"
fi
}

853
quickemu-tools Executable file
View File

@ -0,0 +1,853 @@
#! /bin/bash
## Copyright (c) Alex Genovese https://github.com/TuxVinyards
# licence: GPL3 https://www.gnu.org/licenses
## Provides a set of qcow snapshot & msr tools to work with quickemu
# https://github.com/quickemu-project/quickemu https://gitlab.com/qemu-project/qemu
# Users should install 'quickemu' and may set up Virtual Machines as normal.
## Install by placing script in /usr/bin (ensure chmod +x)
# Run by opening a terminal in the VM folder and typing:
# quickemu-tools --vm "file.conf"
## Based on 'quickemu-mod' https://github.com/TuxVinyards/quickemu-mod
# but, as having run time mods & hypervisor recipes removed, this 'tools' version
# now disengages it from having to keep track of the main project ...
# In theory, further disengagement could be achieved by routing straight 'qemu-img'
# But as this should work with any version of the original 'quickemu'
# the quickemu methods have been left, so any future add-ons might be possible. REVIEW
## Any snippets re-used from https://github.com/quickemu-project/quickemu
# are used to make the two projects work together easily & are used mainly
# for the benefit of the original project.
# Original snippets may be subject the original MIT licence.
# The 'tools' project, as separate script, is covered by GPL3
# even it it becomes adopted by the original project.
# IF ANY 'MODDED' CODE BECOMES USED IN THE ORIGINAL QUICKEMU SCRIPTS,
# OR ANY OTHER SIMILAR PROJECT, YOU SHOULD SHOW BOTH OF THE LICENCES
# & SHOW CLEAR ATTRIBUTIONS TO THE CODE SECTIONS USED.
QtoolsVersion="2023.03.28"
## API --vm "file.conf" [ --path "path/folder" ]
# where path to be used if .conf file not in current folder / present working directory
## SETTINGS
# General color & theming
X_Shade="3"
# Yellow 3 (recommended), Blue 4, Cyan 6 (brighter blue), Red 1
# https://en.wikipedia.org/wiki/ANSI_escape_code#8-bit
# File for default KVM behaviour for unhandled machine-specific registers. ( REVIEW )
# Edit here if your OS locates 'modprobe.d' differently. Default is "/etc/modprobe.d/kvm-quickemu.conf"
KVM_MSR_ModProbeFile="/etc/modprobe.d/kvm-quickemu.conf"
CurrentFolder="$(pwd)"
## Make sure shell is set during session to decimal separator of dot
# LC_ALL=C changes too much, just set the numeric.
# See locale setting discussion: https://unix.stackexchange.com/a/149129
# Also https://unix.stackexchange.com/questions/62316/why-is-there-no-euro-english-locale?rq=1
# & http://www.unicode.org/L2/L2001/01102-POSIX15897.htm
export "LC_NUMERIC=C"
export "LC_COLLATE=C"
## MOD Standard Quickemu checks for '< 4' which at 2022/3 now needs a bump.
# Some ver 5 script is now present in the standard release too ...
# More Version 5 style scripting should be used:
# See http://mywiki.wooledge.org/BashGuide/Practices#Choose_Your_Shell
if ((BASH_VERSINFO[0] < 5)); then
echo "Sorry, you need Bash 5.0 or newer to run this script."
exit 1
fi
LAUNCHER="$(basename "$0")"
if [[ ! $(type -p quickemu) ]]; then
echo "ERROR! QuickEmu not found. Please install."
exit 1
fi
# TODO add 'guestfs-tools' & an interface for 'virt-resize'
printColor () {
tput setaf "$X_Shade"
# shellcheck disable=SC2059
printf "$@"
tput sgr0
}
exit () {
# trap to keep terminal open if started by mouse click -t secs
printf "\n\n"
if [[ ! $CLI ]] && [[ $1 ]]; then
printColor " ERROR : [Enter] to quit or [h] to hold terminal open \n\n"
read -rp " > " -t 30 ExitTrap
fi
[[ ! $CLI ]] && [[ $ExitTrap == "h" ]] && printf "\n\n Holding terminal open [Enter] to quit \n\n" && read -rp " > "
tput cnorm
command exit "$@"
}
function_find_kvm_msr_default_and_status () {
# outputs boths vars 'KVM_MSR_DefaultConf' & 'KVM_MSR_status' with value Y or N
# finds and flags if MSRS has a config conflict
KVM_MSR_status="$(cat /sys/module/kvm/parameters/ignore_msrs)"
[[ ! $KVM_MSR_ModProbeFile ]] && KVM_MSR_ModProbeFile="/etc/modprobe.d/kvm-quickemu.conf"
KVM_MSR_DefaultConf="$(cat "$KVM_MSR_ModProbeFile" 2> /dev/null)"
[[ "$KVM_MSR_DefaultConf" == *'=Y' ]] && KVM_MSR_default="Y"
[[ "$KVM_MSR_DefaultConf" == *'=N' ]] || [[ ! -e "$KVM_MSR_ModProbeFile" ]] && KVM_MSR_default="N"
if [[ $VM_InstanceName ]]; then
if [[ "$VM_InstanceName" == *windows* ]] || [[ "$VM_InstanceName" == *macos* ]] ; then
if [[ $KVM_MSR_status == "N" ]]; then KVM_MSR_Error=1 ; else KVM_MSR_Error= ; fi
elif [[ "$VM_InstanceName" != *windows* ]] && [[ "$VM_InstanceName" != *macos* ]] ; then
if [[ $KVM_MSR_status == "Y" ]]; then KVM_MSR_Error=1 ; else KVM_MSR_Error= ; fi
else
KVM_MSR_Error=
fi
fi
}
print_kvm_status () {
function_find_kvm_msr_default_and_status
if [[ $KVM_MSR_status == "Y" ]] ; then
printf "\n\n KVM: /sys/module/kvm/parameters/ignore_msrs = Y"
[[ $VM_InstanceName ]] && [[ $KVM_MSR_Error ]] && printColor " ERROR "
printf "\n"
else
printf "\n\n KVM: /sys/module/kvm/parameters/ignore_msrs = N"
[[ $VM_InstanceName ]] && [[ $KVM_MSR_Error ]] && printColor " ERROR "
printf "\n"
fi
}
toggle_msr_defaults () {
# Modded & now reversible rewrite of original quickemu's function 'ignore_msrs_always'
# https://www.linux-kvm.org/page/Category:Docs
if [[ ! -d /etc/modprobe.d ]]; then
printf "\n ERROR! /etc/modprobe.d was not found. \n\n See notes, it may be possible to manually create modprobe.d/kvm-quickemu.conf \n\n"
else
printColor "\n\n Configure default, boot-up, KVM behaviour "
printf "for unhandled machine-specific registers"
printf "\n\n Normal setting is N (don't ignore) but Windows and MacOS require Y (true) 'ignore' "
function_find_kvm_msr_default_and_status
printColor "\n\n Status: /sys/module/kvm/parameters/ignore_msrs = %s Current Default = %s" "$KVM_MSR_status" "$KVM_MSR_default"
[[ ! $KVM_MSR_ModProbeFile ]] && KVM_MSR_ModProbeFile="/etc/modprobe.d/kvm-quickemu.conf"
if [[ ! -e "$KVM_MSR_ModProbeFile" ]]; then
printf "\n\n \'%s\' needs to be created " "$KVM_MSR_ModProbeFile"
fi
printf "\n\n [y] to set Y [n] to set N [b] to go back \n\n"
read -rp " > " Set_MSR_defaults
# set .conf file content & update initramfs in all kernels (y/n or none)
if [[ $Set_MSR_defaults == "y" ]]; then
printf "\n\n Updating 'initramfs' may take a moment or two ... \n\n"
# As per Martin's solution in original quickemu, needs 'tee' to get this to work,
# but route tee's stdout to null to tidy the screen
echo "options kvm ignore_msrs=Y" | sudo tee "$KVM_MSR_ModProbeFile" 1> /dev/null
sudo update-initramfs -k all -u
elif [[ $Set_MSR_defaults == "n" ]]; then
printf "\n\n Updating 'initramfs' may take a moment or two ... \n\n"
echo "options kvm ignore_msrs=N" | sudo tee "$KVM_MSR_ModProbeFile" 1> /dev/null
sudo update-initramfs -k all -u
fi
fi
[[ $CLI ]] && exit 1
}
show_kvm_sudo_security_note () {
printColor "\n QuickEmu-Tools require 'sudo' permissions to echo true or false to 'ignore_msrs'"
printf "\n\n This allows you to create a temporary MSRS status that may be changed at any time,"
printf "\n\n allowing you to match the selected guest VM that you want to run."
printColor "\n\n\n If you have concerns about this script, or about giving elevated permissions, "
printf "\n\n then the script should be checked or you should issue these commands manually:"
printf "\n\n Open a side terminal, use shift-crtl-c to copy the displayed command & shift-crtl-v to paste it. "
printf "\n\n Elevated permissions will then exist only in the side terminal & cease once it is closed. "
printf "\n\n Return to q-tools & select 'leave as'. Q-Tools will re-read msrs settings & auto-update. "
printColor "\n\n\n If you mainly use Windows or Mac VM's then a file '.../modprobe.d/kvm-quickemu.conf' "
printf "\n\n can be created to modify the load up settings. Quickemu-Tools has a new built in function"
printf "\n\n that can set this up & also allows future adjustments may be made."
printf "\n\n Or it may be carried out manually... See settings, script & further notes for details."
printColor "\n\n\n Status: /sys/module/kvm/parameters/ignore_msrs = %s Current Default = %s" "$KVM_MSR_status" "$KVM_MSR_default"
printf "\n\n Windows or MacOS should be set to 'Y' "
printf "\n"
}
select_msr_config () {
# MSR_offer normally present if MSRS/OS conflict previously detected,
# however, presume selector is being used to change current status REVIEW
print_kvm_status
if [[ $KVM_MSR_status == "Y" ]]; then MSR_offer="N" ; else MSR_offer="Y" ; fi
KVM_MSR_selector=
[[ $KVM_MSR_selector_LoadHelp ]] && show_kvm_sudo_security_note
while true ; do
if [[ $MSR_offer == "Y" ]]; then
printf "\n\n Set Y : echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs ? "
printColor "\n\n [y] to set Y "
printf " [enter] leave as N"
else
printf "\n\n Set N : echo 0 | sudo tee /sys/module/kvm/parameters/ignore_msrs ? "
printColor "\n\n [n] to set N "
printf " [enter] leave as Y"
fi
printf " [d] to set the boot defaults"
[[ $KVM_MSR_selector != "h" ]] || [[ $KVM_MSR_selector_LoadHelp ]] && printf " [h] see help "
printf "\n\n"
read -rp " > " KVM_MSR_selector
printf "\n"
[[ $KVM_MSR_selector == "h" ]] && show_kvm_sudo_security_note
[[ ! $KVM_MSR_selector ]] && break
[[ $KVM_MSR_selector == "y" && $MSR_offer == "N" ]] || [[ $KVM_MSR_selector == "n" && $MSR_offer == "Y" ]] && break
if [[ $KVM_MSR_selector == "y" ]]|| [[ $KVM_MSR_selector == "n" ]]; then
# As per Martin's solution in original quickemu, needs 'tee' to get this to work,
# but route tee's stdout to null to tidy the screen
[[ $KVM_MSR_selector == "y" ]] && echo 1 | sudo tee /sys/module/kvm/parameters/ignore_msrs 1> /dev/null
[[ $KVM_MSR_selector == "n" ]] && echo 0 | sudo tee /sys/module/kvm/parameters/ignore_msrs 1> /dev/null
print_kvm_status
printColor "\n\n [enter] to return \n\n"
read -rp " > "
break
fi
if [[ $KVM_MSR_selector == "d" ]]; then
toggle_msr_defaults
if [[ $Set_MSR_defaults == "b" ]]; then
Set_MSR_defaults=
print_kvm_status
printColor "\n\n Make TEMPORARY setting adjustments to MSRS ?"
else
function_find_kvm_msr_default_and_status
break
fi
fi
done
KVM_MSR_selector=
KVM_MSR_selector_LoadHelp=
}
msrs_conflict_check_resolver() {
# Do a check ...
function_find_kvm_msr_default_and_status
# Display & Offer config settings if MSRS/OS CONFLICT exists
if [[ $KVM_MSR_status == "N" ]] ; then
# usual system default = N
if [[ "$VM_InstanceName" == *windows* ]] || [[ "$VM_InstanceName" == *macos* ]] ; then
printColor "\n\n Selected: %s " "$VM_InstanceName"
printf " 'ignore_msrs' is recommended for Windows and Mac"
#printf "\n\n Status: /sys/module/kvm/parameters/ignore_msrs = N Default = %s" "$KVM_MSR_default"
MSR_offer="Y"
select_msr_config
function_find_kvm_msr_default_and_status
if [[ $KVM_MSR_status == "N" ]]; then KVM_MSR_Error=1 ; else KVM_MSR_Error= ; fi
fi
else
# Status = Y & which is only recommended for Windows & Mac
if [[ "$VM_InstanceName" != *windows* ]] && [[ "$VM_InstanceName" != *macos* ]] ; then
printColor "\n\n Selected: %s " "$VM_InstanceName"
printf " 'ignore_msrs' is only recommended for Windows and Mac"
#printf "\n\n Status: /sys/module/kvm/parameters/ignore_msrs = Y Default = %s" "$KVM_MSR_default"
MSR_offer="N"
select_msr_config
function_find_kvm_msr_default_and_status
if [[ $KVM_MSR_status == "Y" ]]; then KVM_MSR_Error=1 ; else KVM_MSR_Error= ; fi
fi
fi
}
function_conf_error () {
printf "\n\n ERROR Quickemu-Tools Settings, VM folder & conf file(s)"
if [[ $1 ]] ; then printf "\n\n Please check %s settings, location & content ... \n\n" "$1"
else printf "\n\n Please check the settings and re-run this script ... \n\n" ; fi
printColor "\n\n [Enter] for help [q] to quit \n\n"
read -rp " > "
[[ $REPLY == "q" ]] && printf "\n\n" && command exit
show_quickemu_tools_help
command exit
}
function_snapshot_list() {
printf "\n\n"
quickemu -vm "$VM_Conf_File" --snapshot info
}
function show_quickemu_tools_help {
printColor "\n\n QuickEmu-Tools version %s " "$QtoolsVersion"
printColor "\n\n Easy snapshot & MSRS tools for the QuickEmu Project"
printf "\n\n Manage multiple snapshots. Recover Disk Space. "
printf "\n\n Toggle boot-up & temporary MSRS's "
printf "\n\n\n For code contributions, add-ons, info & updates see:"
printf "\n\n https://github.com/TuxVinyards/"
printf "\n\n\n From a terminal: "
printColor "%s --vm \"vm-name.conf\" [ --path \"path/folder\" ] " "$LAUNCHER"
printf "\n\n Add path if working from outside the VM's .conf folder"
printf "\n\n [enter] to return \n\n"
read -rp " > "
}
show_qmod_title() {
printColor "\n\n Quickemu Tools - Version %s" "$QtoolsVersion"
printf "\n\n A menu interfaced tool set for the quickemu project ..... \n\n"
}
function_show_main_menu_header () {
printf "\033c"
show_qmod_title
printColor " %s " "$VM_InstanceName"
printf " @ %s" "$VM_Conf_Dir"
}
## API READ ####################################################################################################
# https://unix.stackexchange.com/questions/220330/hide-and-unhide-cursor-with-tput
tput civis
if [[ ! $1 ]]; then
show_quickemu_tools_help
echo
command exit 1
else
## API --vm "file.conf" [ --path "path/folder" ]
# where path to be used if .conf file not in current folder / present working directory
while [[ $# -gt 0 ]]; do
case "$1" in
-vm|--vm)
VM_Conf_File="$2"
shift
shift ;;
--path|-path)
VM_Conf_Dir="$2"
shift
shift ;;
esac
done
[[ ! $VM_Conf_Dir ]] && VM_Conf_Dir="$CurrentFolder"
[[ ! $VM_Conf_File ]] && function_conf_error "Qtools COMMAND LINE Instruction,"
[[ ! -e "$VM_Conf_Dir/$VM_Conf_File" ]] && function_conf_error "Qtools COMMAND LINE Instruction,"
## Check file/folder exists
[[ ! -d "$VM_Conf_Dir" ]] && function_conf_error "folder"
# change directory to where the VM is
if [[ $CurrentFolder != "$VM_Conf_Dir" ]]; then
! cd "$VM_Conf_Dir" && printColor "\n\n ERROR .conf folder switching \n\n" && exit 1
fi
[[ ! -e "$VM_Conf_File" ]] && function_conf_error ".conf file"
# Quickemu sets the same name to the .conf file and to the main folder
VM_InstanceName="${VM_Conf_File/.conf}"
# VM_QCOW_Dir="$VM_Conf_Dir/$VM_InstanceName"
# check that the dir contains the right files && grep .conf for right content
[[ ! $(ls "$VM_InstanceName"/*.qcow2 2> /dev/null) ]] && function_conf_error "folder"
! grep -q 'guest_os=' "$VM_Conf_File" && function_conf_error ".conf file"
## Check KVM parameter settings & advise according to guest OS
KVM_MSR_selector=
function_find_kvm_msr_default_and_status
#msrs_conflict_check_resolver
fi
printf "\033c"
show_qmod_title
MultiInstanceError="$(pgrep -c 'quickemu-mod')"
if [[ $MultiInstanceError -gt 1 ]]; then
printColor "\n\n ERROR more than one instance of q-tools is running \n\n"
read -rp " Close the other instances, then press [enter] to continue > "
fi
check_instance_runtime() {
# https://www.qemu.org/docs/master/tools/qemu-img.html
InstancePID="$(pgrep "$VM_InstanceName")"
if [[ $InstancePID ]]; then
printColor "\n\n WARNING snapshots operations should NOT be carried out when VM running \n\n"
read -rp " Close down the VM, then press [enter] to continue > "
fi
}
check_instance_runtime
# MAIN MENU (select VM then choose actions to do)
while true ; do
MainMenuChoice=
SnapTitle=
SnapNumber=
SnapName=
function_show_main_menu_header
if [[ ! $MainMenuChoice ]]; then
print_kvm_status
printf "\n\n [m] toggle msrs "
printf "\n\n\n [sl] list [sc] create [sd] delete [sa] apply snapshots "
printf "\n\n\n [h] show help & info "
printf "\n\n [q] quit "
printf "\n\n\n"
read -rp " > " MainMenuChoice
fi
# ACTIONS:
if [[ $MainMenuChoice == "h" ]] ; then
show_quickemu_tools_help
elif [[ $MainMenuChoice == "m" ]] ; then
#KVM_MSR_selector_LoadHelp=1
select_msr_config
#msrs_conflict_check_resolver
elif [[ $MainMenuChoice == "q" ]] ; then
printf "\n\n"
MainMenuChoice=
break
exit
elif [[ $MainMenuChoice == "sl" ]] ; then
check_instance_runtime
function_snapshot_list
printf "\n\n [enter] to return to menu \n\n "
read -rp " > "
elif [[ $MainMenuChoice == "sc" ]] ; then
check_instance_runtime
function_snapshot_list
printColor "\n\n Give [title] or [enter] for date.time [b] back to menu "
SnapTitle=
printf "\n\n"
read -rp " > " SnapTitle
printf "\n\n"
[[ ! $SnapTitle ]] && SnapTitle="$(date +%b%d.%R)"
[[ $SnapTitle != "b" ]] && quickemu -vm "$VM_Conf_File" --snapshot create "$SnapTitle"
printf "\n\n [enter] to return to menu \n\n "
read -rp " > "
elif [[ $MainMenuChoice == "sd" ]] ; then
printColor "\n\n Quickemu-Tools Snapshot Deletion:"
check_instance_runtime
function_snapshot_list
# Create range-selectable array
SnapListString="$(function_snapshot_list | grep '[0-9][0-9]:')"
mapfile -t SnapListArrRaw <<< "$SnapListString"
i=0
printColor "\n\n ID Array Name \n\n"
while [[ "${SnapListArrRaw[$i]}" ]]; do
IFS=' ' read -ra SnapListArrSeparated <<< "${SnapListArrRaw[$i]}"
printf "%2d %2d %s \n" "${SnapListArrSeparated[0]}" "$i" "${SnapListArrSeparated[1]}"
((i+=1))
done
SnapListArrTotal=$((i-1))
printColor "\n\n Give ARRAY number 0 to %s of snapshot or start of snapshot range to delete" "$SnapListArrTotal"
printf "\n\n [enter] to return to main menu "
SnapName=
SnapDeleteStart=
SnapDeleteEnd=
SnapDeleteConfirm=
printf "\n\n"
read -rp " > " SnapDeleteStart
if [[ $SnapDeleteStart ]]; then
printColor "\n\n [enter] for individual snapshot or ARRAY [number] for end of range (inclusive) \n\n"
read -rp " > " SnapDeleteEnd
if [[ $SnapDeleteEnd ]]; then
printf "\n Array Range = %s to %s " "$SnapDeleteStart" "$SnapDeleteEnd"
else
printf "\n Delete = Array entry %s " "$SnapDeleteStart"
SnapDeleteEnd="$SnapDeleteStart"
fi
printColor "\n\n [enter] to continue [b] back to main menu \n\n"
read -rp " > " SnapDeleteConfirm
if [[ $SnapDeleteConfirm == "b" ]]; then
printf "\n\n Deletion schedule has been CANCELLED"
else
SnapDeleteRangeCounter=$SnapDeleteStart
while [[ $SnapDeleteRangeCounter -le $SnapDeleteEnd ]]; do
IFS=' ' read -ra SnapListArrSeparated <<< "${SnapListArrRaw[$SnapDeleteRangeCounter]}"
SnapName="${SnapListArrSeparated[1]}"
if [[ ! $SnapName ]]; then
printColor "\n\n ERROR with SnapShot Array List \n\n"
exit 1
else
printColor "\n\n Deleting SnapShot %2d %2d %s \n\n" "${SnapListArrSeparated[0]}" "$SnapDeleteRangeCounter" "${SnapListArrSeparated[1]}"
quickemu -vm "$VM_Conf_File" --snapshot delete "$SnapName"
fi
((SnapDeleteRangeCounter+=1))
done
fi
printf "\n\n [enter] to return to menu \n\n "
read -rp " > "
fi
elif [[ $MainMenuChoice == "sa" ]] ; then
check_instance_runtime
function_snapshot_list
printColor "\n\n Give number of snapshot to use [enter] to return to menu "
SnapNumber=
printf "\n\n"
read -rp " > " SnapNumber
printf "\n\n"
if [[ $SnapNumber ]]; then
quickemu -vm "$VM_Conf_File" --snapshot apply "$SnapNumber"
printf "\n\n May take a moment .... \n\n"
printColor "\n\n Snapshot %s has been applied. \n\n" "$SnapNumber "
fi
fi
done
# vim:tabstop=2:shiftwidth=2:expandtab
##

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=agarimos
releases=latest
editions=plasma gnome xfce
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "plasma"!"gnome"!"xfce" | xargs -I{} sh -c "./quickget agarimos {}"'
Icon=/home/zen/git/distrohopper/icons/agarimos.png
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "plasma"!"gnome"!"xfce" | xargs -I{} sh -c "./quickget agarimos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=alma
releases=8.6 8.7 9.0 9.1
editions=minimal dvd
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8.6"!"8.7"!"9.0"!"9.1" --field="Edition:CB" "minimal"!"dvd" | xargs -I{} sh -c "./quickget alma {}"'
Icon=/home/zen/git/distrohopper/icons/alma.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8.6"!"8.7"!"9.0"!"9.1" --field="Edition:CB" "minimal"!"dvd" | xargs -I{} sh -c "./quickget alma {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=alpine
releases=3.12 3.13 3.14 3.15 latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "3.12"!"3.13"!"3.14"!"3.15"!"latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget alpine {}"'
Icon=/home/zen/git/distrohopper/icons/alpine.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "3.12"!"3.13"!"3.14"!"3.15"!"latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget alpine {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=android
releases=7.1 8.1 9.0
editions=x86 x86_64
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "7.1"!"8.1"!"9.0" --field="Edition:CB" "x86"!"x86_64" | xargs -I{} sh -c "./quickget android {}"'
Icon=/home/zen/git/distrohopper/icons/android.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "7.1"!"8.1"!"9.0" --field="Edition:CB" "x86"!"x86_64" | xargs -I{} sh -c "./quickget android {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=archcraft
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget archcraft {}"'
Icon=/home/zen/git/distrohopper/icons/archcraft.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget archcraft {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=archlinux
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget archlinux {}"'
Icon=/home/zen/git/distrohopper/icons/archlinux.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget archlinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=arcolinux
releases=v21.09.11 v21.11.05 v22.01.10
editions=large small
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "v21.09.11"!"v21.11.05"!"v22.01.10" --field="Edition:CB" "large"!"small" | xargs -I{} sh -c "./quickget arcolinux {}"'
Icon=/home/zen/git/distrohopper/icons/arcolinux.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "v21.09.11"!"v21.11.05"!"v22.01.10" --field="Edition:CB" "large"!"small" | xargs -I{} sh -c "./quickget arcolinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=batocera
releases=32 33 34
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "32"!"33"!"34" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget batocera {}"'
Icon=/home/zen/git/distrohopper/icons/batocera.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "32"!"33"!"34" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget batocera {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=blendos
releases=23.01
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "23.01" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget blendos {}"'
Icon=/home/zen/git/distrohopper/icons/blendos.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "23.01" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget blendos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=cachyos
releases=latest
editions=kde gnome cli
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "kde"!"gnome"!"cli" | xargs -I{} sh -c "./quickget cachyos {}"'
Icon=/home/zen/git/distrohopper/icons/cachyos.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "kde"!"gnome"!"cli" | xargs -I{} sh -c "./quickget cachyos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=centos-stream
releases=8 9
editions=dvd1 boot
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8"!"9" --field="Edition:CB" "dvd1"!"boot" | xargs -I{} sh -c "./quickget centos-stream {}"'
Icon=/home/zen/git/distrohopper/icons/centos-stream.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8"!"9" --field="Edition:CB" "dvd1"!"boot" | xargs -I{} sh -c "./quickget centos-stream {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=cereus
releases=latest
editions=lxqt xfce
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "lxqt"!"xfce" | xargs -I{} sh -c "./quickget cereus {}"'
Icon=/home/zen/git/distrohopper/icons/cereus.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "lxqt"!"xfce" | xargs -I{} sh -c "./quickget cereus {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=debian
releases=10.0.0 10.1.0 10.2.0 10.3.0 10.4.0 10.5.0 10.6.0 10.7.0 10.8.0 10.9.0 10.10.0 10.11.0 10.12.0 10.13.0 11.0.0 11.1.0 11.2.0 11.3.0 11.4.0 11.5.0 11.6.0
editions=standard cinnamon gnome kde lxde lxqt mate xfce netinst
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "10.0.0"!"10.1.0"!"10.2.0"!"10.3.0"!"10.4.0"!"10.5.0"!"10.6.0"!"10.7.0"!"10.8.0"!"10.9.0"!"10.10.0"!"10.11.0"!"10.12.0"!"10.13.0"!"11.0.0"!"11.1.0"!"11.2.0"!"11.3.0"!"11.4.0"!"11.5.0"!"11.6.0" --field="Edition:CB" "standard"!"cinnamon"!"gnome"!"kde"!"lxde"!"lxqt"!"mate"!"xfce"!"netinst" | xargs -I{} sh -c "./quickget debian {}"'
Icon=/home/zen/git/distrohopper/icons/debian.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "10.0.0"!"10.1.0"!"10.2.0"!"10.3.0"!"10.4.0"!"10.5.0"!"10.6.0"!"10.7.0"!"10.8.0"!"10.9.0"!"10.10.0"!"10.11.0"!"10.12.0"!"10.13.0"!"11.0.0"!"11.1.0"!"11.2.0"!"11.3.0"!"11.4.0"!"11.5.0"!"11.6.0" --field="Edition:CB" "standard"!"cinnamon"!"gnome"!"kde"!"lxde"!"lxqt"!"mate"!"xfce"!"netinst" | xargs -I{} sh -c "./quickget debian {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=deepin
releases=20 20.1 20.2 20.2.1 20.2.2 20.2.3 20.2.4 20.3 20.4 20.5 20.6 20.7
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "20"!"20.1"!"20.2"!"20.2.1"!"20.2.2"!"20.2.3"!"20.2.4"!"20.3"!"20.4"!"20.5"!"20.6"!"20.7" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget deepin {}"'
Icon=/home/zen/git/distrohopper/icons/deepin.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "20"!"20.1"!"20.2"!"20.2.1"!"20.2.2"!"20.2.3"!"20.2.4"!"20.3"!"20.4"!"20.5"!"20.6"!"20.7" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget deepin {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=devuan
releases=beowulf chimaera
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "beowulf"!"chimaera" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget devuan {}"'
Icon=/home/zen/git/distrohopper/icons/devuan.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "beowulf"!"chimaera" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget devuan {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=dietpi
releases=bios uefi
editions=bookworm bookworm-installer bullseye bullseye-installer
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "bios"!"uefi" --field="Edition:CB" "bookworm"!"bookworm-installer"!"bullseye"!"bullseye-installer" | xargs -I{} sh -c "./quickget dietpi {}"'
Icon=/home/zen/git/distrohopper/icons/dietpi.png
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "bios"!"uefi" --field="Edition:CB" "bookworm"!"bookworm-installer"!"bullseye"!"bullseye-installer" | xargs -I{} sh -c "./quickget dietpi {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=dragonflybsd
releases=6.4.0
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "6.4.0" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget dragonflybsd {}"'
Icon=/home/zen/git/distrohopper/icons/dragonflybsd.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "6.4.0"!"6.2.2"!"6.2.1"!"6.0.1"!"6.0.0"!"5.8.3"!"5.8.2"!"5.8.1"!"5.6.3"!"5.8.0"!"5.6.2"!"5.6.1"!"5.6.0"!"5.4.3"!"5.4.2"!"5.4.1"!"5.4.0"!"5.2.2"!"5.2.1"!"5.2.0"!"5.0.2"!"5.0.1"!"5.0.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget dragonflybsd {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=elementary
releases=7.0
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "7.0" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget elementary {}"'
Icon=/home/zen/git/distrohopper/icons/elementary.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "7.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget elementary {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=endeavouros
releases=apollo_22_1 artemis-22_6 artemis_neo_22_7 artemis_neo_22_8 artemis_nova_22_9 atlantis-21_4 atlantis_neo-21_5 cassini_22_12
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "apollo_22_1"!"artemis-22_6"!"artemis_neo_22_7"!"artemis_neo_22_8"!"artemis_nova_22_9"!"atlantis-21_4"!"atlantis_neo-21_5"!"cassini_22_12" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget endeavouros {}"'
Icon=/home/zen/git/distrohopper/icons/endeavouros.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "apollo_22_1"!"artemis-22_6"!"artemis_neo_22_7"!"artemis_neo_22_8"!"artemis_nova_22_9"!"atlantis-21_4"!"atlantis_neo-21_5"!"cassini_22_12" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget endeavouros {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=endless
releases=5.0.0
editions=base en fr pt_BR es
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "5.0.0" --field="Edition:CB" "base"!"en"!"fr"!"pt_BR"!"es" | xargs -I{} sh -c "./quickget endless {}"'
Icon=/home/zen/git/distrohopper/icons/endless.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "5.0.0" --field="Edition:CB" "base"!"en"!"fr"!"pt_BR"!"es" | xargs -I{} sh -c "./quickget endless {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=fedora
releases=33 34 35 36 37
editions=Workstation Cinnamon i3 KDE LXDE LXQt Mate Xfce Silverblue Server
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "33"!"34"!"35"!"36"!"37" --field="Edition:CB" "Workstation"!"Cinnamon"!"i3"!"KDE"!"LXDE"!"LXQt"!"Mate"!"Xfce"!"Silverblue"!"Server" | xargs -I{} sh -c "./quickget fedora {}"'
Icon=/home/zen/git/distrohopper/icons/fedora.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "33"!"34"!"35"!"36"!"37" --field="Edition:CB" "Workstation"!"Cinnamon"!"i3"!"KDE"!"LXDE"!"LXQt"!"Mate"!"Xfce"!"Silverblue"!"Server" | xargs -I{} sh -c "./quickget fedora {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=freebsd
releases=12.3 12.4 13.0 13.1 13.2
editions=disc1 dvd1
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "12.3"!"12.4"!"13.0"!"13.1"!"13.2" --field="Edition:CB" "disc1"!"dvd1" | xargs -I{} sh -c "./quickget freebsd {}"'
Icon=/home/zen/git/distrohopper/icons/freebsd.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "12.3"!"12.4"!"13.0"!"13.1"!"13.2" --field="Edition:CB" "disc1"!"dvd1" | xargs -I{} sh -c "./quickget freebsd {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=freedos
releases=1.2 1.3
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "1.2"!"1.3" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget freedos {}"'
Icon=/home/zen/git/distrohopper/icons/freedos.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "1.2"!"1.3" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget freedos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=fvoid
releases=latest 20230222 20230124 20221021 20220818
editions=lxqt
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest"!"20230222"!"20230124"!"20221021"!"20220818" --field="Edition:CB" "lxqt" | xargs -I{} sh -c "./quickget fvoid {}"'
Icon=/home/zen/git/distrohopper/icons/tux.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest"!"20230222"!"20230124"!"20221021"!"20220818" --field="Edition:CB" "lxqt" | xargs -I{} sh -c "./quickget fvoid {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=gabeeos
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget gabeeos {}"'
Icon=/home/zen/git/distrohopper/icons/gabeeos.png
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget gabeeos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=garuda
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget garuda {}"'
Icon=/home/zen/git/distrohopper/icons/garuda.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget garuda {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=gentoo
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget gentoo {}"'
Icon=/home/zen/git/distrohopper/icons/gentoo.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget gentoo {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ghostbsd
releases=21.10.16 21.11.24 22.01.12
editions=mate xfce
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "21.10.16"!"21.11.24"!"22.01.12" --field="Edition:CB" "mate"!"xfce" | xargs -I{} sh -c "./quickget ghostbsd {}"'
Icon=/home/zen/git/distrohopper/icons/ghostbsd.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "21.10.16"!"21.11.24"!"22.01.12" --field="Edition:CB" "mate"!"xfce" | xargs -I{} sh -c "./quickget ghostbsd {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=haiku
releases=r1beta3 r1beta4
editions=x86_64 x86_gcc2h
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "r1beta3"!"r1beta4" --field="Edition:CB" "x86_64"!"x86_gcc2h" | xargs -I{} sh -c "./quickget haiku {}"'
Icon=/home/zen/git/distrohopper/icons/haiku.png
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "r1beta3"!"r1beta4" --field="Edition:CB" "x86_64"!"x86_gcc2h" | xargs -I{} sh -c "./quickget haiku {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=kali
releases=current kali-weekly
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "current"!"kali-weekly" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget kali {}"'
Icon=/home/zen/git/distrohopper/icons/kali.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "current"!"kali-weekly" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget kali {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=kdeneon
releases=user testing unstable developer
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "user"!"testing"!"unstable"!"developer" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget kdeneon {}"'
Icon=/home/zen/git/distrohopper/icons/kdeneon.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "user"!"testing"!"unstable"!"developer" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget kdeneon {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=kolibrios
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget kolibrios {}"'
Icon=/home/zen/git/distrohopper/icons/kolibrios.png
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget kolibrios {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=kubuntu
releases=16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget kubuntu {}"'
Icon=/home/zen/git/distrohopper/icons/kubuntu.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget kubuntu {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=linuxmint
releases=20.2 20.3 21 21.1
editions=cinnamon mate xfce
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "20.2"!"20.3"!"21"!"21.1" --field="Edition:CB" "cinnamon"!"mate"!"xfce" | xargs -I{} sh -c "./quickget linuxmint {}"'
Icon=/home/zen/git/distrohopper/icons/linuxmint.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "20.2"!"20.3"!"21"!"21.1" --field="Edition:CB" "cinnamon"!"mate"!"xfce" | xargs -I{} sh -c "./quickget linuxmint {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=lmde
releases=5
editions=cinnamon
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "5" --field="Edition:CB" "cinnamon" | xargs -I{} sh -c "./quickget lmde {}"'
Icon=/home/zen/git/distrohopper/icons/lmde.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "5" --field="Edition:CB" "cinnamon" | xargs -I{} sh -c "./quickget lmde {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=lubuntu
releases=16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget lubuntu {}"'
Icon=/home/zen/git/distrohopper/icons/lubuntu.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget lubuntu {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=macos
releases=high-sierra mojave catalina big-sur monterey ventura
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "high-sierra"!"mojave"!"catalina"!"big-sur"!"monterey"!"ventura" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget macos {}"'
Icon=/home/zen/git/distrohopper/icons/macos.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "high-sierra"!"mojave"!"catalina"!"big-sur"!"monterey"!"ventura" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget macos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=mageia
releases=8
editions=Plasma GNOME Xfce
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8" --field="Edition:CB" "Plasma"!"GNOME"!"Xfce" | xargs -I{} sh -c "./quickget mageia {}"'
Icon=/home/zen/git/distrohopper/icons/mageia.png
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8" --field="Edition:CB" "Plasma"!"GNOME"!"Xfce" | xargs -I{} sh -c "./quickget mageia {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=manjaro
releases=xfce gnome kde budgie cinnamon i3 mate
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "xfce"!"gnome"!"kde"!"budgie"!"cinnamon"!"i3"!"mate" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget manjaro {}"'
Icon=/home/zen/git/distrohopper/icons/manjaro.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "xfce"!"gnome"!"kde"!"budgie"!"cinnamon"!"i3"!"mate" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget manjaro {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=miyo
releases=latest 2022 2020 2019 2018 2017 2016
editions=kwin ceres jwm openbox mate
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest"!"2022"!"2020"!"2019"!"2018"!"2017"!"2016" --field="Edition:CB" "kwin"!"ceres"!"jwm"!"openbox"!"mate" | xargs -I{} sh -c "./quickget miyo {}"'
Icon=/home/zen/git/distrohopper/icons/tux.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest"!"2022"!"2020"!"2019"!"2018"!"2017"!"2016" --field="Edition:CB" "kwin"!"ceres"!"jwm"!"openbox"!"mate" | xargs -I{} sh -c "./quickget miyo {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=mxlinux
releases=21.3
editions=Xfce KDE Fluxbox
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "21.3" --field="Edition:CB" "Xfce"!"KDE"!"Fluxbox" | xargs -I{} sh -c "./quickget mxlinux {}"'
Icon=/home/zen/git/distrohopper/icons/mxlinux.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "21.3" --field="Edition:CB" "Xfce"!"KDE"!"Fluxbox" | xargs -I{} sh -c "./quickget mxlinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=netboot
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget netboot {}"'
Icon=/home/zen/git/distrohopper/icons/netboot.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget netboot {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=netbsd
releases=9.0 9.1 9.2 9.3
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "9.0"!"9.1"!"9.2"!"9.3" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget netbsd {}"'
Icon=/home/zen/git/distrohopper/icons/netbsd.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "9.3"!"9.2"!"9.1"!"9.0"!"8.2"!"8.1"!"8.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget netbsd {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=nixos
releases=21.05 21.11 22.05 22.11
editions=gnome plasma5 minimal
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "21.05"!"21.11"!"22.05"!"22.11" --field="Edition:CB" "gnome"!"plasma5"!"minimal" | xargs -I{} sh -c "./quickget nixos {}"'
Icon=/home/zen/git/distrohopper/icons/nixos.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "21.05"!"21.11"!"22.05"!"22.11" --field="Edition:CB" "gnome"!"plasma5"!"minimal" | xargs -I{} sh -c "./quickget nixos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=openbsd
releases=6.8 6.9 7.0 7.1 7.2 7.3
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "6.8"!"6.9"!"7.0"!"7.1"!"7.2"!"7.3" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget openbsd {}"'
Icon=/home/zen/git/distrohopper/icons/openbsd.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "6.8"!"6.9"!"7.0"!"7.1"!"7.2"!"7.3" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget openbsd {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=opensuse
releases=15.0 15.1 15.2 15.3 15.4 microos tumbleweed
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "15.0"!"15.1"!"15.2"!"15.3"!"15.4"!"microos"!"tumbleweed" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget opensuse {}"'
Icon=/home/zen/git/distrohopper/icons/opensuse.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "15.0"!"15.1"!"15.2"!"15.3"!"15.4"!"microos"!"tumbleweed" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget opensuse {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=oraclelinux
releases=7.7 7.8 7.9 8.4 8.5 8.6 9.0
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "7.7"!"7.8"!"7.9"!"8.4"!"8.5"!"8.6"!"9.0" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget oraclelinux {}"'
Icon=/home/zen/git/distrohopper/icons/oraclelinux.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "7.7"!"7.8"!"7.9"!"8.4"!"8.5"!"8.6"!"9.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget oraclelinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=popos
releases=20.04 21.10 22.04
editions=intel nvidia
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "20.04"!"21.10"!"22.04" --field="Edition:CB" "intel"!"nvidia" | xargs -I{} sh -c "./quickget popos {}"'
Icon=/home/zen/git/distrohopper/icons/popos.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "20.04"!"21.10"!"22.04" --field="Edition:CB" "intel"!"nvidia" | xargs -I{} sh -c "./quickget popos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=reactos
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget reactos {}"'
Icon=/home/zen/git/distrohopper/icons/reactos.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget reactos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=rebornos
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget rebornos {}"'
Icon=/home/zen/git/distrohopper/icons/rebornos.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget rebornos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=rockylinux
releases=8.3 8.4 8.5 9.0 9.1
editions=minimal dvd (dvd1 prior to 9.0)
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8.3"!"8.4"!"8.5"!"9.0"!"9.1" --field="Edition:CB" "minimal"!"dvd"!"(dvd1"!"prior"!"to"!"9.0)" | xargs -I{} sh -c "./quickget rockylinux {}"'
Icon=/home/zen/git/distrohopper/icons/rockylinux.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "8.3"!"8.4"!"8.5"!"9.0"!"9.1" --field="Edition:CB" "minimal"!"dvd"!"(dvd1"!"prior"!"to"!"9.0)" | xargs -I{} sh -c "./quickget rockylinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=siduction
releases=latest
editions=kde lxqt nox xfce xorg
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "kde"!"lxqt"!"nox"!"xfce"!"xorg" | xargs -I{} sh -c "./quickget siduction {}"'
Icon=/home/zen/git/distrohopper/icons/siduction.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "latest" --field="Edition:CB" "kde"!"lxqt"!"nox"!"xfce"!"xorg" | xargs -I{} sh -c "./quickget siduction {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=slackware
releases=14.2 15.0
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "14.2"!"15.0" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget slackware {}"'
Icon=/home/zen/git/distrohopper/icons/slackware.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "14.2"!"15.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget slackware {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=slitaz
releases=preferred core core64 loram core-5in1 preinit
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "preferred"!"core"!"core64"!"loram"!"core-5in1"!"preinit" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget slitaz {}"'
Icon=/home/zen/git/distrohopper/icons/slitaz.png
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "preferred"!"core"!"core64"!"loram"!"core-5in1"!"preinit" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget slitaz {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=solus
releases=4.3
editions=Budgie GNOME MATE Plasma
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "4.3" --field="Edition:CB" "Budgie"!"GNOME"!"MATE"!"Plasma" | xargs -I{} sh -c "./quickget solus {}"'
Icon=/home/zen/git/distrohopper/icons/solus.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "4.3" --field="Edition:CB" "Budgie"!"GNOME"!"MATE"!"Plasma" | xargs -I{} sh -c "./quickget solus {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=steamos
releases=4.0
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "4.0" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget steamos {}"'
Icon=/home/zen/git/distrohopper/icons/steamos.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "4.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget steamos {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=tails
releases=stable
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "stable" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget tails {}"'
Icon=/home/zen/git/distrohopper/icons/tails.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "stable" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget tails {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=truenas-core
releases=12.0 13.0
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "12.0"!"13.0" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget truenas-core {}"'
Icon=/home/zen/git/distrohopper/icons/truenas-core.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "12.0"!"13.0" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget truenas-core {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=truenas-scale
releases=22.02 22.12
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "22.02"!"22.12" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget truenas-scale {}"'
Icon=/home/zen/git/distrohopper/icons/truenas-scale.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "22.02"!"22.12" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget truenas-scale {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntu-budgie
releases=18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ubuntu-budgie {}"'
Icon=/home/zen/git/distrohopper/icons/ubuntu-budgie.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntu-budgie {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntu-mate
releases=16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ubuntu-mate {}"'
Icon=/home/zen/git/distrohopper/icons/ubuntu-mate.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntu-mate {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntu-unity
releases=22.10 daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "22.10"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ubuntu-unity {}"'
Icon=/home/zen/git/distrohopper/icons/ubuntu-unity.png
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "22.10"!"23.04"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntu-unity {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntu
releases=14.04 16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "14.04"!"16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ubuntu {}"'
Icon=/home/zen/git/distrohopper/icons/ubuntu.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "14.04"!"16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntu {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -0,0 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntucinnamon
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "23.04"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntucinnamon {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntukylin
releases=16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ubuntukylin {}"'
Icon=/home/zen/git/distrohopper/icons/ubuntukylin.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntukylin {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ubuntustudio
releases=16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ubuntustudio {}"'
Icon=/home/zen/git/distrohopper/icons/ubuntustudio.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ubuntustudio {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=ventoy
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget ventoy {}"'
Icon=/home/zen/git/distrohopper/icons/ventoy.png
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget ventoy {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=void
releases=current 20221001 20210316 20210930 20210218 20191109 20190526 20190217 20181111 20171007 20170825 20170220
editions=base base-musl cinnamon cinnamon-musl enlightenment enlightenment-musl gnome gnome-musl lxde lxde-musl lxqt lxqt-musl mate mate-musl xfce xfce-musl
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "current"!"20221001"!"20210316"!"20210930"!"20210218"!"20191109"!"20190526"!"20190217"!"20181111"!"20171007"!"20170825"!"20170220" --field="Edition:CB" "base"!"base-musl"!"cinnamon"!"cinnamon-musl"!"enlightenment"!"enlightenment-musl"!"gnome"!"gnome-musl"!"lxde"!"lxde-musl"!"lxqt"!"lxqt-musl"!"mate"!"mate-musl"!"xfce"!"xfce-musl" | xargs -I{} sh -c "./quickget void {}"'
Icon=/home/zen/git/distrohopper/icons/void.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "current"!"20221001"!"20210316"!"20210930"!"20210218"!"20191109"!"20190526"!"20190217"!"20181111"!"20171007"!"20170825"!"20170220" --field="Edition:CB" "base"!"base-musl"!"cinnamon"!"cinnamon-musl"!"enlightenment"!"enlightenment-musl"!"gnome"!"gnome-musl"!"lxde"!"lxde-musl"!"lxqt"!"lxqt-musl"!"mate"!"mate-musl"!"xfce"!"xfce-musl" | xargs -I{} sh -c "./quickget void {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=voidpup
releases=latest
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "latest" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget voidpup {}"'
Icon=/home/zen/git/distrohopper/icons/voidpup.png
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "latest" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget voidpup {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=vxlinux
releases=7.0 6.1.2 6.1 5.0 4.2 4.1 4.0.
editions=lxqt kde
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "7.0"!"6.1.2"!"6.1"!"5.0"!"4.2"!"4.1"!"4.0." --field="Edition:CB" "lxqt"!"kde" | xargs -I{} sh -c "./quickget vxlinux {}"'
Icon=/home/zen/git/distrohopper/icons/vxlinux.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "7.0"!"6.1.2"!"6.1"!"5.0"!"4.2"!"4.1"!"4.0." --field="Edition:CB" "lxqt"!"kde" | xargs -I{} sh -c "./quickget vxlinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=windows
releases=8 10 11
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "8"!"10"!"11" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget windows {}"'
Icon=/home/zen/git/distrohopper/icons/windows.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "8"!"10"!"11" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget windows {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=xerolinux
releases=kde
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "kde" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget xerolinux {}"'
Icon=/home/zen/git/distrohopper/icons/xerolinux.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "kde" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget xerolinux {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,9 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=xubuntu
releases=16.04 18.04 20.04 22.04 22.10 jammy-daily daily-live daily-canary
replace="!"
Exec=sh -c 'cd "/home/zen/git/distrohopper" && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d"|" -f1 | xargs -I{} sh -c "./quickget xubuntu {}"'
Icon=/home/zen/git/distrohopper/icons/xubuntu.svg
GenericName=
Comment=
Exec=xterm-256color -e sh -c 'cd /home/zen/git/distrohopper && yad --form --field="Release:CB" "16.04"!"18.04"!"20.04"!"22.04"!"22.10"!"23.04"!"jammy-daily"!"daily-live"!"daily-canary" | cut -d\' | \' -f1 | xargs -I{} sh -c "./quickget xubuntu {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

View File

@ -1,10 +1,16 @@
[Desktop Entry]
Version=0.77b
Type=Application
Name=zorin
releases=16
editions=core64 lite64 education64 edulite64
replace="!"
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "16" --field="Edition:CB" "core64"!"lite64"!"education64"!"edulite64" | xargs -I{} sh -c "./quickget zorin {}"'
Icon=/home/zen/git/distrohopper/icons/zorin.svg
GenericName=
Comment=
Exec=sh -c 'cd /home/zen/git/distrohopper && yad --form --separator=" " --field="Release:CB" "16" --field="Edition:CB" "core64"!"lite64"!"education64"!"edulite64" | xargs -I{} sh -c "./quickget zorin {}";/usr/bin/fish'
Icon=hop
Terminal=
X-MultipleArgs=
Type=Application
Categories=System;Virtualization;
StartupNotify=
MimeType=
Keywords=

44
yadtest.sh Executable file
View File

@ -0,0 +1,44 @@
#!/bin/bash
# Define function for Yad dialog box
function show_dialog {
yad --title="DistroHopper" \
--text="Please select an option:" \
--button="Help:1" \
--button="Choose VM directory:2" \
--button="Install:3" \
--button="Portable mode:4" \
--button="Update supported VMs:5" \
--button="Update ready VMs:6" \
--button="Run TUI:7" \
--button="Start GUI:8" \
--button="Add new distro:9" \
--button="Sort functions:10" \
--button="Push changes:11" \
--button="Copy ISOs:12" \
--button="Translate:13" \
--button="Run new TUI:14"
}
# Call Yad function and store result in $button
button=$(show_dialog)
# Parse $button and execute corresponding function
case $button in
1) help_show ;;
2) virtual_machines_directory_choose ;;
3) echo $"Starting installation..." ; installation_process ;;
4) echo $"Switching to portable mode!" ; work_in_current_dir ;;
5) echo $"Updating supported VMs..." ; virtual_machines_update_supported ;;
6) echo $"Updating ready VMs..." ; virtual_machines_update_ready ;;
7) echo $"Running DistroHopper TUI..." ; distrohopper_run_tui ;;
8) echo $"Starting DistroHopper GUI..." ; distrohopper_run_gui ;;
9) echo $"Adding new distro started..." ; add_distro ;;
10) echo $"Sorting functions in template..." ; TOOL_sort_functions_in_quickget ;;
11) echo $"Pushing changes to... #TODO" ; push_changes ;;
12) echo $"Copying ISOs to dir. It will take some time..." ; TOOL_copy_ISOs_to_dir ;;
13) TOOL_translate ;;
14) run_tui_new ;;
*) echo $"No option selected." ;;
esac

25
yadtest2.sh Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
key=$((RANDOM % 9000 + 1000))
yad --plug="$key" --tabnum=1 --monitor --icons --borders=0 --icon-size=46 --item-width=76 --form --no-buttons --text-align=center \
--field="Help!!Show this help and exit":fbtn "$HELP" \
--field="Set VMs Directory:2!!Set default directory where VMs are stored":fbtn "$DIR" \
--field="!Enter new language string" "${lang:-$lang}" \
--field="Install DistroHopper:3!!Install DistroHopper":fbtn "$INSTALL" \
--field="Portable mode:4!Portable mode":fbtn "$MODE" \
--field="Supported!!Update supported VMs":fbtn "$SUPPORTED" \
--field="Ready!!Update ready to run VMs":fbtn "$READY" \
--field="Tui!!Run terminal user interface (TUI)":fbtn "$TUI" \
--field="Add!!Add new distro to quickget":fbtn "$ADD" \
--field="Sort!!Sort functions in quickget":fbtn "$SORT" \
--field="Push!!Push changed quickget to quickemu project #todo":fbtn "$PUSH" \
--field="Copy!!Copy all ISOs to target dir (for Ventoy)":fbtn "$COPY" \
--field="Translate DistroHopper!!Translate DistroHopper":fbtn "$TRANSLATE" \
--field="Test!!Work in Progress":fbtn "$TEST" \
--field="ne!!XXX":fbtn "$NEXT" \
--button="Exit":0 &
yad --dynamic --notebook --key="$key" --monitor --listen --window-icon="$DH_ICON_DIR"/hop.svg \
--width=900 --height=900 --no-buttons --title="DistroHopper" --tab="Advanced"
VAR1="$?"
echo " DEBUG: VAR1 = $VAR1"
echo $?