Commit c8d42ffd authored by Frede Hundewadt's avatar Frede Hundewadt

add applications utility

parent df37f9d0
<?xml version="1.0" encoding="UTF-8"?>
<module type="PYTHON_MODULE" version="4">
<component name="NewModuleRootManager">
<content url="file://$MODULE_DIR$" />
<orderEntry type="inheritedJdk" />
<orderEntry type="sourceFolder" forTests="false" />
</component>
<component name="TestRunnerService">
<option name="PROJECT_TEST_RUNNER" value="Unittests" />
</component>
</module>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="JavaScriptSettings">
<option name="languageLevel" value="ES6" />
</component>
<component name="ProjectRootManager" version="2" project-jdk-name="Python 3.7" project-jdk-type="Python SDK" />
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ProjectModuleManager">
<modules>
<module fileurl="file://$PROJECT_DIR$/.idea/manjaro-hello.iml" filepath="$PROJECT_DIR$/.idea/manjaro-hello.iml" />
</modules>
</component>
</project>
\ No newline at end of file
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="VcsDirectoryMappings">
<mapping directory="$PROJECT_DIR$" vcs="Git" />
</component>
</project>
\ No newline at end of file
This diff is collapsed.
This diff is collapsed.
[
{
"name": "Browsers",
"icon": "browser",
"description": "Web browsning and communication",
"apps": [
{
"name": "Chromium",
"icon": "chromium",
"description": "Open Sourced Chrome Browser",
"pkg": "chromium",
"extra": []
},
{
"name": "Firefox",
"icon": "mozilla-firefox",
"description": "Mozilla Web Browser",
"pkg": "firefox",
"extra": []
},
{
"name": "Opera",
"icon": "opera",
"description": "Fast and secure webbrowser",
"pkg": "opera",
"extra": []
}
]
},
{
"name": "E-mail",
"icon": "mail-client",
"description": "E-mail, Calendar, Tasks",
"apps": [
{
"name": "Evolution",
"icon": "evolution",
"description": "Manage your email, contacts and schedule",
"pkg": "evolution",
"extra": []
},
{
"name": "Thunderbird",
"icon": "thunderbird",
"description": "Send and receive mail, contacts and schedule",
"pkg": "thunderbird",
"extra": []
}
]
},
{
"name": "Backup",
"icon": "deja-dup",
"description": "Backup utilites",
"apps": [
{
"name": "Deja Dup",
"icon": "deja-dup",
"description": "Keep your important documents safe from disater",
"pkg": "deja-dup",
"extra": []
}
]
},
{
"name": "Text Editors",
"icon": "text-editor",
"description": "Simple editors for text or code",
"apps": [
{
"name": "Mousepad",
"icon": "mousepad",
"description": "Simple Text Editor",
"pkg": "mousepad",
"extra": []
},
{
"name": "Xed",
"icon": "xed",
"description": "A small and lightweight text editor. X Apps Project",
"pkg": "xed",
"extra": []
}
]
},
{
"name": "System Tools",
"icon": "disk-utility",
"description": "System Utilities",
"apps": [
{
"name": "Gnome Disks",
"icon": "gnome-disks",
"description": "Disk management system for Gnome",
"pkg": "gnome-disk-utility",
"extra": []
},
{
"name": "Gparted",
"icon": "gparted",
"description": "Create, reorganize, and delete partitions",
"pkg": "gparted",
"extra": []
},
{
"name": "Mintstick",
"icon": "mintstick",
"description": "Format or wirte imges to usb sticks (Linux Mint tool).",
"pkg": "mintstick",
"extra": []
},
{
"name": "Pamac",
"icon": "pamac-updater",
"description": "Update your System, Add/Remove Software from repo and AUR",
"pkg": "pamac",
"extra": []
}
]
},
{
"name": "Security",
"icon": "security-high",
"description": "Security oriented utilities",
"apps": [
{
"name": "KeePassX",
"icon": "keepassx",
"description": "Cross Platform Password Manager",
"pkg": "keepassx",
"extra": []
},
{
"name": "SeaHorse",
"icon": "seahorse",
"description": "Manage your passwords and encryption keys",
"pkg": "seahorse",
"extra": []
},
{
"name": "VeraCrypt",
"icon": "veracrypt",
"description": "Disk encryption with strong security based on TrueCrypt",
"pkg": "veracrypt",
"extra": []
}
]
},
{
"name": "Chat",
"icon": "internet-chat",
"description": "Online messaging and chat",
"apps": [
{
"name": "HexChat",
"icon": "hexchat",
"description": "Graphic IRC Client",
"pkg": "hexchat",
"extra": []
},
{
"name": "Pidgin Messenger",
"icon": "pidgin",
"description": "Instant messaging Client",
"pkg": "pidgin",
"extra": []
}
]
},
{
"name": "File Sharing",
"icon": "transmission",
"description": "FTP and Torrent apps",
"apps": [
{
"name": "Filezilla",
"icon": "filezilla",
"description": "Graphical FTP/FTPS/SFTP browser",
"pkg": "filezilla",
"extra": []
},
{
"name": "qBittorrent",
"icon": "qbittorrent",
"description": "Bittorrent Client",
"pkg": "qbittorrent",
"extra": []
}
]
},
{
"name": "Graphics Creating",
"icon": "applications-accessories",
"description": "Creating and editing graphics",
"apps": [
{
"name": "Krita",
"icon": "krita",
"description": "Create images and edit photographs",
"pkg": "krita",
"extra": []
},
{
"name": "Pinta",
"icon": "pinta",
"description": "Easy create and edit images",
"pkg": "pinta",
"extra": []
},
{
"name": "Tux Paint",
"icon": "tuxpaint",
"description": "Drawing program for children",
"pkg": "tuxpaint",
"extra": []
}
]
},
{
"name": "Graphics Organizing",
"icon": "applications-graphics",
"description": "Viewers and organizers",
"apps": [
{
"name": "gThumb",
"icon": "gthumb",
"description": "View and organize your images",
"pkg": "viewnior",
"extra": []
} ,
{
"name": "Gwenview",
"icon": "gwenview",
"description": "Image Viewer",
"pkg": "gwenview",
"extra": []
},
{
"name": "Shotwell",
"icon": "shotwell",
"description": "Popular Photo Manager",
"pkg": "shotwell",
"extra": []
}
]
},
{
"name": "Video/Movie",
"icon": "video-player",
"description": "Organize and play videos and movies",
"apps": [
{
"name": "SM Player",
"icon": "smplayer",
"description": "A great MPlayer front end",
"pkg": "smplayer",
"extra": []
},
{
"name": "VLC",
"icon": "vlc",
"description": "VLC media player, the openxource multimedia player",
"pkg": "vlc",
"extra": []
}
]
},
{
"name": "Audio",
"icon": "musicbrainz",
"description": "Audio players",
"apps": [
{
"name": "Clementine",
"icon": "clementine",
"description": "Play music files and internet radio",
"pkg": "clementine",
"extra": []
},
{
"name": "Rhythmbox",
"icon": "rhythmbox",
"description": "Gnome music playing application",
"pkg": "rhythmbox",
"extra": []
}
]
},
{
"name": "Office Suites",
"icon": "applications-office",
"description": "Office suites like MS Office",
"apps": [
{
"name": "Libre Office (Fresh)",
"icon": "libreoffice-writer",
"description": "Open Source Office Application (Lastest)",
"pkg": "libreoffice-fresh",
"extra": []
},
{
"name": "MS Office Online",
"icon": "ms-word",
"description": "Microsoft Office Online",
"pkg": "ms-office-online",
"extra": []
}
]
},
{
"name": "PDF",
"icon": "pdfeditor",
"description": "PDF applications applications",
"apps": [
{
"name": "Evince",
"icon": "evince",
"description": "View multi page documents",
"pkg": "evince",
"extra": []
},
{
"name": "Okular",
"icon": "okular",
"description": "Document Viewer",
"pkg": "okular",
"extra": []
}
]
},
{
"name": "E-Book",
"icon": "calibre",
"description": "E-book library apps",
"apps": [
{
"name": "Calibre",
"icon": "calibre-viewer",
"description": "The one stop solution to your e-book needs",
"pkg": "calibre",
"extra": []
},
{
"name": "FBReader",
"icon": "fbreader",
"description": "FBReader E-Book Reader",
"pkg": "fbreader",
"extra": []
}
]
}
]
\ No newline at end of file
{
"default_locale": "en",
"autostart_path": "~/.config/autostart/manjaro-hello.desktop",
"data_path": "/usr/share/manjaro-hello/data/",
"desktop_path": "/usr/share/applications/manjaro-hello.desktop",
"installer_path": "/usr/bin/calamares",
"live_path": "/run/miso/bootmnt/manjaro",
"locale_path": "/usr/share/locale/",
"logo_path": "/usr/share/icons/hicolor/64x64/apps/manjaro.png",
"save_path": "~/.config/manjaro-hello.json",
"ui_path": "/usr/share/manjaro-hello/ui/manjaro-hello.glade",
"urls": {
"development": "https://gitlab.manjaro.org",
"chat": "https://kiwiirc.com/client/irc.freenode.net/?nick=manjaro-web|?#manjaro",
"donate": "https://manjaro.org/donate",
"facebook": "https://www.facebook.com/ManjaroLinux",
"forum": "https://forum.manjaro.org",
"google+": "https://plus.google.com/118244873957924966264",
"mailling": "https://lists.manjaro.org/cgi-bin/mailman/listinfo",
"reddit": "https://www.reddit.com/r/ManjaroLinux",
"twitter": "https://twitter.com/ManjaroLinux",
"wiki": "https://wiki.manjaro.org"
}
"default_locale": "en",
"autostart_path": "~/.config/autostart/manjaro-hello.desktop",
"data_path": "/usr/share/manjaro-hello/data/",
"desktop_path": "/usr/share/applications/manjaro-hello.desktop",
"installer_path": "/usr/bin/calamares",
"live_path": "/run/miso/bootmnt/manjaro",
"locale_path": "/usr/share/locale/",
"logo_path": "/usr/share/icons/hicolor/64x64/apps/manjaro.png",
"save_path": "~/.config/manjaro-hello.json",
"ui_path": "/usr/share/manjaro-hello/ui/manjaro-hello.glade",
"data_set": "default",
"user_path": "~/.config",
"data_sets": [
"default",
"advanced"
],
"url": "https://gitlab.manjaro.org/fhdk/application-utility/raw/master",
"urls": {
"development": "https://gitlab.manjaro.org",
"chat": "https://kiwiirc.com/client/irc.freenode.net/?nick=manjaro-web|?#manjaro",
"donate": "https://manjaro.org/donate",
"facebook": "https://www.facebook.com/ManjaroLinux",
"forum": "https://forum.manjaro.org",
"google+": "https://plus.google.com/118244873957924966264",
"mailling": "https://lists.manjaro.org/cgi-bin/mailman/listinfo",
"reddit": "https://www.reddit.com/r/ManjaroLinux",
"twitter": "https://twitter.com/ManjaroLinux",
"wiki": "https://wiki.manjaro.org"
}
}
#!/bin/bash
# MIT License
#
# Copyright (c) 2018 Fredes Computer Service
#
# Permission is hereby granted, free of charge, to any person obtaining a copy
# of this software and associated documentation files (the "Software"), to deal
# in the Software without restriction, including without limitation the rights
# to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
# copies of the Software, and to permit persons to whom the Software is
# furnished to do so, subject to the following conditions:
#
# The above copyright notice and this permission notice shall be included in all
# copies or substantial portions of the Software.
#
# THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
# IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
# FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
# AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
# LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
# OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
# SOFTWARE.
#set -x
if [[ -n ${APP_UTILITY} ]]; then
echo "This script is part of Manjaro Application Utility\nIt is not meant to be run from command line\n exit()"
fi
# files
IN_PKG_FILE="/tmp/.install-packages.txt"
RM_PKG_FILE="/tmp/.remove-packages.txt"
PM_STATUS_FILE="/tmp/.pm-status.txt"
PM_LOCK_FILE="/var/lib/pacman/db.lck"
echo ${IN_PKG_FILE}
echo ${RM_PKG_FILE}
# messages
TITLE="Manjaro Application Utility"
UPD_DB_MSG="Updating Package Database..."
DB_LOCKED_MSG="Another package manager is running.\n
If you are updating the system\n
you MUST finish before continuing.\n
If you are not, it is safe to kill the other process.\n
What would you like to do?"
KILL_PROCESS="Kill other process and continue"
WAIT_PROCESS="Wait to finish updating"
IN_WORKING_MSG="Installing Packages..."
RM_WORKING_MSG="Uninstalling Packages..."
DONE="Your System has Been Successfully Updated"
if [[ -f ${IN_PKG_FILE} ]]; then
IN_PKG=` cat ${IN_PKG_FILE} `
echo ${IN_PKG}
fi
if [[ -f ${RM_PKG_FILE} ]]; then
RM_PKG=` cat ${RM_PKG_FILE} `
echo ${RM_PKG}
fi
# Make sure only root can run our script
if [[ $EUID -ne 0 ]]; then
echo "Superuser required ..." 1>&2
exit 1
fi
# updating databases and writing results to a file
pacman -Syy | tee ${PM_STATUS_FILE} | zenity --progress --title="${TITLE}" --no-cancel --pulsate --text "${UPD_DB_MSG}" --width=500 --auto-close
PM_STATUS=` cat ${PM_STATUS_FILE} `
# checking for other running package managers
if [[ $(cat ${PM_STATUS_FILE} | grep -i 'core.db') = "" ]]
then # giving choice to user to kill other process or wait
ans=$(zenity --list --title="${TITLE}" --radiolist --text "${DB_LOCKED_MSG}" --column Select --column Choice TRUE "${KILL_PROCESS}" FALSE "${WAIT_PROCESS}" --width=500 --height=300)
# killing pamac and unlocking db
if [ "$ans" = "${KILL_PROCESS}" ]
then
killall pamac-updater
killall pamac-manager
rm ${PM_LOCK_FILE}
pacman -Syy | zenity --progress --title="${TITLE}" --no-cancel --pulsate --text "${UPD_DB_MSG}" --width=500 --auto-close
else # exiting according to user choice
exit
fi
fi
# Installing packages
if [[ -n ${IN_PKG} ]]; then
pacman -Syu --noconfirm ${IN_PKG} | zenity --progress --title="${TITLE}" --no-cancel --pulsate --text "${IN_WORKING_MSG}" --width=500 --auto-close
fi
# Uninstalling packages
if [[ -n ${RM_PKG} ]]; then
pacman -R --noconfirm ${RM_PKG} | zenity --progress --title="${TITLE}" --no-cancel --pulsate --text "${RM_WORKING_MSG}" --width=500 --auto-close
fi
# Letting user know that packages have been installed
zenity --info --text="${DONE}" --width=500 --height=300
# removing files no longer needed
if [[ -f ${IN_PKG_FILE} ]]; then
rm ${IN_PKG_FILE}
fi
if [[ -f ${RM_PKG_FILE} ]]; then
rm ${RM_PKG_FILE}
fi
if [[ -f ${PM_STATUS_FILE} ]]; then
rm ${PM_STATUS_FILE}
fi
if [[ -f ${PM_LOCK_FILE} ]]; then
rm ${PM_LOCK_FILE}
fi
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment