Compare commits
6 commits
Author | SHA1 | Date | |
---|---|---|---|
619d306dd0 | |||
9ca738ce8a | |||
6d0fbe20f1 | |||
e13cc1528c | |||
4d3be5c2ba | |||
28a81b9464 |
1
.gitignore
vendored
|
@ -1,4 +1,3 @@
|
||||||
logo
|
|
||||||
config/vms_ready/
|
config/vms_ready/
|
||||||
config/vms_supported/
|
config/vms_supported/
|
||||||
#*.chunklist
|
#*.chunklist
|
||||||
|
|
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
|
|
361
README.md
|
@ -1,83 +1,49 @@
|
||||||

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

|
|
||||||

|
|
||||||

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

|
How?
|
||||||

|
|
||||||

|
|
||||||
|
|
||||||
---
|
# [DistroHopper](https://github.com/oSoWoSo/DistroHopper)
|
||||||
|
Quickly download, create and run VM of any(TODO) operating system.
|
||||||
# Looking to try out a new operating system?
|
|
||||||
|
|
||||||
try
|
|
||||||
|
|
||||||
# **DistroHopper**
|
|
||||||
Quickly download, create and run VM of any#TODO operating system.
|
|
||||||
|
|
||||||
|
|
||||||
# For now yad not work under wayland correctly
|
|
||||||
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...
|
|
||||||
|
|
||||||
---
|
|
||||||
|
|
||||||
Click on Hop for latest download
|
|
||||||
|
|
||||||
[](https://sourceforge.net/projects/distrohopper/files/latest/download)
|
|
||||||
|
|
||||||
[](https://liberapay.com/zenobit/donate)
|
|
||||||
|
|
||||||
Licensed under AGPL3
|
Licensed under AGPL3
|
||||||
# Still Beta version!
|
### Still Testing 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=AOTYWEgw0hI)
|
|
||||||
|
|
||||||
|
|
||||||
You can download new distro with **few clicks** of a mouse
|
quickly create and run VMs
|
||||||
|
|
||||||
# Features
|
As a base excellent [quickemu](https://github.com/quickemu-project/quickemu)
|
||||||
- GUI using yad (on youtube)
|
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=RrFQECcwLRA)
|
I added:
|
||||||
|
|
||||||
- TUI using fzf (on youtube)
|
## GUI
|
||||||
|
using yad
|
||||||
|
|
||||||
|
### .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.
|
||||||
|
|
||||||
|
### Simple GUI using yad --notebook
|
||||||
|
|
||||||
|
See it in action on youtube...
|
||||||
|
|
||||||
|
[](https://www.youtube.com/watch?v=JtjIseqZMkQ)
|
||||||
|
|
||||||
|
or command line?...
|
||||||
|
|
||||||
|
|
||||||
|
## TUI
|
||||||
|
using fzf
|
||||||
|
|
||||||
[](https://www.youtube.com/watch?v=gJ5hqYEskOw)
|
[](https://www.youtube.com/watch?v=gJ5hqYEskOw)
|
||||||
|
|
||||||
- Desktop(shortcuts) entries generator
|
# Why I creating this?
|
||||||
|
|
||||||
- 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 +54,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 +103,43 @@ 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!
|
||||||
|
|
||||||
---
|
# Project chat group:
|
||||||
|
If anyone wanna join, here is one
|
||||||
If you want latest developer version... (could have bugs and break anytime)
|
[SimpleX](https://simplex.chat/contact#/?v=1-2&smp=smp%3A%2F%2FSkIkI6EPd2D63F4xFKfHk7I1UGZVNn6k1QWZ5rcyr6w%3D%40smp9.simplex.im%2FzmtsZwfTjwyynibt0bF6bb_xLWS9ce5A%23%2F%3Fv%3D1-2%26dh%3DMCowBQYDK2VuAyEAkMtz66wGfWb6VDn-_t_mVm3RFiFfOC3Hxye8Hm5tmVo%253D%26srv%3Djssqzccmrcws6bhmn77vgmhfjmhwlyr3u7puw4erkyoosywgl67slqqd.onion&data=%7B%22type%22%3A%22group%22%2C%22groupLinkId%22%3A%22o8KR0TOM0f2j33nO9goMRQ%3D%3D%22%7D) way
|
||||||
|
|
||||||
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)
|
(check the software! even if you don't want chat about DistroHopper)
|
||||||
[Simplex website](https://simplex.chat)
|
[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=1st Run
|
||||||
|
Exec=1stRun.sh
|
||||||
|
Icon=/usr/share/icons/distroicons/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"
|
||||||
|
sudo mkdir -p "$ICON_DIR"
|
||||||
|
|
||||||
|
# copy everything to config dir
|
||||||
|
cp -r * "$CONFIG_DIR/"
|
||||||
|
# move icons
|
||||||
|
sudo mv "$CONFIG_DIR/icons/"* "$ICON_DIR/"
|
||||||
|
rm -r "$CONFIG_DIR/icons"
|
||||||
|
# install prerequisities (Void linux)
|
||||||
|
|
||||||
|
# Install distrohopper to all users
|
||||||
|
sudo cp ../dh ../quickget ../quickemu ../macrecovery ../windowskey /usr/bin/
|
||||||
|
|
||||||
|
# Renew VMs
|
||||||
|
"$CONFIG_DIR/renew.sh"
|
||||||
|
|
||||||
|
# Set VMs dir
|
||||||
|
"$CONFIG_DIR/set_dir.sh"
|
||||||
|
|
||||||
|
echo "Done"
|
6
config/about.desktop
Normal file
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=About DistroHopper
|
||||||
|
Exec=yad --info --no-buttons
|
||||||
|
Icon=/usr/share/icons/distroicons/hop.svg
|
||||||
|
Categories=System;Virtualization;Settings;
|
6
config/add_distro.desktop
Executable file
|
@ -0,0 +1,6 @@
|
||||||
|
[Desktop Entry]
|
||||||
|
Type=Application
|
||||||
|
Name=Add new distro
|
||||||
|
Exec=add_distro.sh
|
||||||
|
Icon=/usr/share/icons/distroicons/cereus.svg
|
||||||
|
Categories=System;Virtualization;Settings;
|
39
config/add_distro.sh
Executable file
|
@ -0,0 +1,39 @@
|
||||||
|
#!/bin/bash
|
||||||
|
TMP_DIR="/tmp"
|
||||||
|
yad --form --field="Pretty name" "" --field="Name" "" --field="Releases" "" --field="Editions" "" --field="URL" "" --field="ISO" "" --field="Hash" "" > ${TMP_DIR}/template.tmp
|
||||||
|
|
||||||
|
|
||||||
|
PRETTY_NAME="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f1)"
|
||||||
|
NAME="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f2)"
|
||||||
|
RELEASES="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f3)"
|
||||||
|
EDITIONS="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f4)"
|
||||||
|
URL="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f5)"
|
||||||
|
ISO="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f6)"
|
||||||
|
HASH="$(cat ${TMP_DIR}/template.tmp | cut -d'|' -f7)"
|
||||||
|
echo " $NAME) PRETTY_NAME=$PRETTY_NAME;;
|
||||||
|
" > ${TMP_DIR}/newvm.tmp
|
||||||
|
echo " $NAME \\
|
||||||
|
" >> ${TMP_DIR}/newvm.tmp
|
||||||
|
echo "function releases_$NAME() {
|
||||||
|
echo $RELEASES
|
||||||
|
}
|
||||||
|
" >> ${TMP_DIR}/newvm.tmp
|
||||||
|
echo "function editions_$NAME() {
|
||||||
|
echo $EDITIONS
|
||||||
|
}
|
||||||
|
" >> ${TMP_DIR}/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}"
|
||||||
|
}
|
||||||
|
" >> ${TMP_DIR}/newvm.tmp
|
||||||
|
echo "template.tmp content:
|
||||||
|
"
|
||||||
|
cat ${TMP_DIR}/template.tmp
|
||||||
|
echo "newvm.tmp content:
|
||||||
|
"
|
||||||
|
cat ${TMP_DIR}/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
|
8
config/distrohopper.conf
Normal file
|
@ -0,0 +1,8 @@
|
||||||
|
# quickyad config file
|
||||||
|
#SCRIPT_DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )"
|
||||||
|
VMS_DIR="/home/zen/VMS"
|
||||||
|
ICON_DIR="/usr/share/icons/distroicons"
|
||||||
|
TERMINAL=sakura
|
||||||
|
replace='"!"'
|
||||||
|
|
||||||
|
export "VMS_DIR" "CONFIG_DIR" "ICON_DIR" "TERMINAL" "replace"
|
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 |
111
config/icons/agarimos.svg
Normal file
|
@ -0,0 +1,111 @@
|
||||||
|
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
|
||||||
|
<!-- Created with Inkscape (http://www.inkscape.org/) -->
|
||||||
|
|
||||||
|
<svg
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
viewBox="0 0 512 512"
|
||||||
|
version="1.1"
|
||||||
|
id="svg5"
|
||||||
|
inkscape:version="1.1.1 (3bf5ae0d25, 2021-09-20)"
|
||||||
|
sodipodi:docname="agarimos.svg"
|
||||||
|
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
|
||||||
|
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
|
||||||
|
xmlns:xlink="http://www.w3.org/1999/xlink"
|
||||||
|
xmlns="http://www.w3.org/2000/svg"
|
||||||
|
xmlns:svg="http://www.w3.org/2000/svg">
|
||||||
|
<sodipodi:namedview
|
||||||
|
id="namedview7"
|
||||||
|
pagecolor="#ffffff"
|
||||||
|
bordercolor="#666666"
|
||||||
|
borderopacity="1.0"
|
||||||
|
inkscape:pageshadow="2"
|
||||||
|
inkscape:pageopacity="0.0"
|
||||||
|
inkscape:pagecheckerboard="0"
|
||||||
|
inkscape:document-units="px"
|
||||||
|
showgrid="false"
|
||||||
|
inkscape:zoom="1.655"
|
||||||
|
inkscape:cx="261.63142"
|
||||||
|
inkscape:cy="164.65257"
|
||||||
|
inkscape:window-width="1600"
|
||||||
|
inkscape:window-height="851"
|
||||||
|
inkscape:window-x="0"
|
||||||
|
inkscape:window-y="30"
|
||||||
|
inkscape:window-maximized="1"
|
||||||
|
inkscape:current-layer="layer1" />
|
||||||
|
<defs
|
||||||
|
id="defs2" />
|
||||||
|
<g
|
||||||
|
inkscape:label="Layer 1"
|
||||||
|
inkscape:groupmode="layer"
|
||||||
|
id="layer1"
|
||||||
|
transform="translate(-155,-154.69789)">
|
||||||
|
<image
|
||||||
|
width="512"
|
||||||
|
height="512"
|
||||||
|
preserveAspectRatio="none"
|
||||||
|
xlink:href="data:image/png;base64,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
|
||||||
|
jqVXrp0ZWQAAAABJRU5ErkJggg==
|
||||||
|
"
|
||||||
|
id="image1281"
|
||||||
|
x="155"
|
||||||
|
y="154.69789" />
|
||||||
|
</g>
|
||||||
|
</svg>
|
After Width: | Height: | Size: 5.8 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/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/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/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/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/icons/haiku.png
Normal file
After Width: | Height: | Size: 2.3 KiB |
1089
config/icons/hop.svg
Normal file
After Width: | Height: | Size: 1,006 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/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/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/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 |
Before Width: | Height: | Size: 2 KiB After Width: | Height: | Size: 2 KiB |
Before Width: | Height: | Size: 25 KiB After Width: | Height: | Size: 25 KiB |
Before Width: | Height: | Size: 58 KiB After Width: | Height: | Size: 58 KiB |