Compare commits
4 commits
Author | SHA1 | Date | |
---|---|---|---|
b26d54f371 | |||
0419647865 | |||
fd2720ac17 | |||
9a76e56656 |
3
.gitignore
vendored
|
@ -1,8 +1,7 @@
|
||||||
logo
|
|
||||||
config/vms_ready/
|
config/vms_ready/
|
||||||
config/vms_supported/
|
config/vms_supported/
|
||||||
#*.chunklist
|
#*.chunklist
|
||||||
#*.conf
|
*.conf
|
||||||
*.dmg
|
*.dmg
|
||||||
*.fd
|
*.fd
|
||||||
*.img
|
*.img
|
||||||
|
|
3
.gitmodules
vendored
|
@ -1,3 +0,0 @@
|
||||||
[submodule "quickemu-origin"]
|
|
||||||
path = quickemu-origin
|
|
||||||
url = https://github.com/quickemu-project/quickemu
|
|
|
@ -1 +0,0 @@
|
||||||
docs/README.md
|
|
352
README.md
|
@ -1,83 +1,47 @@
|
||||||

|
Want you try new Operating system?
|
||||||

|
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||

|
How?
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
---
|
# [DistroHooper](https://github.com/oSoWoSo/DistroHooper)
|
||||||
|
Licensed under AGPL3
|
||||||
# Looking to try out a new operating system?
|
### Still Testing version!
|
||||||
|

