diff --git a/Readme.md b/Readme.md index ceb0d69..833c482 100644 --- a/Readme.md +++ b/Readme.md @@ -132,6 +132,15 @@ Plasma 5 Dolphin service menu script for hacking and breaking PDF password prote FORMAT: Arch Linux PKGBUILD script. +**kde-servicemenus-virtualbox** +-------------- + +Plasma 5 Dolphin service menu script for resizing VirtualBox VDI files (virtual machines) via right clicking. + +Input value: size in gigabyte (only a number, nothing else) + +FORMAT: Arch Linux PKGBUILD script + source files. + **kde-thumbnailer-ooxml-kf5** -------------- diff --git a/kde-servicemenus-virtualbox/PKGBUILD b/kde-servicemenus-virtualbox/PKGBUILD new file mode 100644 index 0000000..9804e32 --- /dev/null +++ b/kde-servicemenus-virtualbox/PKGBUILD @@ -0,0 +1,17 @@ +pkgname=kde-servicemenus-virtualbox +pkgver=1 +pkgrel=1 +pkgdesc="A KDE service menus for resizing virtualbox VDI files (KDE5 Dolphin action)" +arch=('any') +license=('GPL') +depends=('virtualbox' 'dolphin' 'kdialog') +source=('virtualbox-resize.sh' +'virtualbox-resize.desktop') +md5sums=('0b939f4459b6cf0d0b69523bf2fe7c06' + 'aa354e3083eaab1eddff76fd97c6c88b') + +package() { + mkdir -p $pkgdir/usr/share/kservices5/ServiceMenus/ + cp $srcdir/{virtualbox-resize.desktop,virtualbox-resize.sh} $pkgdir/usr/share/kservices5/ServiceMenus/ + chmod 755 $pkgdir/usr/share/kservices5/ServiceMenus/{virtualbox-resize.desktop,virtualbox-resize.sh} +} diff --git a/kde-servicemenus-virtualbox/virtualbox-resize.desktop b/kde-servicemenus-virtualbox/virtualbox-resize.desktop new file mode 100644 index 0000000..232b99c --- /dev/null +++ b/kde-servicemenus-virtualbox/virtualbox-resize.desktop @@ -0,0 +1,15 @@ +[Desktop Entry] +Type=Service +ServiceTypes=KonqPopupMenu/Plugin +X-KDE-ServiceTypes=KonqPopupMenu/Plugin +Icon=virtualbox-vdi +MimeType=application/x-virtualbox-vdi +Actions=virtualbox-resize +X-KDE-StartupNotify=false +X-KDE-Priority=TopLevel +TryExec=VBoxManage + +[Desktop Action virtualbox-resize] +Name=Resize VirtualBox Machine +Icon=virtualbox-vdi +Exec=/usr/share/kservices5/ServiceMenus/virtualbox-resize.sh diff --git a/kde-servicemenus-virtualbox/virtualbox-resize.sh b/kde-servicemenus-virtualbox/virtualbox-resize.sh new file mode 100644 index 0000000..45dee20 --- /dev/null +++ b/kde-servicemenus-virtualbox/virtualbox-resize.sh @@ -0,0 +1,13 @@ +#!/bin/bash + +NEWSIZE=$(( 1024* $(kdialog --inputbox "Please enter new size in gigabytes (GB)"))); + +while [ $# -gt 0 ]; do + VBOXMACHINE=$1 + VBoxManage modifyhd "$VBOXMACHINE" --resize $NEWSIZE + shift +done + +if [[ "$NEWSIZE" == ?(-)+([0-9]) ]]; then + kdialog --msgbox "Done. Use a live-cd to extend the partition." --title "Resize VirtualBox Machine" +fi