|
||||||
try
|
|
||||||
|
|
||||||
# **DistroHopper**
|
|
||||||
Quickly download, create and run VM of any#TODO operating system.
|
|
||||||
|
|
||||||
|
|
||||||
# For now yad not work under wayland correctly
|
quickly create and run VMs
|
||||||
Until this will be solved upstream use just quickfzf TUI under wayland!
|
|
||||||
It's even quicker and easier to use.
|
|
||||||
But don't have that nice distro icons you never heard about.. (or no?)
|
|
||||||
|
|
||||||
Linux required...
|
As a base excellent [quickemu](https://github.com/quickemu-project/quickemu)
|
||||||
|
|
||||||
---
|
I added:
|
||||||
|
|
||||||
Click on Hop for latest download
|
## quickgui
|
||||||
|
using yad
|
||||||
|
|
||||||
[](https://sourceforge.net/projects/distrohopper/files/latest/download)
|
### .Desktop file generator
|
||||||
|
It will simple generate .desktop files for every supported VM in quickemu.
|
||||||
|
So you can copy it anywhere...
|
||||||
|
|
||||||
|
And I mean every supported distro.
|
||||||
|
|
||||||
|
you can download new distro with few clicks of a mouse
|
||||||
|
|
||||||
|
You need to run quickgui just for update supported distros.
|
||||||
|
|
||||||
[](https://liberapay.com/zenobit/donate)
|
### Simple GUI using yad --notebook
|
||||||
|
|
||||||
Licensed under AGPL3
|
See it in action on youtube...
|
||||||
# Still Beta version!
|
|
||||||
<details>
|
|
||||||
<summary>Click for screenshot</summary>
|
|
||||||
<img src="docs/distrohopper.png">
|
|
||||||
</details>
|
|
||||||
|
|
||||||
As a base excellent [quickemu](https://github.com/quickemu-project/quickemu) (Link to project page)
|
[](https://www.youtube.com/watch?v=JtjIseqZMkQ)
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=AOTYWEgw0hI)
|
|
||||||
|
|
||||||
|
|
||||||
You can download new distro with **few clicks** of a mouse
|
## quicktui
|
||||||
|
using fzf
|
||||||
|
|
||||||
# Features
|
[](https://www.youtube.com/watch?v=gJ5hqYEskOw)
|
||||||
- GUI using yad (on youtube)
|
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=RrFQECcwLRA)
|
# Why I creating this?
|
||||||
|
|
||||||
- TUI using fzf (on youtube)
|
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=gJ5hqYEskOw)
|
|
||||||
|
|
||||||
- Desktop(shortcuts) entries generator
|
|
||||||
|
|
||||||
- Set dir where VMs will be stored
|
|
||||||
|
|
||||||
- Install DistroHopper systemwide
|
|
||||||
|
|
||||||
- Portable mode (dependecies still must be installed)
|
|
||||||
|
|
||||||
- Add new operating system to quickget (bit easier)
|
|
||||||
|
|
||||||
- Copy all downloaded ISOs to destination directory
|
|
||||||
|
|
||||||
- Translate DistroHopper (Currently supported English and Czech language)
|
|
||||||
|
|
||||||
|
|
||||||
Developed in English and translated into Czech language.
|
|
||||||
|
|
||||||
## Welcome translations!
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Why am I doing it?
|
|
||||||
Because I wanna learn
|
Because I wanna learn
|
||||||
|
|
||||||
- Linux
|
- Linux
|
||||||
|
@ -88,20 +52,23 @@ Developed in English and translated into Czech language.
|
||||||
|
|
||||||
- project management
|
- project management
|
||||||
|
|
||||||
And contribute to open source
|
- contribute to open source
|
||||||
|
|
||||||
play with Quickemu
|
Because I wanna play with Quickemu
|
||||||
|
|
||||||
And easily add new distros to it
|
And easily add new distro to it
|
||||||
|
|
||||||
---
|
#
|
||||||
|
|
||||||
## How to run DistroHopper?
|
Quickemu.
|
||||||
|
|
||||||
You need fullfill the requirement first...
|
[](https://www.youtube.com/watch?v=AOTYWEgw0hI)
|
||||||
|
|
||||||
## Requirements (For running VMs)
|
## Requirements
|
||||||
- [QEMU](https://www.qemu.org/) (*6.0.0 or newer*) **with GTK, SDL, SPICE & VirtFS support**
|
|
||||||
|
- [QEMU](https://www.qemu.org/) (*6.0.0 or newer*) **with GTK, SDL,
|
||||||
|
SPICE & VirtFS support**
|
||||||
- [bash](https://www.gnu.org/software/bash/) (*4.0 or newer*)
|
- [bash](https://www.gnu.org/software/bash/) (*4.0 or newer*)
|
||||||
- [Coreutils](https://www.gnu.org/software/coreutils/)
|
- [Coreutils](https://www.gnu.org/software/coreutils/)
|
||||||
- [EDK II](https://github.com/tianocore/edk2)
|
- [EDK II](https://github.com/tianocore/edk2)
|
||||||
|
@ -134,245 +101,36 @@ packaging will take care of the dependencies. For other host
|
||||||
distributions or operating systems it will be necessary to install the
|
distributions or operating systems it will be necessary to install the
|
||||||
above requirements or their equivalents.
|
above requirements or their equivalents.
|
||||||
|
|
||||||
If you install DistroHopper, it should take care of dependencies on Arch, Debian, Ubuntu, openSuse and Fedora
|
These examples may save a little typing
|
||||||
|
|
||||||
### For DistroHopper to work you need
|
Debian:
|
||||||
|
|
||||||
`wget yad fzf`
|
sudo apt install qemu bash coreutils ovmf grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-client-gtk swtpm wget xdg-user-dirs zsync unzip
|
||||||
|
|
||||||
quickemu is included
|
Fedora:
|
||||||
|
|
||||||
For adding new distros, or adding/improving translations you will need also meld.
|
sudo dnf install qemu bash coreutils edk2-tools grep jq lsb procps python3 genisoimage usbutils util-linux sed spice-gtk-tools swtpm wget xdg-user-dirs xrandr unzip
|
||||||
|
|
||||||
|
Void Linux:
|
||||||
|
|
||||||
# How to install DistroHopper?
|
sudo xbps-install qemu bash coreutils grep jq procps-ng python3 util-linux sed spice-gtk swtpm usbutils wget xdg-user-dirs xrandr unzip zsync socat
|
||||||
|
|
||||||
You need get copy of distrohopper
|
# Currently supported Distribution:
|
||||||
|
|
||||||
If you want more stable experience, download latest release from
|
In screenshot above...
|
||||||
|
|
||||||
#### [GitHub](https://github.com/oSoWoSo/DistroHopper/releases) or SourceForge [](https://sourceforge.net/projects/distrohopper/files/latest/download)
|
### Testing version!
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
If you want latest developer version... (could have bugs and break anytime)
|
|
||||||
|
|
||||||
Or you want translate DistroHopper
|
|
||||||
|
|
||||||
`git clone https://github.com/oSoWoSo/DistroHopper`
|
|
||||||
|
|
||||||
Enter created/unpacked distrohopper directory
|
|
||||||
|
|
||||||
Now you should be good to go...
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# How to run DistroHopper
|
|
||||||
|
|
||||||
Just run from terminal
|
|
||||||
|
|
||||||
`./dh`
|
|
||||||
|
|
||||||
And you will see what next...
|
|
||||||
|
|
||||||
I am usually run DistroHopper as:
|
|
||||||
|
|
||||||
`./dh m r s l && ./dh i && dh g`
|
|
||||||
|
|
||||||
(But...)
|
|
||||||
|
|
||||||
## Desktop files
|
|
||||||
|
|
||||||
All desktop files will be storred in your .config/distrohopper
|
|
||||||
in directories *ready* and *supported*
|
|
||||||
|
|
||||||
Fell free to copy them anywhere you want...
|
|
||||||
|
|
||||||
### Currently supported Operating Systems and tools:
|
|
||||||
agarimos
|
|
||||||
alma
|
|
||||||
alpine
|
|
||||||
android
|
|
||||||
arch
|
|
||||||
archcraft
|
|
||||||
arco
|
|
||||||
artix
|
|
||||||
athenaos
|
|
||||||
batocera
|
|
||||||
biglinux
|
|
||||||
blendos
|
|
||||||
bodhi
|
|
||||||
cachyos
|
|
||||||
centos-stream
|
|
||||||
cereus
|
|
||||||
chimera
|
|
||||||
debian
|
|
||||||
deepin
|
|
||||||
devuan
|
|
||||||
dietpi
|
|
||||||
dragonflybsd
|
|
||||||
edubuntu
|
|
||||||
elementary
|
|
||||||
endeavouros
|
|
||||||
endless
|
|
||||||
fedora
|
|
||||||
freebsd
|
|
||||||
freedos
|
|
||||||
fvoid
|
|
||||||
gabeeos
|
|
||||||
garuda
|
|
||||||
gentoo
|
|
||||||
ghostbsd
|
|
||||||
haiku
|
|
||||||
holoiso
|
|
||||||
kali
|
|
||||||
kdeneon
|
|
||||||
kolibrios
|
|
||||||
kubuntu
|
|
||||||
lite
|
|
||||||
lmde
|
|
||||||
mageia
|
|
||||||
manjaro
|
|
||||||
mint
|
|
||||||
miyo
|
|
||||||
mx
|
|
||||||
netboot
|
|
||||||
netbsd
|
|
||||||
nixos
|
|
||||||
lubuntu
|
|
||||||
macos
|
|
||||||
openbsd
|
|
||||||
openindiana
|
|
||||||
opensuse
|
|
||||||
oracle
|
|
||||||
popos
|
|
||||||
reactos
|
|
||||||
rebornos
|
|
||||||
rocky
|
|
||||||
siduction
|
|
||||||
slackware
|
|
||||||
slax
|
|
||||||
slitaz
|
|
||||||
solus
|
|
||||||
tails
|
|
||||||
tinycore
|
|
||||||
truenas-core
|
|
||||||
truenas-scale
|
|
||||||
tuxedoos
|
|
||||||
ubuntu
|
|
||||||
ubuntu-budgie
|
|
||||||
ubuntucinnamon
|
|
||||||
ubuntukylin
|
|
||||||
ubuntu-mate
|
|
||||||
ubuntu-server
|
|
||||||
ubuntustudio
|
|
||||||
ubuntu-unity
|
|
||||||
vanillaos
|
|
||||||
ventoy
|
|
||||||
void
|
|
||||||
voidpup
|
|
||||||
vx
|
|
||||||
windows
|
|
||||||
xero
|
|
||||||
xubuntu
|
|
||||||
zorin
|
|
||||||
|
|
||||||
|
|
||||||
Also with posible planned: [in discusion](https://github.com/oSoWoSo/DistroHopper/discussions/9)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
#### [discuss](https://github.com/oSoWoSo/DistroHopper/discussions) on github
|
|
||||||
|
|
||||||
# Join DistroHopper chat group:
|
|
||||||
[](https://simplex.chat/contact#/?v=1-4&smp=smp%3A%2F%2Fu2dS9sG8nMNURyZwqASV4yROM28Er0luVTx5X1CsMrU%3D%40smp4.simplex.im%2FnTkG5MBnhRsRTb4heK-8J9jo0Vqc43q2%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEA-Go_Cwwzp419dls_-cmYvePuTyKdZ6bsrXAy8K1Sizc%253D%26srv%3Do5vmywmrnaxalvz6wi3zicyftgio6psuvyniis6gco6bp6ekl4cqj4id.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%228L5-Gq789MCV_wUQuNtTLg%3D%3D%22%7D) (click SimpleX logo)
|
|
||||||
|
|
||||||
(check the software! even if you don't want chat about DistroHopper)
|
|
||||||
[Simplex website](https://simplex.chat)
|
|
||||||
|
|
||||||
# Without these amazing projects it wouldn't be posible:
|
# Without these amazing projects it wouldn't be posible:
|
||||||
|
|
||||||
#### [bash](https://www.gnu.org/software/bash/)
|
[bash](https://www.gnu.org/software/bash/)
|
||||||
|
|
||||||
#### [QEMU](https://www.qemu.org/)
|
[QEMU](https://www.qemu.org/)
|
||||||
|
|
||||||
#### [quickemu](https://github.com/quickemu-project/quickemu)
|
[quickemu](https://github.com/quickemu-project/quickemu)
|
||||||
|
|
||||||
GUI depends on
|
GUI depends on
|
||||||
#### [yad](https://github.com/v1cont/yad)
|
[yad](https://github.com/v1cont/yad)
|
||||||
|
|
||||||
TUI depends on
|
TUI depends on
|
||||||
#### [fzf](https://github.com/junegunn/fzf)
|
[fzf](https://github.com/junegunn/fzf)
|
||||||
|
|
||||||
----
|
|
||||||
|
|
||||||
For
|
|
||||||
|
|
||||||
- easy of use
|
|
||||||
|
|
||||||
#### [fish](https://fishshell.com)
|
|
||||||
|
|
||||||
- commiting and working with github
|
|
||||||
|
|
||||||
#### [lazygit](https://github.com/jesseduffield/lazygit)
|
|
||||||
|
|
||||||
#### [opencommit](https://github.com/di-sukharev/opencommit)
|
|
||||||
|
|
||||||
- Editing
|
|
||||||
|
|
||||||
#### [geany](https://geany.org/)
|
|
||||||
|
|
||||||
#### [Kate](https://apps.kde.org/kate)
|
|
||||||
|
|
||||||
- diff
|
|
||||||
|
|
||||||
#### [Meld](https://meld.app/)
|
|
||||||
|
|
||||||
- Logo and icons
|
|
||||||
|
|
||||||
#### [GIMP](https://www.gimp.org)
|
|
||||||
|
|
||||||
and
|
|
||||||
|
|
||||||
#### [Inkscape](https://inkscape.org)
|
|
||||||
|
|
||||||
#### [logo by](https://freesvg.org/by/OpenClipart) bit repaired by me..
|
|
||||||
|
|
||||||
- Updating translation
|
|
||||||
|
|
||||||
#### [Poedit](https://poeditor.com/)
|
|
||||||
|
|
||||||
Everything done on
|
|
||||||
|
|
||||||
#### [Void Linux](https://voidlinux.org)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
# Mirrored on
|
|
||||||
|
|
||||||
#### [GitHub](https://github.com/oSoWoSo/DistroHopper)
|
|
||||||
|
|
||||||
#### [SourceForge](https://sourceforge.net/projects/distrohopper)
|
|
||||||
|
|
||||||
#### [Disroot](https://git.disroot.org/oSoWoSo/DistroHopper)
|
|
||||||
|
|
||||||
#### [Codeberg](https://codeberg.org/oSoWoSo/DistroHopper)
|
|
||||||
|
|
||||||
#### [GitLab](https://gitlab.com/osowoso/distrohopper)
|
|
||||||
|
|
||||||
#### [SourceHut](https://git.sr.ht/~osowoso/DistroHopper)
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
For Homepage click on Hop
|
|
||||||
|
|
||||||
[](https://dh.osowoso.xyz/)
|
|
||||||
|
|
||||||
# donate
|
|
||||||
[](https://liberapay.com/zenobit/donate)
|
|
||||||
|
|
||||||
@zen0bit at github
|
|
||||||
|
|
||||||
mailto: <zenobit@osowoso.xyz>
|
|
||||||
|
|
||||||
#### parent site [oSoWoSo](https://osowoso.xyz)
|
|
||||||
|
|
||||||
|
|
|
@ -1,6 +0,0 @@
|
||||||
[Desktop Entry]
|
|
||||||
Type=Application
|
|
||||||
Name=About DistroHopper
|
|
||||||
Exec=yad --image=/usr/share/icons/distroicons/hop.svg --info --text "About Distrohopper \n\n Quickly download, create and run VM of any operating system. \n Source Code: https://github.com/oSoWoSo/DistroHopper \n License: AGPL-3-only" --no-buttons
|
|
||||||
Icon=/usr/share/icons/distroicons/hop.svg
|
|
||||||
Categories=System;Virtualization;Settings;
|
|
44
addnewtoquickgui.sh
Executable file
|
@ -0,0 +1,44 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yad --form --field="Name" "" --field="Releases" "" --field="Editions" "" --field="URL" "" --field="ISO" ""
|
||||||
|
|
||||||
|
# little script for adding distros to quickemu
|
||||||
|
# This version use desktop files and notebook
|
||||||
|
|
||||||
|
#TODO ADD_PRETTY_NAME_${DISTRO}
|
||||||
|
${DISTRO}) PRETTY_NAME="VX Linux";;
|
||||||
|
|
||||||
|
#TODO ADD_NAME_${DISTRO}
|
||||||
|
${DISTRO} \
|
||||||
|
|
||||||
|
#TODO ADD_releases_${DISTRO} function
|
||||||
|
function releases_${DISTRO}() {
|
||||||
|
echo 6.1 5.0 4.2 4.1 4.0
|
||||||
|
}
|
||||||
|
#TODO ADD_editions_${DISTRO} function
|
||||||
|
function editions_${DISTRO}() {
|
||||||
|
echo
|
||||||
|
}
|
||||||
|
#TODO ADD_get_${DISTRO} function
|
||||||
|
function get_${DISTRO}() {
|
||||||
|
local HASH=""
|
||||||
|
local ISO=""
|
||||||
|
local URL="https://github.com/dessington/${DISTRO}/releases/download/${RELEASE}"
|
||||||
|
|
||||||
|
if [ "$RELEASE" == "4.0" ]; then
|
||||||
|
ISO="vx-linux-4.0-qt.iso"
|
||||||
|
else
|
||||||
|
ISO="vx-linux-${RELEASE}.iso"
|
||||||
|
fi
|
||||||
|
echo "${URL}/${ISO} ${HASH}"
|
||||||
|
}
|
||||||
|
|
||||||
|
function get_voidpup() {
|
||||||
|
local HASH=""
|
||||||
|
local URL=""
|
||||||
|
local TMPURL=""
|
||||||
|
|
||||||
|
TMPURL=$(wget -q -S -O- --max-redirect=0 "https://sourceforge.net/projects/vpup/files/latest/download" 2>&1 | grep -i Location | cut -d' ' -f4)
|
||||||
|
URL=${TMPURL%\?*}
|
||||||
|
echo "${URL} ${HASH}"
|
||||||
|
}
|
|
@ -1,92 +0,0 @@
|
||||||
#!/usr/bin/env bash
|
|
||||||
#
|
|
||||||
# Copyright (c) 2023 darkmaster @grm34
|
|
||||||
#
|
|
||||||
# This script automatically translates base language strings and adds
|
|
||||||
# them into the various translations (original will be used on error).
|
|
||||||
# It also removes duplicate strings and rearranges them alphabetically.
|
|
||||||
|
|
||||||
_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[*]}"))
|
|
||||||
}
|
|
||||||
|
|
||||||
_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]//\"}
|
|
||||||
}
|
|
||||||
|
|
||||||
_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 auto-translate.
|
|
||||||
if [[ $1 == dh ]]; then
|
|
||||||
echo "Running auto-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
|
|
||||||
|
|
6
config/1stRun.desktop
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Renew VMs
|
||||||
|
Exec=sakura -h renew.sh
|
||||||
|
Icon=/home/zen/.config/distrohopper/vms_icons/tux.svg
|
||||||
|
Categories=System;Virtualization;Settings;
|
28
config/1stRun.sh
Executable file
|
@ -0,0 +1,28 @@
|
||||||
|
#!/bin/bash
|
||||||
|
source distrohopper.conf
|
||||||
|
|
||||||
|
# distrohopper first run
|
||||||
|
CONFIG_DIR="$HOME/.config/distrohopper"
|
||||||
|
|
||||||
|
# create default dirs
|
||||||
|
rm -r "$CONFIG_DIR"
|
||||||
|
mkdir -p "$CONFIG_DIR" "$CONFIG_DIR/vms_ready" "$CONFIG_DIR/vms_supported" "$CONFIG_DIR/vms_icons"
|
||||||
|
|
||||||
|
# copy icons
|
||||||
|
#cp -r vms_icons "$CONFIG_DIR/"
|
||||||
|
# copy everything to config dir
|
||||||
|
cp -r * "$CONFIG_DIR/"
|
||||||
|
|
||||||
|
# install prerequisities (Void linux)
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
# Install distrohopper to all users
|
||||||
|
sudo cp ../dh ../quickgui ../quicktui ../quickget ../quickemu /usr/bin/
|
||||||
|
|
||||||
|
# Renew VMs
|
||||||
|
"$CONFIG_DIR/renew.sh"
|
||||||
|
# Set VMs dir
|
||||||
|
"$CONFIG_DIR/set_dir.sh"
|
||||||
|
|
||||||
|
echo "Done"
|
|
@ -2,5 +2,5 @@
|
||||||
Type=Application
|
Type=Application
|
||||||
Name=About yad
|
Name=About yad
|
||||||
Exec=yad --about
|
Exec=yad --about
|
||||||
Icon=/usr/share/icons/Papirus/64x64/apps/yad.svg
|
Icon=/home/zen/.config/distrohopper/vms_icons/cereus.svg
|
||||||
Categories=System;Virtualization;Settings;
|
Categories=System;Virtualization;Settings;
|
6
config/add_distro.desktop
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Add new distro
|
||||||
|
Exec=sakura -h -e /home/zen/.config/distrohopper/add_distro.sh
|
||||||
|
Icon=/home/zen/.config/distrohopper/vms_icons/cereus.svg
|
||||||
|
Categories=System;Virtualization;Settings;
|
39
config/add_distro.sh
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
yad --form --field="Pretty name" "" --field="Name" "" --field="Releases" "" --field="Editions" "" --field="URL" "" --field="ISO" "" --field="Hash" "" > template.tmp
|
||||||
|
|
||||||
|
|
||||||
|
PRETTY_NAME="$(cat template.tmp | cut -d'|' -f1)"
|
||||||
|
NAME="$(cat template.tmp | cut -d'|' -f2)"
|
||||||
|
RELEASES="$(cat template.tmp | cut -d'|' -f3)"
|
||||||
|
EDITIONS="$(cat template.tmp | cut -d'|' -f4)"
|
||||||
|
URL="$(cat template.tmp | cut -d'|' -f5)"
|
||||||
|
ISO="$(cat template.tmp | cut -d'|' -f6)"
|
||||||
|
HASH="$(cat template.tmp | cut -d'|' -f7)"
|
||||||
|
echo " $NAME) PRETTY_NAME=$PRETTY_NAME;;
|
||||||
|
" > newvm.tmp
|
||||||
|
echo " $NAME \\
|
||||||
|
" >> newvm.tmp
|
||||||
|
echo "function releases_$NAME() {
|
||||||
|
echo $RELEASES
|
||||||
|
}
|
||||||
|
" >> newvm.tmp
|
||||||
|
echo "function editions_$NAME() {
|
||||||
|
echo $EDITIONS
|
||||||
|
}
|
||||||
|
" >> newvm.tmp
|
||||||
|
echo "function get_$NAME() {
|
||||||
|
local EDITION="${1:-}"
|
||||||
|
local HASH=""
|
||||||
|
local ISO="$ISO"
|
||||||
|
local URL="$URL"
|
||||||
|
HASH=\"$(wget -q -O- "${URL}/CHECKSUM" | grep "(${ISO}" | cut -d' ' -f4)\"
|
||||||
|
echo "${URL}/${ISO} ${HASH}"
|
||||||
|
}
|
||||||
|
" >> newvm.tmp
|
||||||
|
echo "template.tmp content:
|
||||||
|
"
|
||||||
|
cat template.tmp
|
||||||
|
echo "newvm.tmp content:
|
||||||
|
"
|
||||||
|
cat newvm.tmp
|
19
config/check.sh
Executable file
|
@ -0,0 +1,19 @@
|
||||||
|
#!/bin/bash
|
||||||
|
|
||||||
|
# DEBUG mod
|
||||||
|
#bash -x quickyad 2>&1 | tee output.log
|
||||||
|
|
||||||
|
# YAD gui script for excellent quickemu
|
||||||
|
#TODO Download Icons
|
||||||
|
#TODO Add homepages to right click
|
||||||
|
|
||||||
|
echo "Running..."
|
||||||
|
# dependencies checks
|
||||||
|
if ! command -v yad >/dev/null 2>&1; then
|
||||||
|
echo "You are missing yad..." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
||||||
|
if ! command -v quickemu >/dev/null 2>&1; then
|
||||||
|
echo "You are missing quickemu..." >&2
|
||||||
|
exit 1
|
||||||
|
fi
|
6
config/renew.desktop
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Renew VMs
|
||||||
|
Exec=sakura -h renew.sh
|
||||||
|
Icon=/home/zen/.config/distrohopper/vms_icons/tux.svg
|
||||||
|
Categories=System;Virtualization;Settings;
|
80
config/renew.sh
Executable file
|
@ -0,0 +1,80 @@
|
||||||
|
#!/bin/bash
|
||||||
|
export LC_ALL=C
|
||||||
|
|
||||||
|
echo "Updating VMs..."
|
||||||
|
# distrohopper config file
|
||||||
|
CONFIG_DIR="$HOME/.config/distrohopper"
|
||||||
|
source "$CONFIG_DIR/distrohopper.conf"
|
||||||
|
# shellcheck source=distrohopper.conf
|
||||||
|
# remove desktop files (ready to run VMs)
|
||||||
|
rm "$CONFIG_DIR/vms_ready/*"
|
||||||
|
# Enter ditrohopper VMs dir
|
||||||
|
cd "$QUICKEMU_VMS_DIR" || exit
|
||||||
|
# check for VMs .conf files (ready to run VMs)
|
||||||
|
for vm_config_file in *.conf; do
|
||||||
|
vm_desktop_file=$(basename "$QUICKEMU_VMS_DIR/$vm_config_file" .conf)
|
||||||
|
# Use fuzzy matching to find the best matching icon file (ready to run VMs)
|
||||||
|
icon_name=$(basename "$QUICKEMU_VMS_DIR/$vm_config_file" .conf | cut -d'-' -f -2)
|
||||||
|
icon_file=$(find "$ICON_DIR" -type f -iname "${icon_name// /}.*")
|
||||||
|
# If no icon was found, try shorter name (ready to run VMs)
|
||||||
|
if [ -z "$icon_file" ]; then
|
||||||
|
icon_name=$(basename "$QUICKEMU_VMS_DIR/$vm_config_file" .conf | cut -d'-' -f1)
|
||||||
|
icon_file=$(find "$ICON_DIR" -type f -iname "${icon_name// /}.*")
|
||||||
|
fi
|
||||||
|
# If no icon was found, use a default icon (ready to run VMs)
|
||||||
|
if [ -z "$icon_file" ]; then
|
||||||
|
icon_file="$ICON_DIR/tux.svg"
|
||||||
|
fi
|
||||||
|
# content of desktop files (ready to run VMs)
|
||||||
|
desktop_file_content="[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=$vm_desktop_file
|
||||||
|
Exec=sh -c 'cd "$QUICKEMU_VMS_DIR" && quickemu -vm \"$vm_config_file\"'
|
||||||
|
Icon=$icon_file
|
||||||
|
Categories=System;Virtualization;"
|
||||||
|
# create desktop files (ready to run VMs)
|
||||||
|
echo "$desktop_file_content" > "$CONFIG_DIR"/vms_ready/"$vm_desktop_file".desktop
|
||||||
|
done
|
||||||
|
|
||||||
|
# remove desktop files (supported VMs)
|
||||||
|
rm "$CONFIG_DIR"/vms_supported/"*"
|
||||||
|
# get supported VMs
|
||||||
|
quickget | sed 1d | cut -d':' -f2 | grep -o '[^ ]*' > "$CONFIG_DIR/supported.md"
|
||||||
|
while read -r get_name; do
|
||||||
|
vm_desktop_file=$(echo "$get_name" | tr ' ' '_')
|
||||||
|
releases=$(quickget "$vm_desktop_file" | grep 'Releases' | cut -d':' -f2 | sed 's/^ //')
|
||||||
|
editions=$(quickget "$vm_desktop_file" | grep 'Editions' | cut -d':' -f2 | sed 's/^ //')
|
||||||
|
icon_name="$ICON_DIR/$get_name"
|
||||||
|
if [ -f "$icon_name.svg" ]; then
|
||||||
|
icon_file="$icon_name.svg"
|
||||||
|
elif [ -f "$icon_name.png" ]; then
|
||||||
|
icon_file="$icon_name.png"
|
||||||
|
else
|
||||||
|
icon_file="$ICON_DIR/tux.svg"
|
||||||
|
fi
|
||||||
|
# Check if there are editions
|
||||||
|
if [ -z "$editions" ]; then
|
||||||
|
# Create desktop file for VMs without editions
|
||||||
|
desktop_file_content="[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=$get_name
|
||||||
|
releases=$releases
|
||||||
|
replace='\"!\"'
|
||||||
|
Exec=sh -c 'cd "$QUICKEMU_VMS_DIR" && yad --form --field=\"Release:CB\" \"${releases// /$replace}\" | cut -d\"|\" -f1 | xargs -I{} sh -c \"quickget $get_name {}\"'
|
||||||
|
Icon=$icon_file
|
||||||
|
Categories=System;Virtualization;"
|
||||||
|
echo "$desktop_file_content" > "$CONFIG_DIR"/vms_supported/"$vm_desktop_file".desktop
|
||||||
|
else
|
||||||
|
# Create desktop file for VMs with editions
|
||||||
|
desktop_file_content="[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=$get_name
|
||||||
|
releases=$releases
|
||||||
|
editions=$editions
|
||||||
|
replace=$replace
|
||||||
|
Exec=sh -c 'cd \"$QUICKEMU_VMS_DIR\" && yad --form --separator=\" \" --field=\"Release:CB\" \"${releases// /$replace}\" --field=\"Edition:CB\" \"${editions// /$replace}\" | xargs -I{} sh -c \"quickget $get_name {}\"'
|
||||||
|
Icon=$icon_file
|
||||||
|
Categories=System;Virtualization;"
|
||||||
|
echo "$desktop_file_content" > "$CONFIG_DIR"/vms_supported/"$vm_desktop_file".desktop
|
||||||
|
fi
|
||||||
|
done < "$CONFIG_DIR"/supported.md
|
6
config/set_dir.desktop
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Set VMs dir
|
||||||
|
Exec=set_dir.sh
|
||||||
|
Icon=/home/zen/.config/distrohopper/vms_icons/cereus.svg
|
||||||
|
Categories=System;Virtualization;Settings;
|
8
config/set_dir.sh
Executable file
|
@ -0,0 +1,8 @@
|
||||||
|
#!/bin/bash
|
||||||
|
source distrohopper.conf
|
||||||
|
NEWDIR="$(yad --file --directory --title="Where to save VMs?")"
|
||||||
|
QUICKEMU_VMS_DIR="$NEWDIR"
|
||||||
|
export QUICKEMU_VMS_DIR
|
||||||
|
echo "New dir is: $QUICKEMU_VMS_DIR"
|
||||||
|
#cat distrohopper.conf | grep 'QUICKEMU_VMS_DIR='
|
||||||
|
#sed -f distrohopper.conf --posix -E 's/QUICKEMU_VMS_DIR="$HOME/.local/share/quickemu"/QUICKEMU_VMS_DIR="$QUICKEMU_VMS_DIR"/g'
|
|
@ -35,13 +35,11 @@ linuxmint
|
||||||
lmde
|
lmde
|
||||||
mageia
|
mageia
|
||||||
manjaro
|
manjaro
|
||||||
miyo
|
|
||||||
mxlinux
|
mxlinux
|
||||||
netboot
|
netboot
|
||||||
netbsd
|
netbsd
|
||||||
nixos
|
nixos
|
||||||
lubuntu
|
lubuntu
|
||||||
macos
|
|
||||||
openbsd
|
openbsd
|
||||||
opensuse
|
opensuse
|
||||||
oraclelinux
|
oraclelinux
|
||||||
|
@ -63,11 +61,9 @@ ubuntukylin
|
||||||
ubuntu-mate
|
ubuntu-mate
|
||||||
ubuntustudio
|
ubuntustudio
|
||||||
ubuntu-unity
|
ubuntu-unity
|
||||||
ventoy
|
|
||||||
void
|
void
|
||||||
voidpup
|
voidpup
|
||||||
vxlinux
|
vxlinux
|
||||||
windows
|
|
||||||
xerolinux
|
xerolinux
|
||||||
xubuntu
|
xubuntu
|
||||||
zorin
|
zorin
|
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
BIN
config/vms_icons/agarimos.png
Normal file
After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 1.6 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
12
config/vms_icons/arch.svg
Normal file
|
@ -0,0 +1,12 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg width="512px" xmlns="http://www.w3.org/2000/svg" viewBox="0 0 65 65" version="1.1" height="512px">
|
||||||
|
<defs>
|
||||||
|
<linearGradient id="lg" y1="26.924%" x2="28.129%" x1="54.638%" y2="79.519%">
|
||||||
|
<stop stop-color="#fff" stop-opacity="0" offset="0"/>
|
||||||
|
<stop stop-color="#fff" stop-opacity=".27451" offset="1"/>
|
||||||
|
</linearGradient>
|
||||||
|
</defs>
|
||||||
|
<path d="m32.253 0.20991c-2.849 6.9843-4.579 11.559-7.75 18.336 1.944 2.061 4.334 4.453 8.211 7.164-4.168-1.715-7.009-3.432-9.133-5.219-4.059 8.47-10.423 20.531-23.328 43.719 10.14-5.854 18.002-9.466 25.328-10.844-0.314-1.351-0.481-2.819-0.469-4.344l0.008-0.32c0.161-6.498 3.542-11.495 7.547-11.156 4.004 0.339 7.122 5.884 6.961 12.383-0.031 1.224-0.173 2.4-0.414 3.492 7.247 1.418 15.034 5.013 25.039 10.789-1.973-3.632-3.74-6.905-5.422-10.024-2.649-2.053-5.411-4.724-11.047-7.617 3.874 1.007 6.65 2.171 8.812 3.469-17.098-31.835-18.48-36.068-24.343-49.828v-0.00009z" fill="#1793D1"/>
|
||||||
|
<path id="path2522" fill-opacity=".16568" fill="#fff" d="m50.266 38.249c-13.872-18.827-17.087-34.002-17.902-37.625 7.4 17.067 7.349 17.277 17.902 37.625z"/>
|
||||||
|
<path d="m32.378 0.45992c-0.36 0.88448-0.7 1.7468-1.032 2.5625-0.364 0.8946-0.718 1.7565-1.062 2.5938s-0.693 1.6309-1.031 2.4375c-0.339 0.8065-0.654 1.6039-1 2.4063-0.346 0.802-0.726 1.613-1.094 2.437-0.368 0.825-0.752 1.658-1.156 2.532-0.404 0.873-0.828 1.801-1.282 2.75-0.061 0.128-0.124 0.276-0.187 0.406 1.939 2.054 4.33 4.427 8.187 7.125-4.167-1.715-7-3.432-9.125-5.219-0.11 0.226-0.198 0.425-0.312 0.656-0.42 0.871-0.871 1.733-1.344 2.688-0.113 0.224-0.196 0.427-0.312 0.656-0.501 1.004-1.026 2.043-1.594 3.156-0.113 0.22-0.228 0.402-0.344 0.625-0.343 0.667-1.44 2.77-2.562 4.907-0.655 1.248-1.169 2.27-1.907 3.656-0.209 0.398-0.639 1.195-0.75 1.406 8.125-4.573 16.891-11.216 32.813-5.531-0.797-1.51-1.562-2.919-2.25-4.25-0.688-1.332-1.312-2.571-1.906-3.75s-1.143-2.291-1.657-3.344c-0.513-1.053-0.989-2.047-1.437-3s-0.885-1.87-1.281-2.75c-0.397-0.879-0.766-1.73-1.125-2.562-0.359-0.833-0.695-1.658-1.032-2.469-0.336-0.8115-0.672-1.5896-1-2.4063-0.142-0.3554-0.263-0.7338-0.406-1.0938-0.888-2.0849-1.759-4.1515-2.812-6.625v0.00002z" fill="url(#lg)"/>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.2 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 3.2 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 798 B After Width: | Height: | Size: 798 B |
Before Width: | Height: | Size: 7.6 KiB After Width: | Height: | Size: 7.6 KiB |
Before Width: | Height: | Size: 846 B After Width: | Height: | Size: 846 B |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.9 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 4 KiB |
Before Width: | Height: | Size: 9.2 KiB After Width: | Height: | Size: 9.2 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
1063
config/vms_icons/blendos.svg
Normal file
After Width: | Height: | Size: 667 KiB |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 8.1 KiB After Width: | Height: | Size: 8.1 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 2.4 KiB |
Before Width: | Height: | Size: 4.8 KiB After Width: | Height: | Size: 4.8 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 4.5 KiB |
Before Width: | Height: | Size: 2.8 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
BIN
config/vms_icons/dietpi.png
Normal file
After Width: | Height: | Size: 15 KiB |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 3.8 KiB After Width: | Height: | Size: 3.8 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 18 KiB |
Before Width: | Height: | Size: 1.1 KiB After Width: | Height: | Size: 1.1 KiB |
Before Width: | Height: | Size: 19 KiB After Width: | Height: | Size: 19 KiB |
Before Width: | Height: | Size: 5.6 KiB After Width: | Height: | Size: 5.6 KiB |
BIN
config/vms_icons/gabeeos.png
Normal file
After Width: | Height: | Size: 22 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
Before Width: | Height: | Size: 4.7 KiB After Width: | Height: | Size: 4.7 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 4.4 KiB |
BIN
config/vms_icons/haiku.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.8 KiB |
Before Width: | Height: | Size: 7.9 KiB After Width: | Height: | Size: 7.9 KiB |
Before Width: | Height: | Size: 5.4 KiB After Width: | Height: | Size: 5.4 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
BIN
config/vms_icons/kolibrios.png
Normal file
After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |
Before Width: | Height: | Size: 7.1 KiB After Width: | Height: | Size: 7.1 KiB |
Before Width: | Height: | Size: 519 B After Width: | Height: | Size: 519 B |
Before Width: | Height: | Size: 1 KiB After Width: | Height: | Size: 1 KiB |
Before Width: | Height: | Size: 3.7 KiB After Width: | Height: | Size: 3.7 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.4 KiB After Width: | Height: | Size: 3.4 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 3.1 KiB |
Before Width: | Height: | Size: 4.2 KiB After Width: | Height: | Size: 4.2 KiB |
Before Width: | Height: | Size: 23 KiB After Width: | Height: | Size: 23 KiB |
BIN
config/vms_icons/mageia.png
Normal file
After Width: | Height: | Size: 4.3 KiB |
Before Width: | Height: | Size: 389 B After Width: | Height: | Size: 389 B |
Before Width: | Height: | Size: 5.2 KiB After Width: | Height: | Size: 5.2 KiB |
Before Width: | Height: | Size: 11 KiB After Width: | Height: | Size: 11 KiB |
63
config/vms_icons/mx.svg
Normal file
|
@ -0,0 +1,63 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg12"
|
||||||
|
sodipodi:docname="mx.svg"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<defs
|
||||||
|
id="defs16" />
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview14"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="1.7050781"
|
||||||
|
inkscape:cx="251.30813"
|
||||||
|
inkscape:cy="256"
|
||||||
|
inkscape:window-width="3440"
|
||||||
|
inkscape:window-height="1417"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="0"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="svg12" />
|
||||||
|
<rect
|
||||||
|
style="opacity:0.2;stroke-width:8.77193"
|
||||||
|
width="491.22806"
|
||||||
|
height="491.22806"
|
||||||
|
x="8.9861288"
|
||||||
|
y="14.359788"
|
||||||
|
rx="24.561403"
|
||||||
|
ry="24.561403"
|
||||||
|
id="rect2" />
|
||||||
|
<rect
|
||||||
|
style="fill:#4f4f4f;stroke-width:8.77193"
|
||||||
|
width="491.22806"
|
||||||
|
height="491.22806"
|
||||||
|
x="8.9861288"
|
||||||
|
y="5.5878611"
|
||||||
|
rx="24.561403"
|
||||||
|
ry="24.561403"
|
||||||
|
id="rect4" />
|
||||||
|
<path
|
||||||
|
style="opacity:0.1;fill:#ffffff;stroke-width:8.77193"
|
||||||
|
d="m 33.554547,5.5878611 c -13.60702,0 -24.5684295,10.9613999 -24.5684295,24.5684199 v 8.77193 c 0,-13.60702 10.9614095,-24.56842 24.5684295,-24.56842 H 475.64402 c 13.60526,0 24.57018,10.9614 24.57018,24.56842 v -8.77193 c 0,-13.60702 -10.96492,-24.5684199 -24.57018,-24.5684199 z"
|
||||||
|
id="path6" />
|
||||||
|
<path
|
||||||
|
style="opacity:0.2;stroke-width:8.77193"
|
||||||
|
d="m 175.65279,119.62295 -35.08772,35.08772 96.85088,108.96491 -19.5614,23.00877 -24.6579,-26.71053 L 61.617697,409.09663 H 447.58262 l -87.7193,-105.26316 -10.1579,11.59649 -63.28947,-71.20175 90.99123,-107.0614 -17.54386,-17.54386 -90.05263,105.92982 z m 78.36842,162.72807 62.80702,70.64912 -18.36842,21.00877 -63.70175,-69.00877 z"
|
||||||
|
id="path8" />
|
||||||
|
<path
|
||||||
|
style="fill:#ffffff;stroke-width:8.77193"
|
||||||
|
d="m 175.65279,110.85102 -35.08772,35.08772 96.85088,108.96491 -19.5614,23.00877 -24.6579,-26.71053 L 61.617697,400.3247 H 447.58262 l -87.7193,-105.26316 -10.1579,11.59649 -63.28947,-71.20175 90.99123,-107.0614 -17.54386,-17.54386 -90.05263,105.92982 z m 78.36842,162.72807 62.80702,70.64912 -18.36842,21.00877 -63.70175,-69.00877 z"
|
||||||
|
id="path10" />
|
||||||
|
</svg>
|
After Width: | Height: | Size: 2.5 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.7 KiB |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 10 KiB |
Before Width: | Height: | Size: 6.5 KiB After Width: | Height: | Size: 6.5 KiB |
Before Width: | Height: | Size: 8.9 KiB After Width: | Height: | Size: 8.9 KiB |
Before Width: | Height: | Size: 2.1 KiB After Width: | Height: | Size: 2.1 KiB |
Before Width: | Height: | Size: 71 KiB After Width: | Height: | Size: 71 KiB |
Before Width: | Height: | Size: 3.3 KiB After Width: | Height: | Size: 3.3 KiB |
Before Width: | Height: | Size: 1.9 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.3 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 9 KiB After Width: | Height: | Size: 9 KiB |
Before Width: | Height: | Size: 17 KiB After Width: | Height: | Size: 17 KiB |
Before Width: | Height: | Size: 6 KiB After Width: | Height: | Size: 6 KiB |
Before Width: | Height: | Size: 3.6 KiB After Width: | Height: | Size: 3.6 KiB |
Before Width: | Height: | Size: 12 KiB After Width: | Height: | Size: 12 KiB |