aboutsummaryrefslogtreecommitdiff
path: root/lumina-desktop
diff options
context:
space:
mode:
Diffstat (limited to 'lumina-desktop')
-rw-r--r--lumina-desktop/AppMenu.cpp117
-rw-r--r--lumina-desktop/AppMenu.h52
-rw-r--r--lumina-desktop/Globals.h74
-rw-r--r--lumina-desktop/Insight-FileManager.pngbin0 -> 2829 bytes
-rw-r--r--lumina-desktop/LDesktop.cpp424
-rw-r--r--lumina-desktop/LDesktop.h98
-rw-r--r--lumina-desktop/LPanel.cpp207
-rw-r--r--lumina-desktop/LPanel.h59
-rw-r--r--lumina-desktop/LSession.cpp337
-rw-r--r--lumina-desktop/LSession.h98
-rw-r--r--lumina-desktop/Lumina-DE.desktop34
-rw-r--r--lumina-desktop/Lumina-DE.pngbin0 -> 2847 bytes
-rw-r--r--lumina-desktop/Lumina-DE.qrc7
-rw-r--r--lumina-desktop/SettingsMenu.cpp39
-rw-r--r--lumina-desktop/SettingsMenu.h27
-rw-r--r--lumina-desktop/SystemWindow.cpp48
-rw-r--r--lumina-desktop/SystemWindow.h56
-rw-r--r--lumina-desktop/SystemWindow.ui147
-rw-r--r--lumina-desktop/WMProcess.cpp115
-rw-r--r--lumina-desktop/WMProcess.h43
-rw-r--r--lumina-desktop/audiofiles/LICENCE1
-rw-r--r--lumina-desktop/audiofiles/Login.oggbin0 -> 32111 bytes
-rw-r--r--lumina-desktop/audiofiles/Logout.oggbin0 -> 31255 bytes
-rw-r--r--lumina-desktop/defaults/defaultapps.conf1
-rw-r--r--lumina-desktop/defaults/desktop-background.jpgbin0 -> 404559 bytes
-rw-r--r--lumina-desktop/defaults/desktopsettings.conf1
-rw-r--r--lumina-desktop/defaults/stylesheet.qss39
-rw-r--r--lumina-desktop/desktop-plugins/LDPlugin.h59
-rw-r--r--lumina-desktop/desktop-plugins/LDPluginContainer.h110
-rw-r--r--lumina-desktop/desktop-plugins/NewDP.h38
-rw-r--r--lumina-desktop/desktop-plugins/SamplePlugin.h38
-rw-r--r--lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.h84
-rw-r--r--lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h31
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DeskItem.cpp50
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DeskItem.h30
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp87
-rw-r--r--lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h43
-rw-r--r--lumina-desktop/fluxboxconf/fluxbox-init-rc82
-rw-r--r--lumina-desktop/fluxboxconf/fluxbox-keys141
-rw-r--r--lumina-desktop/i18n/lumina-desktop_af.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ar.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_az.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_bg.ts403
-rw-r--r--lumina-desktop/i18n/lumina-desktop_bn.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_bs.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ca.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_cs.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_cy.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_da.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_de.ts407
-rw-r--r--lumina-desktop/i18n/lumina-desktop_el.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_en_GB.ts372
-rw-r--r--lumina-desktop/i18n/lumina-desktop_en_ZA.ts372
-rw-r--r--lumina-desktop/i18n/lumina-desktop_es.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_et.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_eu.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_fa.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_fi.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_fr.ts372
-rw-r--r--lumina-desktop/i18n/lumina-desktop_fr_CA.ts372
-rw-r--r--lumina-desktop/i18n/lumina-desktop_gl.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_he.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_hi.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_hr.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_hu.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_id.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_is.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_it.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ja.ts372
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ka.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ko.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_lt.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_lv.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_mk.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_mn.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ms.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_mt.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_nb.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_nl.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_pa.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_pl.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_pt.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_pt_BR.ts408
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ro.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ru.ts405
-rw-r--r--lumina-desktop/i18n/lumina-desktop_sk.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_sl.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_sr.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_sv.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_sw.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_ta.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_tg.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_th.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_tr.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_uk.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_uz.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_vi.ts408
-rw-r--r--lumina-desktop/i18n/lumina-desktop_zh_CN.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_zh_HK.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_zh_TW.ts455
-rw-r--r--lumina-desktop/i18n/lumina-desktop_zu.ts455
-rw-r--r--lumina-desktop/images/desktop-background.jpgbin0 -> 1237995 bytes
-rw-r--r--lumina-desktop/images/sample-colorschemes.ui117
-rw-r--r--lumina-desktop/lumina-desktop.pro173
-rw-r--r--lumina-desktop/main.cpp100
-rw-r--r--lumina-desktop/panel-plugins/LPPlugin.h65
-rw-r--r--lumina-desktop/panel-plugins/LTBWidget.h67
-rw-r--r--lumina-desktop/panel-plugins/NewPP.h56
-rw-r--r--lumina-desktop/panel-plugins/battery/LBattery.cpp106
-rw-r--r--lumina-desktop/panel-plugins/battery/LBattery.h49
-rw-r--r--lumina-desktop/panel-plugins/battery/NOTES49
-rw-r--r--lumina-desktop/panel-plugins/clock/LClock.cpp35
-rw-r--r--lumina-desktop/panel-plugins/clock/LClock.h34
-rw-r--r--lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp206
-rw-r--r--lumina-desktop/panel-plugins/desktopbar/LDeskBar.h85
-rw-r--r--lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp133
-rw-r--r--lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h67
-rw-r--r--lumina-desktop/panel-plugins/spacer/LSpacer.h34
-rw-r--r--lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.cpp88
-rw-r--r--lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.h66
-rw-r--r--lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.cpp162
-rw-r--r--lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.h52
-rw-r--r--lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.ui348
-rw-r--r--lumina-desktop/panel-plugins/systemtray/LSysTray.cpp249
-rw-r--r--lumina-desktop/panel-plugins/systemtray/LSysTray.h76
-rw-r--r--lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp142
-rw-r--r--lumina-desktop/panel-plugins/systemtray/TrayIcon.h60
-rw-r--r--lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp194
-rw-r--r--lumina-desktop/panel-plugins/taskmanager/LTaskButton.h64
-rw-r--r--lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.cpp101
-rw-r--r--lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.h68
-rw-r--r--lumina-desktop/panel-plugins/taskmanager/LWinInfo.h84
-rw-r--r--lumina-desktop/panel-plugins/userbutton/LUserButton.cpp45
-rw-r--r--lumina-desktop/panel-plugins/userbutton/LUserButton.h64
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp111
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserItemWidget.h56
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserWidget.cpp215
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserWidget.h82
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserWidget.ui385
-rw-r--r--lumina-desktop/wallpapers/Lumina_Wispy_gold_1920x1080.jpgbin0 -> 918104 bytes
-rw-r--r--lumina-desktop/wallpapers/Lumina_Wispy_green_1920x1080.jpgbin0 -> 464895 bytes
-rw-r--r--lumina-desktop/wallpapers/Lumina_Wispy_purple_1920x1080.jpgbin0 -> 335282 bytes
-rw-r--r--lumina-desktop/wallpapers/Lumina_Wispy_red_1920x1080.jpgbin0 -> 404559 bytes
143 files changed, 34456 insertions, 0 deletions
diff --git a/lumina-desktop/AppMenu.cpp b/lumina-desktop/AppMenu.cpp
new file mode 100644
index 00000000..e2e5cede
--- /dev/null
+++ b/lumina-desktop/AppMenu.cpp
@@ -0,0 +1,117 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "AppMenu.h"
+#include "LSession.h"
+
+AppMenu::AppMenu(QWidget* parent) : QMenu(parent){
+ appstorelink = "/usr/local/share/applications/softmanager.desktop"; //Default application "store" to display (AppCafe in PC-BSD)
+ controlpanellink = "/usr/local/share/applications/pccontrol.desktop"; //Default control panel
+ APPS.clear();
+ watcher = new QFileSystemWatcher(this);
+ connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(watcherUpdate()) );
+ QTimer::singleShot(200, this, SLOT(start()) ); //Now start filling the menu
+ this->setTitle(tr("Applications"));
+ this->setIcon( LXDG::findIcon("system-run","") );
+}
+
+AppMenu::~AppMenu(){
+
+}
+
+QHash<QString, QList<XDGDesktop> >* AppMenu::currentAppHash(){
+ return &APPS;
+}
+
+//===========
+// PRIVATE
+//===========
+void AppMenu::updateAppList(){
+ this->clear();
+ APPS.clear();
+ APPS = LXDG::sortDesktopCats( LXDG::systemDesktopFiles() );
+ //Now fill the menu
+ bool ok; //for checking inputs
+ //Add link to the file manager
+ this->addAction( LXDG::findIcon("user-home", ""), tr("Open Home"), this, SLOT(launchFileManager()) );
+ //--Look for the app store
+ XDGDesktop store = LXDG::loadDesktopFile(appstorelink, ok);
+ if(ok){
+ this->addAction( LXDG::findIcon(store.icon, ""), tr("Install Applications"), this, SLOT(launchStore()) );
+ }
+ //--Look for the control panel
+ store = LXDG::loadDesktopFile(controlpanellink, ok);
+ if(ok){
+ this->addAction( LXDG::findIcon(store.icon, ""), tr("Control Panel"), this, SLOT(launchControlPanel()) );
+ }
+ this->addSeparator();
+ //--Now create the sub-menus
+ QStringList cats = APPS.keys();
+ cats.sort(); //make sure they are alphabetical
+ for(int i=0; i<cats.length(); i++){
+ //Make sure they are translated and have the right icons
+ QString name, icon;
+ if(cats[i] == "Multimedia"){ name = tr("Multimedia"); icon = "applications-multimedia"; }
+ else if(cats[i] == "Development"){ name = tr("Development"); icon = "applications-development"; }
+ else if(cats[i] == "Education"){ name = tr("Education"); icon = "applications-education"; }
+ else if(cats[i] == "Game"){ name = tr("Games"); icon = "applications-games"; }
+ else if(cats[i] == "Graphics"){ name = tr("Graphics"); icon = "applications-graphics"; }
+ else if(cats[i] == "Network"){ name = tr("Network"); icon = "applications-internet"; }
+ else if(cats[i] == "Office"){ name = tr("Office"); icon = "applications-office"; }
+ else if(cats[i] == "Science"){ name = tr("Science"); icon = "applications-science"; }
+ else if(cats[i] == "Settings"){ name = tr("Settings"); icon = "preferences-system"; }
+ else if(cats[i] == "System"){ name = tr("System"); icon = "applications-system"; }
+ else if(cats[i] == "Utility"){ name = tr("Utility"); icon = "applications-utilities"; }
+ else{ name = tr("Unsorted"); icon = "applications-other"; }
+
+ QMenu *menu = new QMenu(name, this);
+ menu->setIcon(LXDG::findIcon(icon,""));
+ connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(launchApp(QAction*)) );
+ QList<XDGDesktop> appL = APPS.value(cats[i]);
+ for( int a=0; a<appL.length(); a++){
+ QAction *act = new QAction(LXDG::findIcon(appL[a].icon, ""), appL[a].name, this);
+ act->setToolTip(appL[a].comment);
+ act->setWhatsThis(appL[a].filePath);
+ menu->addAction(act);
+ }
+ this->addMenu(menu);
+ }
+}
+
+//=================
+// PRIVATE SLOTS
+//=================
+void AppMenu::start(){
+ //Setup the watcher
+ watcher->addPaths(LXDG::systemApplicationDirs());
+ //Now fill the menu the first time
+ updateAppList();
+}
+
+void AppMenu::watcherUpdate(){
+ updateAppList(); //Update the menu listings
+}
+
+void AppMenu::launchStore(){
+ LSession::LaunchApplication("lumina-open \""+appstorelink+"\"");
+ //QProcess::startDetached("lumina-open \""+appstorelink+"\"");
+}
+
+void AppMenu::launchControlPanel(){
+ LSession::LaunchApplication("lumina-open \""+controlpanellink+"\"");
+ //QProcess::startDetached("lumina-open \""+controlpanellink+"\"");
+}
+
+void AppMenu::launchFileManager(){
+ LSession::LaunchApplication("lumina-fm");
+ //QProcess::startDetached("lumina-fm");
+}
+
+void AppMenu::launchApp(QAction *act){
+ QString appFile = act->whatsThis();
+ LSession::LaunchApplication("lumina-open \""+appFile+"\"");
+ //QProcess::startDetached("lumina-open \""+appFile+"\"");
+}
diff --git a/lumina-desktop/AppMenu.h b/lumina-desktop/AppMenu.h
new file mode 100644
index 00000000..13417dcb
--- /dev/null
+++ b/lumina-desktop/AppMenu.h
@@ -0,0 +1,52 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This menu auto-updates to keep the list of available applications
+// current at all times - and can launch them as necessary
+//===========================================
+#ifndef _LUMINA_DESKTOP_APP_MENU_H
+#define _LUMINA_DESKTOP_APP_MENU_H
+
+// Qt includes
+#include <QMenu>
+#include <QFileSystemWatcher>
+#include <QString>
+#include <QList>
+#include <QTimer>
+#include <QHash>
+#include <QAction>
+//#include <QProcess>
+
+// libLumina includes
+#include <LuminaXDG.h>
+
+class AppMenu : public QMenu{
+ Q_OBJECT
+public:
+ AppMenu(QWidget *parent = 0);
+ ~AppMenu();
+
+ QHash<QString, QList<XDGDesktop> > *currentAppHash();
+
+private:
+ QFileSystemWatcher *watcher;
+ QString appstorelink, controlpanellink; //default *.desktop file to use as the "store"
+ QList<QMenu> MLIST;
+ QHash<QString, QList<XDGDesktop> > APPS;
+
+ void updateAppList(); //completely update the menu lists
+
+private slots:
+ void start(); //This is called in a new thread after initialization
+ void watcherUpdate();
+ void launchStore();
+ void launchControlPanel();
+ void launchFileManager();
+ void launchApp(QAction *act);
+};
+
+#endif
+
diff --git a/lumina-desktop/Globals.h b/lumina-desktop/Globals.h
new file mode 100644
index 00000000..64b1e438
--- /dev/null
+++ b/lumina-desktop/Globals.h
@@ -0,0 +1,74 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_GLOBALS_H
+#define _LUMINA_DESKTOP_GLOBALS_H
+
+#include <LuminaUtils.h>
+
+#include <unistd.h>
+#include <stdio.h>
+
+/*#ifdef __linux
+ // Needed for BUFSIZ
+ #include <stdio.h>
+#endif // #ifdef __linux*/
+
+class Lumina{
+public:
+ enum STATES {NONE, VISIBLE, INVISIBLE, ACTIVE, NOTIFICATION, NOSHOW};
+
+};
+
+class SYSTEM{
+public:
+ //Installation location for finding default files
+ static QString installDir(){ return "/usr/local/share/Lumina-DE/"; }
+ //Current Username
+ static QString user(){ return QString::fromLocal8Bit(getlogin()); }
+ //Current Hostname
+ static QString hostname(){
+ char name[BUFSIZ];
+ int count = gethostname(name,sizeof(name));
+ if (count < 0) {
+ return QString::null;
+ }
+ return QString::fromLocal8Bit(name,count);
+ }
+ /*//Shutdown the system
+#ifdef __linux
+ static void shutdown(){ system("(shutdown -h now) &"); }
+#else // #ifdef __linux
+ static void shutdown(){ system("(shutdown -p now) &"); }
+#endif // #ifdef __linux
+ //Restart the system
+ static void restart(){ system("(shutdown -r now) &"); }
+
+ //Determine if there is battery support
+ static bool hasBattery(){
+ int val = LUtils::getCmdOutput("apm -l").join("").toInt();
+ return (val >= 0 && val <= 100);
+ }
+
+ //Get the current battery charge percentage
+ static int batteryCharge(){
+ int charge = LUtils::getCmdOutput("apm -l").join("").toInt();
+ if(charge > 100){ charge = -1; } //invalid charge
+ return charge;
+ }
+
+ //Get the current battery charge percentage
+ static bool batteryIsCharging(){
+ return (LUtils::getCmdOutput("apm -a").join("").simplified() == "1");
+ }
+
+ //Get the amount of time remaining for the battery
+ static int batterySecondsLeft(){
+ return LUtils::getCmdOutput("apm -t").join("").toInt();
+ }*/
+};
+
+#endif
diff --git a/lumina-desktop/Insight-FileManager.png b/lumina-desktop/Insight-FileManager.png
new file mode 100644
index 00000000..46cfaad7
--- /dev/null
+++ b/lumina-desktop/Insight-FileManager.png
Binary files differ
diff --git a/lumina-desktop/LDesktop.cpp b/lumina-desktop/LDesktop.cpp
new file mode 100644
index 00000000..c51f5de0
--- /dev/null
+++ b/lumina-desktop/LDesktop.cpp
@@ -0,0 +1,424 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012-2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LDesktop.h"
+#include "LSession.h"
+
+LDesktop::LDesktop(int deskNum) : QObject(){
+
+ DPREFIX = "desktop-"+QString::number(deskNum)+"/";
+ desktopnumber = deskNum;
+ desktop = QApplication::desktop();
+ connect(desktop, SIGNAL(resized(int)), this, SLOT(UpdateGeometry(int)));
+ defaultdesktop = (desktop->screenGeometry(desktopnumber).x()==0);
+ desktoplocked = true;
+ issyncing = false;
+ qDebug() << "Desktop #"<<deskNum<<" -> "<< desktop->screenGeometry(desktopnumber).x() << desktop->screenGeometry(desktopnumber).y() << desktop->screenGeometry(desktopnumber).width() << desktop->screenGeometry(desktopnumber).height();
+ deskMenu = new QMenu(0);
+ connect(deskMenu, SIGNAL(triggered(QAction*)), this, SLOT(SystemApplication(QAction*)) );
+ appmenu = new AppMenu(0);
+ workspacelabel = new QLabel(0);
+ workspacelabel->setAlignment(Qt::AlignCenter);
+ wkspaceact = new QWidgetAction(0);
+ wkspaceact->setDefaultWidget(workspacelabel);
+ //Setup the internal variables
+ settings = new QSettings(QSettings::UserScope, "LuminaDE","desktopsettings", this);
+ //qDebug() << " - Desktop Settings File:" << settings->fileName();
+ if(!QFile::exists(settings->fileName())){ settings->setValue(DPREFIX+"background/filelist",QStringList()<<"default"); settings->sync(); }
+ bgtimer = new QTimer(this);
+ bgtimer->setSingleShot(true);
+ connect(bgtimer, SIGNAL(timeout()), this, SLOT(UpdateBackground()) );
+ watcher = new QFileSystemWatcher(this);
+ //connect(LSession::instance(), SIGNAL(DesktopConfigChanged()), this, SLOT(SettingsChanged()) );
+ watcher->addPath(settings->fileName());
+ connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(SettingsChanged()) );
+
+ bgWindow = new QWidget(0);
+ bgWindow->setObjectName("bgWindow");
+ bgWindow->setContextMenuPolicy(Qt::CustomContextMenu);
+ LX11::SetAsDesktop(bgWindow->winId());
+ bgWindow->setGeometry(desktop->screenGeometry(desktopnumber));
+ connect(bgWindow, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(ShowMenu()) );
+ bgDesktop = new QMdiArea(bgWindow);
+ //Make sure the desktop area is transparent to show the background
+ bgDesktop->setBackground( QBrush(Qt::NoBrush) );
+
+ //Start the update processes
+ QTimer::singleShot(1,this, SLOT(UpdateMenu()) );
+ QTimer::singleShot(1,this, SLOT(UpdateBackground()) );
+ QTimer::singleShot(1,this, SLOT(UpdateDesktop()) );
+ QTimer::singleShot(10,this, SLOT(UpdatePanels()) );
+
+}
+
+LDesktop::~LDesktop(){
+ delete deskMenu;
+ delete appmenu;
+ delete bgWindow;
+ delete workspacelabel;
+ delete wkspaceact;
+}
+
+int LDesktop::Screen(){
+ return desktopnumber;
+}
+
+void LDesktop::show(){
+ bgWindow->show();
+ bgDesktop->show();
+ for(int i=0; i<PANELS.length(); i++){ PANELS[i]->show(); }
+}
+
+void LDesktop::hide(){
+ bgWindow->hide();
+ bgDesktop->hide();
+ for(int i=0; i<PANELS.length(); i++){ PANELS[i]->hide(); }
+}
+
+void LDesktop::SystemLogout(){
+ LSession::systemWindow();
+}
+
+void LDesktop::SystemTerminal(){
+ QString term = settings->value("default-terminal","xterm").toString();
+ LSession::LaunchApplication(term);
+}
+
+void LDesktop::SystemFileManager(){
+ LSession::LaunchApplication("lumina-fm");
+}
+
+void LDesktop::SystemApplication(QAction* act){
+ if(!act->whatsThis().isEmpty() && act->parent()==deskMenu){
+ LSession::LaunchApplication("lumina-open \""+act->whatsThis()+"\"");
+ }
+}
+
+void LDesktop::CreateDesktopPluginContainer(LDPlugin *plug){
+ //Verify that a container does not already exist for this plugin
+ QList<QMdiSubWindow*> wins = bgDesktop->subWindowList();
+ for(int i=0; i<wins.length(); i++){
+ if(wins[i]->whatsThis()==plug->ID()){ return; }
+ }
+ //Create a new plugin container
+ LDPluginContainer *win = new LDPluginContainer(plug, desktoplocked);
+ if(desktoplocked){ bgDesktop->addSubWindow(win, Qt::FramelessWindowHint); }
+ else{ bgDesktop->addSubWindow(win, Qt::CustomizeWindowHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint); }
+ win->loadInitialPosition();
+ win->show();
+ win->update();
+ connect(win, SIGNAL(PluginRemoved(QString)), this, SLOT(DesktopPluginRemoved(QString)) );
+}
+
+// =====================
+// PRIVATE SLOTS
+// =====================
+void LDesktop::SettingsChanged(){
+ if(changingsettings || issyncing){ return; } //don't refresh for internal modifications to the fil
+ issyncing = true;
+ qDebug() << "Found Settings Change:" << desktopnumber;
+ settings->sync(); //make sure to sync with external settings changes
+ UpdateBackground();
+ UpdateDesktop();
+ UpdatePanels();
+ UpdateMenu();
+ QTimer::singleShot(200, this, SLOT(UnlockSettings()) ); //give it a few moments to settle before performing another sync
+}
+
+void LDesktop::UpdateMenu(bool fast){
+ //qDebug() << " - Update Menu:" << desktopnumber;
+ //Put a label at the top
+ int num = LX11::GetCurrentDesktop();
+ //qDebug() << "Found desktop number:" << num;
+ if(num < 0){ workspacelabel->setText( "<b>"+tr("Lumina Desktop")+"</b>"); }
+ else{ workspacelabel->setText( "<b>"+QString(tr("Workspace %1")).arg(QString::number(num+1))+"</b>"); }
+ if(fast){ return; } //already done
+ deskMenu->clear(); //clear it for refresh
+ deskMenu->addAction(wkspaceact);
+ deskMenu->addSeparator();
+ //Now load the user's menu setup and fill the menu
+ QStringList items = settings->value("menu/itemlist", QStringList()<< "terminal" << "filemanager" <<"applications" << "line" << "settings" ).toStringList();
+ for(int i=0; i<items.length(); i++){
+ if(items[i]=="terminal"){ deskMenu->addAction(LXDG::findIcon("utilities-terminal",""), tr("Terminal"), this, SLOT(SystemTerminal()) ); }
+ else if(items[i]=="filemanager"){ deskMenu->addAction( LXDG::findIcon("Insight-FileManager",""), tr("Browse System"), this, SLOT(SystemFileManager()) ); }
+ else if(items[i]=="applications"){ deskMenu->addMenu( LSession::applicationMenu() ); }
+ else if(items[i]=="line"){ deskMenu->addSeparator(); }
+ else if(items[i]=="settings"){ deskMenu->addMenu( LSession::settingsMenu() ); }
+ else if(items[i].startsWith("app::::") && items[i].endsWith(".desktop")){
+ //Custom *.desktop application
+ QString file = items[i].section("::::",1,1).simplified();
+ bool ok = false;
+ XDGDesktop xdgf = LXDG::loadDesktopFile(file, ok);
+ if(ok){
+ deskMenu->addAction( LXDG::findIcon(xdgf.icon,""), xdgf.name)->setWhatsThis(file);
+ }else{
+ qDebug() << "Could not load application file:" << file;
+ }
+ }
+ }
+ //Now add the system quit options
+ deskMenu->addSeparator();
+ if(!desktoplocked){
+ deskMenu->addAction(LXDG::findIcon("document-encrypt",""),tr("Lock Desktop"), this, SLOT(ToggleDesktopLock()) );
+ deskMenu->addAction(LXDG::findIcon("snap-orthogonal",""),tr("Snap Plugins to Grid"), this, SLOT(AlignDesktopPlugins()) );
+ }else{ deskMenu->addAction(LXDG::findIcon("document-decrypt",""),tr("Unlock Desktop"), this, SLOT(ToggleDesktopLock()) ); }
+ deskMenu->addSeparator();
+ deskMenu->addAction(LXDG::findIcon("system-log-out",""), tr("Log Out"), this, SLOT(SystemLogout()) );
+}
+
+void LDesktop::UpdateDesktop(){
+ qDebug() << " - Update Desktop Plugins for screen:" << desktopnumber;
+ static bool loading = false;
+ if(loading){ return; } //make sure to only run this once
+ loading = true;
+ QStringList plugins = settings->value(DPREFIX+"pluginlist", QStringList()).toStringList();
+ if(defaultdesktop && plugins.isEmpty()){
+ //plugins << "sample" << "sample" << "sample";
+ }
+ bool changed=false; //in case the plugin list needs to be changed
+ //Go through the plugins and remove any existing ones that do not show up on the current list
+ for(int i=0; i<PLUGINS.length(); i++){
+ if(!plugins.contains(PLUGINS[i]->ID())){
+ //Remove this plugin (with settings) - is not currently listed
+ DesktopPluginRemoved(PLUGINS[i]->ID());
+ i--;
+ }
+ }
+ //Now add/update plugins
+ for(int i=0; i<plugins.length(); i++){
+ //See if this plugin is already there
+ LDPlugin *plug = 0;
+ for(int p=0; p<PLUGINS.length(); p++){
+ //qDebug() << " -- Existing Plugin:" << PLUGINS[p]->ID() << p << PLUGINS.length();
+ if(PLUGINS[p]->ID()==plugins[i]){
+ //qDebug() << " -- Found Plugin";
+ plug = PLUGINS[p];
+ break;
+ }
+ }
+ if(plug==0){
+ //New Plugin
+ //Make sure the plugin ID is unique
+ if(!plugins[i].contains("---") ){
+ int num=1;
+ while( plugins.contains(plugins[i]+"---"+QString::number(desktopnumber)+"."+QString::number(num)) ){
+ num++;
+ }
+ plugins[i] = plugins[i]+"---"+QString::number(desktopnumber)+"."+QString::number(num);
+ changed=true;
+ }
+ //Now create the plugin (will load existing settings if possible)
+ qDebug() << " -- New Plugin:" << plugins[i];
+ plug = NewDP::createPlugin(plugins[i], bgDesktop);
+ if(plug != 0){
+ //qDebug() << " -- Show Plugin";
+ PLUGINS << plug;
+ CreateDesktopPluginContainer(plug);
+ }
+ }
+
+ }
+ if(changed){
+ //save the modified plugin list to file (so per-plugin settings are preserved)
+ changingsettings=true; //don't let the change cause a refresh
+ settings->setValue(DPREFIX+"pluginlist", plugins);
+ settings->sync();
+ changingsettings=false; //finished changing setting
+ }
+ loading = false;
+}
+
+void LDesktop::ToggleDesktopLock(){
+ desktoplocked = !desktoplocked; //flip to other value
+ //Remove all the current containers
+ QList<QMdiSubWindow*> wins = bgDesktop->subWindowList();
+ for(int i=0; i<wins.length(); i++){
+ wins[i]->setWhatsThis(""); //clear this so it knows it is being temporarily removed
+ bgDesktop->removeSubWindow(wins[i]->widget()); //unhook plugin from container
+ bgDesktop->removeSubWindow(wins[i]); //remove container from screen
+ delete wins[i]; //delete old container
+ }
+ //Now recreate all the containers on the screen
+ for(int i=0; i<PLUGINS.length(); i++){
+ CreateDesktopPluginContainer(PLUGINS[i]);
+ }
+ bgDesktop->update(); //refresh visuals
+ UpdateMenu(false);
+}
+
+void LDesktop::AlignDesktopPlugins(){
+ QList<QMdiSubWindow*> wins = bgDesktop->subWindowList();
+ QSize fit = bgDesktop->size();
+ //Auto-determine the best grid sizing
+ // It will try to exactly fit the desktop plugin area, with at least 10-20 grid points
+ int xgrid, ygrid;
+ xgrid = ygrid = 32;
+ //while(fit.width()%xgrid != 0){ xgrid = xgrid-1; }
+ //while(fit.height()%ygrid != 0){ ygrid = ygrid-1; }
+ //qDebug() << "Grid:" << xgrid << ygrid << fit.width() << fit.height();
+ //Make sure there are at least 10 points. It will not fit the area exactly, but should be very close
+ //while(xgrid < 10){ xgrid = xgrid*2; }
+ //while(ygrid < 10){ ygrid = ygrid*2; }
+ //qDebug() << "Grid (adjusted):" << xgrid << ygrid;
+ // xgrid = int(fit.width()/xgrid); //now get the exact pixel size of the grid
+ //ygrid = int(fit.height()/ygrid); //now get the exact pixel size of the grid
+ //qDebug() << "Grid (pixel):" << xgrid << ygrid;
+ //qDebug() << " X-Grid:" << xgrid << "("+QString::number(fit.width()/xgrid)+" points)";
+ //qDebug() << " Y-Grid:" << ygrid << "("+QString::number(fit.height()/ygrid)+" points)";
+ for(int i=0; i<wins.length(); i++){
+ //align the plugin on a grid point (that is not right/bottom edge)
+ QRect geom = wins[i]->geometry();
+ int x, y;
+ if(geom.x()<0){ x=0; }
+ else{ x = qRound(geom.x()/float(xgrid)) * xgrid; }
+ if(x>= fit.width()){ x = fit.width()-xgrid; geom.setWidth(xgrid); }
+ if(geom.y()<0){ y=0; }
+ else{ y = qRound(geom.y()/float(ygrid)) * ygrid; }
+ if(y>= fit.height()){ y = fit.height()-ygrid; geom.setHeight(ygrid); }
+ geom.moveTo(x,y);
+ //Now adjust the size to also be the appropriate grid multiple
+ geom.setWidth( qRound(geom.width()/float(xgrid))*xgrid );
+ geom.setHeight( qRound(geom.height()/float(ygrid))*ygrid );
+
+ //Now check for edge spillover and adjust accordingly
+ int diff = (geom.x()+geom.width()) - bgDesktop->size().width();
+ if( diff > 0 ){ geom.moveTo( geom.x() - diff, geom.y() ); }
+ else if( diff > -11 ){ geom.setWidth( geom.width()-diff ); }
+ diff = (geom.y()+geom.height()) - bgDesktop->size().height();
+ if( diff > 0 ){ geom.moveTo( geom.x(), geom.y() - diff ); }
+ else if( diff > -11 ){ geom.setHeight( geom.height()-diff ); }
+ //Now move the plugin
+ wins[i]->setGeometry(geom);
+ }
+}
+
+void LDesktop::DesktopPluginRemoved(QString ID){
+ //Close down that plugin instance
+ //qDebug() << "PLUGINS:" << PLUGINS.length() << ID;
+ for(int i=0; i<PLUGINS.length(); i++){
+ if(PLUGINS[i]->ID() == ID){
+ //qDebug() << "- found ID";
+ //Delete the plugin container first
+ QList<QMdiSubWindow*> wins = bgDesktop->subWindowList();
+ for(int i=0; i<wins.length(); i++){
+ if(wins[i]->whatsThis()==ID || wins[i]->whatsThis().isEmpty()){
+ //wins[i]->setWhatsThis(""); //clear this so it knows it is being temporarily removed
+ bgDesktop->removeSubWindow(wins[i]->widget()); //unhook plugin from container
+ bgDesktop->removeSubWindow(wins[i]); //remove container from screen
+ delete wins[i]; //delete old container
+ }
+ }
+ //Now delete the plugin itself
+ delete PLUGINS.takeAt(i);
+ break;
+ }
+ }
+ //Now remove that plugin from the internal list
+ QStringList plugins = settings->value(DPREFIX+"pluginlist",QStringList()).toStringList();
+
+ plugins.removeAll(ID);
+ changingsettings=true; //don't let the change cause a refresh
+ settings->setValue(DPREFIX+"pluginlist", plugins);
+ settings->sync();
+ changingsettings=false; //finished changing setting
+}
+
+void LDesktop::UpdatePanels(){
+ qDebug() << " - Update Panels For Screen:" << desktopnumber;
+ int panels = settings->value(DPREFIX+"panels", -1).toInt();
+ if(panels==-1 && defaultdesktop){ panels=1; } //need at least 1 panel on the primary desktop
+ //Remove all extra panels
+ for(int i=0; i<PANELS.length(); i++){
+ if(panels <= PANELS[i]->number()){
+ delete PANELS.takeAt(i);
+ i--;
+ }
+ }
+ for(int i=0; i<panels; i++){
+ //Check for a panel with this number
+ bool found = false;
+ for(int p=0; p<PANELS.length(); p++){
+ if(PANELS[p]->number() == i){
+ found = true;
+ //qDebug() << " -- Update panel "<< i;
+ //panel already exists - just update it
+ QTimer::singleShot(0, PANELS[i], SLOT(UpdatePanel()) );
+ }
+ }
+ if(!found){
+ qDebug() << " -- Create panel "<< i;
+ //New panel
+ PANELS << new LPanel(settings, desktopnumber, i, bgWindow);
+ }
+ }
+ //Give it a 1/2 second before ensuring that the visible desktop area is correct
+ QTimer::singleShot(500, this, SLOT(UpdateDesktopPluginArea()) );
+}
+
+void LDesktop::UpdateDesktopPluginArea(){
+ QRegion visReg( bgWindow->geometry() ); //visible region (not hidden behind a panel)
+ for(int i=0; i<PANELS.length(); i++){
+ visReg = visReg.subtracted( QRegion(PANELS[i]->geometry()) );
+ }
+ //Now make sure the desktop plugin area is only the visible area
+ QRect rec = visReg.boundingRect();
+ //Now remove the X offset to place it on the current screen (needs widget-coords, not global)
+ rec.moveTopLeft( QPoint( rec.x()-desktop->screenGeometry(desktopnumber).x() , rec.y() ) );
+ //qDebug() << "DPlug Area:" << rec.x() << rec.y() << rec.width() << rec.height();
+ bgDesktop->setGeometry( rec );
+ bgDesktop->setBackground( QBrush(Qt::NoBrush) );
+ bgDesktop->update();
+ //Re-paint the panels (just in case a plugin was underneath it and the panel is transparent)
+ for(int i=0; i<PANELS.length(); i++){ PANELS[i]->update(); }
+}
+
+void LDesktop::UpdateBackground(){
+ //Get the current Background
+ static bool bgupdating = false;
+ if(bgupdating){ return; } //prevent multiple calls to this at the same time
+ bgupdating = true;
+ qDebug() << " - Update Desktop Background for screen:" << desktopnumber;
+ //Get the list of background(s) to show
+ QStringList bgL = settings->value(DPREFIX+"background/filelist", QStringList()).toStringList();
+ //qDebug() << " - List:" << bgL << CBG;
+ //Remove any invalid files
+ for(int i=0; i<bgL.length(); i++){
+ if( (!QFile::exists(bgL[i]) && bgL[i]!="default") || bgL[i].isEmpty()){ bgL.removeAt(i); i--; }
+ }
+ //Determine which background to use next
+ int index = bgL.indexOf(CBG);
+ if( (index < 0) || (index >= bgL.length()-1) ){ index = 0; } //use the first file
+ else{ index++; } //use the next file in the list
+ QString bgFile;
+ if( bgL.isEmpty() && CBG.isEmpty()){ bgFile = "default"; }
+ else if( bgL.isEmpty() && QFile::exists(CBG) ){ bgFile = CBG; }
+ else if( bgL.isEmpty() ){ bgFile = "default"; }
+ else{ bgFile = bgL[index]; }
+ //Save this file as the current background
+ CBG = bgFile;
+ //qDebug() << " - Set Background to:" << CBG << index << bgL;
+ if( (bgFile.toLower()=="default")){ bgFile = "/usr/local/share/Lumina-DE/desktop-background.jpg"; }
+ //Now set this file as the current background
+ QString style = "QWidget#bgWindow{ border-image:url(%1) stretch;}";
+ style = style.arg(bgFile);
+ bgWindow->setStyleSheet(style);
+ bgWindow->show();
+ //Now reset the timer for the next change (if appropriate)
+ if(bgtimer->isActive()){ bgtimer->stop(); }
+ if(bgL.length() > 1){
+ //get the length of the timer (in minutes)
+ int min = settings->value(DPREFIX+"background/minutesToChange",5).toInt();
+ //restart the internal timer
+ if(min > 0){
+ bgtimer->start(min*60000); //convert from minutes to milliseconds
+ }
+ }
+ //Now update the panel backgrounds
+ for(int i=0; i<PANELS.length(); i++){
+ PANELS[i]->update();
+ }
+ bgupdating=false;
+}
diff --git a/lumina-desktop/LDesktop.h b/lumina-desktop/LDesktop.h
new file mode 100644
index 00000000..503a820f
--- /dev/null
+++ b/lumina-desktop/LDesktop.h
@@ -0,0 +1,98 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_LDESKTOP_H
+#define _LUMINA_DESKTOP_LDESKTOP_H
+
+#include <QCoreApplication>
+
+
+#include <QSettings>
+#include <QFile>
+#include <QList>
+#include <QDebug>
+#include <QTimer>
+#include <QFileSystemWatcher>
+#include <QLabel>
+#include <QWidgetAction>
+#include <QMdiArea>
+#include <QMdiSubWindow>
+
+
+#include <LuminaXDG.h>
+
+#include "LPanel.h"
+#include "Globals.h"
+#include "AppMenu.h"
+#include "desktop-plugins/LDPlugin.h"
+#include "desktop-plugins/LDPluginContainer.h"
+#include "desktop-plugins/NewDP.h"
+
+class LDesktop : public QObject{
+ Q_OBJECT
+public:
+ LDesktop(int deskNum=0);
+ ~LDesktop();
+
+ int Screen(); //return the screen number this object is managing
+ void show();
+ void hide();
+
+public slots:
+ void SystemLogout();
+ void SystemTerminal();
+ void SystemFileManager();
+ void SystemApplication(QAction*);
+
+private:
+ QSettings *settings;
+ QTimer *bgtimer;
+ QDesktopWidget *desktop;
+ QString DPREFIX;
+ int desktopnumber;
+ //int xoffset;
+ bool defaultdesktop, desktoplocked, changingsettings, issyncing;
+ QList<LPanel*> PANELS;
+ QMdiArea *bgDesktop; //desktop widget area
+ QWidget *bgWindow; //full screen background
+ QMenu *deskMenu;
+ AppMenu *appmenu;
+ QLabel *workspacelabel;
+ QWidgetAction *wkspaceact;
+ QList<LDPlugin*> PLUGINS;
+ QFileSystemWatcher *watcher;
+ QString CBG; //current background
+
+ void CreateDesktopPluginContainer(LDPlugin*);
+
+private slots:
+ void SettingsChanged();
+ void UnlockSettings(){ issyncing=false; }
+ void UpdateMenu(bool fast = false);
+ void ShowMenu(){
+ UpdateMenu(true); //run the fast version
+ deskMenu->popup(QCursor::pos());
+ }
+
+ //Desktop plugin system functions
+ void UpdateDesktop();
+ void ToggleDesktopLock();
+ void AlignDesktopPlugins();
+ void DesktopPluginRemoved(QString);
+
+ void UpdatePanels();
+
+ void UpdateDesktopPluginArea(); //make sure the area is not underneath any panels
+
+ void UpdateBackground();
+ void UpdateGeometry(int screen){
+ if(screen==desktopnumber){
+ bgWindow->setGeometry(desktop->screenGeometry(desktopnumber));
+ QTimer::singleShot(0, this, SLOT(UpdatePanels()));
+ }
+ }
+};
+#endif
diff --git a/lumina-desktop/LPanel.cpp b/lumina-desktop/LPanel.cpp
new file mode 100644
index 00000000..5e7ad292
--- /dev/null
+++ b/lumina-desktop/LPanel.cpp
@@ -0,0 +1,207 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LPanel.h"
+#include "LSession.h"
+#include "panel-plugins/systemtray/LSysTray.h"
+
+LPanel::LPanel(QSettings *file, int scr, int num, QWidget *parent) : QWidget(){
+ //Take care of inputs
+ qDebug() << " - Creating Panel:" << scr << num;
+ bgWindow = parent; //save for later
+ //Setup the widget overlay for the entire panel to provide transparency effects
+ panelArea = new QWidget(this);
+ QBoxLayout *tmp = new QBoxLayout(QBoxLayout::LeftToRight,this);
+ tmp->setContentsMargins(0,0,0,0);
+ this->setLayout(tmp);
+ tmp->addWidget(panelArea);
+ settings = file;
+ screennum = scr;
+ screen = LSession::desktop();
+ PPREFIX = "panel"+QString::number(screennum)+"."+QString::number(num)+"/";
+ defaultpanel = (screen->screenGeometry(screennum).x()==0 && num==0);
+ //if(settings->value("defaultpanel",QString::number(screen->primaryScreen())+".0").toString()==QString::number(screennum)+"."+QString::number(num) ){ defaultpanel=true;}
+ //else{defaultpanel=false; }
+ horizontal=true; //use this by default initially
+ //Setup the panel
+ qDebug() << " -- Setup Panel";
+ this->setContentsMargins(0,0,0,0);
+ this->setSizePolicy(QSizePolicy::Fixed, QSizePolicy::Fixed);
+ this->setWindowFlags(Qt::Tool | Qt::WindowStaysOnTopHint | Qt::FramelessWindowHint );
+ this->setFocusPolicy(Qt::NoFocus);
+ this->setWindowTitle("");
+ this->setAttribute(Qt::WA_X11NetWmWindowTypeDock);
+ this->setAttribute(Qt::WA_AlwaysShowToolTips);
+ this->setObjectName("LuminaPanelWidget");
+ panelArea->setObjectName("LuminaPanelPluginWidget");
+ //LX11::SetAsPanel(this->winId()); //set proper type of window for a panel since Qt can't do it
+ LX11::SetAsSticky(this->winId());
+ layout = new QBoxLayout(QBoxLayout::LeftToRight, this);
+ layout->setContentsMargins(0,0,0,0);
+ layout->setSpacing(1);
+ //layout->setSizeConstraint(QLayout::SetFixedSize);
+ panelArea->setLayout(layout);
+ QTimer::singleShot(1,this, SLOT(UpdatePanel()) ); //start this in a new thread
+ connect(screen, SIGNAL(resized(int)), this, SLOT(UpdatePanel()) ); //in case the screen resolution changes
+}
+
+LPanel::~LPanel(){
+
+}
+
+//===========
+// PUBLIC SLOTS
+//===========
+void LPanel::UpdatePanel(){
+ //Create/Update the panel as designated in the Settings file
+ settings->sync(); //make sure to catch external settings changes
+ //First set the geometry of the panel and send the EWMH message to reserve that space
+ qDebug() << "Update Panel";
+ QString loc = settings->value(PPREFIX+"location","").toString();
+ if(loc.isEmpty() && defaultpanel){ loc="top"; }
+ if(loc=="top" || loc=="bottom"){
+ horizontal=true;
+ layout->setAlignment(Qt::AlignLeft);
+ layout->setDirection(QBoxLayout::LeftToRight);
+ }else{
+ horizontal=false;
+ layout->setAlignment(Qt::AlignTop);
+ layout->setDirection(QBoxLayout::TopToBottom);
+ }
+ int ht = settings->value(PPREFIX+"height", 30).toInt(); //this is technically the distance into the screen from the edge
+ //qDebug() << " - set Geometry";
+ int xwid = screen->screenGeometry(screennum).width();
+ int xhi = screen->screenGeometry(screennum).height();
+ int xloc = screen->screenGeometry(screennum).x();
+ //xloc=xoffset;
+ if(loc=="top"){ //top of screen
+ QSize sz = QSize(xwid, ht);
+ this->setMinimumSize(sz);
+ this->setMaximumSize(sz);
+ this->setGeometry(xloc,0,xwid, ht );
+ LX11::ReservePanelLocation(this->winId(), xloc, 0, this->width(), ht, "top");
+ }else if(loc=="bottom"){ //bottom of screen
+ QSize sz = QSize(xwid, ht);
+ this->setMinimumSize(sz);
+ this->setMaximumSize(sz);
+ this->setGeometry(xloc,xhi-ht,xwid, ht );
+ LX11::ReservePanelLocation(this->winId(), xloc, xhi-ht, this->width(), ht, "bottom");
+ }else if(loc=="left"){ //left side of screen
+ QSize sz = QSize(ht, xhi);
+ this->setMinimumSize(sz);
+ this->setMaximumSize(sz);
+ this->setGeometry(xloc,0, ht, xhi);
+ LX11::ReservePanelLocation(this->winId(), xloc, 0, ht, xhi, "left");
+ }else{ //right side of screen
+ QSize sz = QSize(ht, xhi);
+ this->setMinimumSize(sz);
+ this->setMaximumSize(sz);
+ this->setGeometry(xloc+xwid-ht,0,ht, xhi);
+ LX11::ReservePanelLocation(this->winId(), xloc+xwid-ht, 0, ht, xhi, "right");
+ }
+ //Now update the appearance of the toolbar
+ QString color = settings->value(PPREFIX+"color", "rgba(255,255,255,160)").toString();
+ QString style = "QWidget#LuminaPanelPluginWidget{ background: %1; border-radius: 5px; border: 1px solid transparent; }";
+ style = style.arg(color);
+ panelArea->setStyleSheet(style);
+
+ //Then go through the plugins and create them as necessary
+ QStringList plugins = settings->value(PPREFIX+"pluginlist", QStringList()).toStringList();
+ if(defaultpanel && plugins.isEmpty()){
+ plugins << "userbutton" << "taskmanager" << "spacer" << "systemtray" << "clock" << "systemdashboard";
+ }
+ qDebug() << " - Initialize Plugins: " << plugins;
+ for(int i=0; i<plugins.length(); i++){
+ //Ensure this plugin has a unique ID (NOTE: this numbering does not persist between sessions)
+ if(!plugins[i].contains("---")){
+ int num=1;
+ while( plugins.contains(plugins[i]+"---"+QString::number(this->number())+"."+QString::number(num)) ){
+ num++;
+ }
+ plugins[i] = plugins[i]+"---"+QString::number(this->number())+"."+QString::number(num);
+ }
+ //See if this plugin is already there or in a different spot
+ bool found = false;
+ for(int p=0; p<PLUGINS.length(); p++){
+ if(PLUGINS[p]->type()==plugins[i]){
+ found = true; //already exists
+ //Make sure the plugin layout has the correct orientation
+ if(horizontal){PLUGINS[p]->layout()->setDirection(QBoxLayout::LeftToRight); }
+ else{ PLUGINS[p]->layout()->setDirection(QBoxLayout::TopToBottom); }
+ QTimer::singleShot(0,PLUGINS[p], SLOT( OrientationChange() ) );
+ //Now check the location of the plugin in the panel
+ if(p!=i){ //wrong place in the panel
+ layout->takeAt(p); //remove the item from the current location
+ layout->insertWidget(i, PLUGINS[p]); //add the item into the correct location
+ PLUGINS.move(p,i); //move the identifier in the list to match
+ }
+ break;
+ }
+ }
+ if(!found){
+ //New Plugin
+ qDebug() << " -- New Plugin:" << plugins[i];
+ LPPlugin *plug = NewPP::createPlugin(plugins[i], panelArea, horizontal);
+ if(plug != 0){
+ PLUGINS.insert(i, plug);
+ layout->insertWidget(i, PLUGINS[i]);
+ }else{
+ //invalid plugin type
+ plugins.removeAt(i); //remove this invalid plugin from the list
+ i--; //make sure we don't miss the next item with the re-order
+ }
+ }
+ }
+ //Now remove any extra plugins from the end
+ for(int i=plugins.length(); i<PLUGINS.length(); i++){
+ qDebug() << " -- Remove Plugin: " << i;
+ //If this is the system tray - stop it first
+ if( PLUGINS[i]->type().startsWith("systemtray---") ){
+ static_cast<LSysTray*>(PLUGINS[i])->stop();
+ }
+ layout->takeAt(i); //remove from the layout
+ delete PLUGINS.takeAt(i); //delete the actual widget
+ }
+ this->update();
+ this->show(); //make sure the panel is visible now
+ //Now go through and send the orientation update signal to each plugin
+ for(int i=0; i<PLUGINS.length(); i++){
+ QTimer::singleShot(0,PLUGINS[i], SLOT(OrientationChange()));
+ }
+}
+
+void LPanel::UpdateLocale(){
+ //The panel itself has no text to translate, just forward the signal to all the plugins
+ for(int i=0; i<PLUGINS.length(); i++){
+ QTimer::singleShot(1,PLUGINS[i], SLOT(LocaleChange()));
+ }
+}
+
+void LPanel::UpdateTheme(){
+ //The panel itself has no theme-based icons, just forward the signal to all the plugins
+ for(int i=0; i<PLUGINS.length(); i++){
+ QTimer::singleShot(1,PLUGINS[i], SLOT(ThemeChange()));
+ }
+}
+
+
+//===========
+// PROTECTED
+//===========
+void LPanel::paintEvent(QPaintEvent *event){
+ QPainter *painter = new QPainter(this);
+ //Make sure the base background of the event rectangle is the associated rectangle from the BGWindow
+ QRect rec(event->rect().x(), event->rect().y(), event->rect().width(), event->rect().height()); //already in global coords? (translating to bgWindow coords crashes Lumina)
+ //Need to translate that rectangle to the background image coordinates
+ //qDebug() << "Rec:" << rec.x() << rec.y();
+ rec.moveTo( this->mapToGlobal(rec.topLeft()) ); //Need to change to global coords for the main window
+ //qDebug() << "Global Rec:" << rec.x() << rec.y() << screennum;
+ rec.moveTo( rec.x()-screen->screenGeometry(screennum).x(), rec.y() );
+ //qDebug() << "Adjusted Global Rec:" << rec.x() << rec.y();
+ painter->drawPixmap(event->rect(), QPixmap::grabWidget(bgWindow, rec) );
+ QWidget::paintEvent(event); //now pass the event along to the normal painting event
+}
+
diff --git a/lumina-desktop/LPanel.h b/lumina-desktop/LPanel.h
new file mode 100644
index 00000000..4ffbf6d5
--- /dev/null
+++ b/lumina-desktop/LPanel.h
@@ -0,0 +1,59 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This is the generic class for creating a full-width panel that stays
+// on top of all other windows (top or bottom of the screen only)
+//===========================================
+#ifndef _LUMINA_DESKTOP_PANEL_H
+#define _LUMINA_DESKTOP_PANEL_H
+
+#include <QWidget>
+#include <QBoxLayout>
+#include <QSettings>
+#include <QString>
+#include <QStringList>
+#include <QTimer>
+#include <QMoveEvent>
+#include <QDesktopWidget>
+#include <QPainter>
+#include <QPaintEvent>
+
+#include "panel-plugins/NewPP.h"
+#include "panel-plugins/LPPlugin.h"
+
+#include <LuminaX11.h>
+#include <LuminaOS.h>
+
+class LPanel : public QWidget{
+ Q_OBJECT
+private:
+ QBoxLayout *layout;
+ QSettings *settings;
+ QString PPREFIX; //internal prefix for all settings
+ QDesktopWidget *screen;
+ QWidget *bgWindow, *panelArea;
+ bool defaultpanel, horizontal;
+ int screennum;
+ QList<LPPlugin*> PLUGINS;
+
+public:
+ LPanel(QSettings *file, int scr = 0, int num =0, QWidget *parent=0); //settings file, screen number, panel number
+ ~LPanel();
+
+ int number(){
+ return PPREFIX.section(".",-1).toInt();
+ }
+
+public slots:
+ void UpdatePanel(); //Load the settings file and update the panel appropriately
+ void UpdateLocale(); //Locale Changed externally
+ void UpdateTheme(); //Theme Changed externally
+
+protected:
+ void paintEvent(QPaintEvent *event);
+};
+
+#endif
diff --git a/lumina-desktop/LSession.cpp b/lumina-desktop/LSession.cpp
new file mode 100644
index 00000000..43a7ce79
--- /dev/null
+++ b/lumina-desktop/LSession.cpp
@@ -0,0 +1,337 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012-2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LSession.h"
+
+#include <Phonon/MediaObject>
+#include <Phonon/AudioOutput>
+#include <QThread>
+
+//X includes (these need to be last due to Qt compile issues)
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xatom.h>
+#include <X11/extensions/Xrender.h>
+
+//Private/global variables (for static function access)
+//static WId LuminaSessionTrayID;
+static AppMenu *appmenu;
+static SettingsMenu *settingsmenu;
+static QTranslator *currTranslator;
+static Phonon::MediaObject *mediaObj;
+static Phonon::AudioOutput *audioOut;
+static QThread *audioThread;
+static QSettings *sessionsettings;
+
+LSession::LSession(int &argc, char ** argv) : QApplication(argc, argv){
+ this->setApplicationName("Lumina Desktop Environment");
+ this->setApplicationVersion("0.6.2");
+ this->setOrganizationName("LuminaDesktopEnvironment");
+ this->setQuitOnLastWindowClosed(false); //since the LDesktop's are not necessarily "window"s
+ //Enabled a few of the simple effects by default
+ this->setEffectEnabled( Qt::UI_AnimateMenu, true);
+ this->setEffectEnabled( Qt::UI_AnimateCombo, true);
+ this->setEffectEnabled( Qt::UI_AnimateTooltip, true);
+ this->setStyle( new MenuProxyStyle); //QMenu icon size override
+ //LuminaSessionTrayID = 0;
+}
+
+LSession::~LSession(){
+ WM->stopWM();
+ for(int i=0; i<DESKTOPS.length(); i++){
+ delete DESKTOPS[i];
+ }
+ delete WM;
+ delete settingsmenu;
+ delete appmenu;
+ delete currTranslator;
+ delete mediaObj;
+ delete audioOut;
+}
+
+void LSession::setupSession(){
+ qDebug() << "Initializing Session";
+ //Load the stylesheet
+ loadStyleSheet();
+ //Setup the QSettings default paths
+ QSettings::setPath(QSettings::NativeFormat, QSettings::UserScope, QDir::homePath()+"/.lumina");
+ sessionsettings = new QSettings("LuminaDE", "sessionsettings");
+ //Setup the user's lumina settings directory as necessary
+ checkUserFiles(); //adds these files to the watcher as well
+
+ //Initialize the internal variables
+ DESKTOPS.clear();
+
+ //Launch Fluxbox
+ qDebug() << " - Launching Fluxbox";
+ WM = new WMProcess();
+ WM->startWM();
+
+ //Initialize the desktops
+ updateDesktops();
+
+ //Initialize the global menus
+ qDebug() << " - Initialize system menus";
+ appmenu = new AppMenu();
+ settingsmenu = new SettingsMenu();
+
+ /*//Setup the audio output systems for the desktop
+ qDebug() << " - Initialize audio systems";
+ mediaObj = new Phonon::MediaObject(0);
+ audioOut = new Phonon::AudioOutput(Phonon::MusicCategory,0);
+ qDebug() << " -- Initialize new audio thread";
+ audioThread = new QThread(this);
+ if(mediaObj && audioOut){ //in case Phonon errors for some reason
+ qDebug() << " -- Create path between audio objects";
+ Phonon::createPath(mediaObj, audioOut);
+ qDebug() << " -- Move audio objects to separate thread";
+ mediaObj->moveToThread(audioThread);
+ audioOut->moveToThread(audioThread);
+ }*/
+
+ //Now setup the system watcher for changes
+ qDebug() << " - Initialize file system watcher";
+ watcher = new QFileSystemWatcher(this);
+ watcher->addPath( QDir::homePath()+"/.lumina/stylesheet.qss" );
+ //watcher->addPath( QDir::homePath()+"/.lumina/LuminaDE/desktopsettings.conf" );
+ watcher->addPath( QDir::homePath()+"/.lumina/fluxbox-init" );
+ watcher->addPath( QDir::homePath()+"/.lumina/fluxbox-keys" );
+
+ //connect internal signals/slots
+ connect(this->desktop(), SIGNAL(screenCountChanged(int)), this, SLOT(updateDesktops()) );
+ connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(watcherChange(QString)) );
+ connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(watcherChange(QString)) );
+ connect(this, SIGNAL(aboutToQuit()), this, SLOT(SessionEnding()) );
+}
+
+bool LSession::LoadLocale(QString langCode){
+ QTranslator translator;
+ if ( ! QFile::exists(SYSTEM::installDir()+"i18n/lumina-desktop_" + langCode + ".qm" ) ) langCode.truncate(langCode.indexOf("_"));
+ bool ok = translator.load( QString("lumina-desktop_") + langCode, SYSTEM::installDir()+"i18n/" );
+ if(ok){
+ //Remove any old translator
+ if(currTranslator != 0){ this->removeTranslator(currTranslator); }
+ //Insert the new translator
+ currTranslator = &translator;
+ this->installTranslator( currTranslator );
+ qDebug() << "Loaded Locale:" << langCode;
+ }else{
+ qDebug() << "Invalid Locale:" << langCode;
+ }
+ emit LocaleChanged();
+ return ok;
+}
+
+void LSession::launchStartupApps(){
+ //First start any system-defined startups, then do user defined
+ qDebug() << "Launching startup applications";
+ for(int i=0; i<2; i++){
+ QString startfile;
+ if(i==0){startfile = "/usr/local/share/Lumina-DE/startapps"; }
+ else{ startfile = QDir::homePath()+"/.lumina/startapps"; }
+ if(!QFile::exists(startfile)){ continue; } //go to the next
+
+ QFile file(startfile);
+ if( file.open(QIODevice::ReadOnly | QIODevice::Text) ){
+ QTextStream in(&file);
+ while(!in.atEnd()){
+ QString entry = in.readLine();
+ if(entry.startsWith("#") || entry.isEmpty()){ continue; }
+ //Might put other sanity checks here
+ qDebug() << " - Starting Application:" << entry;
+ LSession::LaunchApplication(entry);
+ }
+ file.close();
+ }
+ }
+ //Now play the login music
+ if(sessionsettings->value("PlayStartupAudio",true).toBool()){
+ LSession::playAudioFile("/usr/local/share/Lumina-DE/Login.ogg");
+ }
+ if(sessionsettings->value("EnableNumlock",true).toBool()){
+ QProcess::startDetached("numlockx on");
+ }
+}
+
+void LSession::watcherChange(QString changed){
+ qDebug() << "Session Watcher Change:" << changed;
+ if(changed.endsWith("stylesheet.qss")){ loadStyleSheet(); }
+ else if(changed.endsWith("fluxbox-init") || changed.endsWith("fluxbox-keys")){ refreshWindowManager(); }
+ else{ emit DesktopConfigChanged(); }
+}
+
+void LSession::checkUserFiles(){
+ //version conversion examples: [1.0.0 -> 100], [1.2.0 -> 120], [0.6.0 -> 60]
+ int oldversion = sessionsettings->value("DesktopVersion",0).toString().remove(".").toInt();
+ bool newversion = ( oldversion < this->applicationVersion().remove(".").toInt() );
+
+ //Check for the desktop settings file
+ QString dset = QDir::homePath()+"/.lumina/LuminaDE/desktopsettings.conf";
+ bool firstrun = false;
+ if(!QFile::exists(dset) || oldversion < 50){
+ if( oldversion < 50 ){ QFile::remove(dset); qDebug() << "Current desktop settings obsolete: Re-implementing defaults"; }
+ else{ firstrun = true; }
+ if(QFile::exists(SYSTEM::installDir()+"desktopsettings.conf")){
+ if( QFile::copy(SYSTEM::installDir()+"desktopsettings.conf", dset) ){
+ QFile::setPermissions(dset, QFile::ReadUser | QFile::WriteUser | QFile::ReadOwner | QFile::WriteOwner);
+ }
+ }
+ }
+ //Check for the default applications file for lumina-open
+ dset = QDir::homePath()+"/.lumina/LuminaDE/lumina-open.conf";
+ if(!QFile::exists(dset)){
+ firstrun = true;
+ if(QFile::exists(SYSTEM::installDir()+"defaultapps.conf")){
+ if( QFile::copy(SYSTEM::installDir()+"defaultapps.conf", dset) ){
+ QFile::setPermissions(dset, QFile::ReadUser | QFile::WriteUser | QFile::ReadOwner | QFile::WriteOwner);
+ }
+ }
+
+ }
+ //Check the fluxbox configuration files
+ dset = QDir::homePath()+"/.lumina/";
+ bool fluxcopy = false;
+ if(!QFile::exists(dset+"fluxbox-init")){ fluxcopy=true; }
+ else if(!QFile::exists(dset+"fluxbox-keys")){fluxcopy=true; }
+ else if(oldversion < 60){ fluxcopy=true; qDebug() << "Current fluxbox settings obsolete: Re-implementing defaults"; }
+ if(fluxcopy){
+ if(QFile::exists(dset+"fluxbox-init")){ QFile::remove(dset+"fluxbox-init"); }
+ if(QFile::exists(dset+"fluxbox-keys")){ QFile::remove(dset+"fluxbox-keys"); }
+ QFile::copy(":/fluxboxconf/fluxbox-init-rc", dset+"fluxbox-init");
+ QFile::copy(":/fluxboxconf/fluxbox-keys", dset+"fluxbox-keys");
+ QFile::setPermissions(dset+"fluxbox-init", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ QFile::setPermissions(dset+"fluxbox-keys", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }
+
+ if(firstrun){ qDebug() << "First time using Lumina!!"; }
+ else if(newversion){
+ qDebug() << "Updating session file to current version";
+ }
+
+
+ //Save the current version of the session to the settings file (for next time)
+ sessionsettings->setValue("DesktopVersion", this->applicationVersion());
+}
+
+void LSession::loadStyleSheet(){
+ QString ss = QDir::homePath()+"/.lumina/stylesheet.qss";
+ if(!QFile::exists(ss)){ ss = SYSTEM::installDir()+"stylesheet.qss"; }
+ if(!QFile::exists(ss)){ return; } //no default stylesheet on the system
+ //Now read/apply the custom stylesheet
+ QFile file(ss);
+ if( file.open(QIODevice::ReadOnly | QIODevice::Text) ){
+ QTextStream in(&file);
+ QString sheet = in.readAll();
+ file.close();
+ //Now fix/apply the sheet
+ sheet.replace("\n"," "); //make sure there are no newlines
+ this->setStyleSheet(sheet);
+ }
+}
+
+void LSession::refreshWindowManager(){
+ WM->updateWM();
+}
+
+void LSession::updateDesktops(){
+ qDebug() << " - Update Desktops";
+ QDesktopWidget *DW = this->desktop();
+ for(int i=0; i<DW->screenCount(); i++){
+ bool found = false;
+ for(int j=0; j<DESKTOPS.length() && !found; j++){
+ if(DESKTOPS[j]->Screen()==i){ found = true; }
+ }
+ if(!found){
+ //Start the desktop on the new screen
+ qDebug() << " - Start desktop on screen:" << i;
+ DESKTOPS << new LDesktop(i);
+ }
+ }
+ //Now go through and make sure to delete any desktops for detached screens
+ for(int i=0; i<DESKTOPS.length(); i++){
+ if(DESKTOPS[i]->Screen() >= DW->screenCount()){
+ qDebug() << " - Hide desktop on screen:" << DESKTOPS[i]->Screen();
+ DESKTOPS[i]->hide();
+ }else{
+ DESKTOPS[i]->show();
+ }
+ }
+}
+
+
+void LSession::SessionEnding(){
+ audioThread->wait(3000); //wait a max of 3 seconds for the audio thread to finish
+}
+
+bool LSession::x11EventFilter(XEvent *event){
+ //Detect X Event types and send the appropriate signal(s)
+ emit TrayEvent(event); //Make sure the tray also can check this event
+ switch(event->type){
+ // -------------------------
+ case PropertyNotify:
+ //qDebug() << "Property Event:";
+ if(event->xproperty.atom == XInternAtom(QX11Info::display(),"_NET_CLIENT_LIST",false) \
+ || event->xproperty.atom == XInternAtom(QX11Info::display(),"_NET_ACTIVE_WINDOW",false) \
+ || event->xproperty.atom == XInternAtom(QX11Info::display(),"_NET_WM_NAME",false) \
+ || event->xproperty.atom == XInternAtom(QX11Info::display(),"_NET_WM_VISIBLE_NAME",false) \
+ || event->xproperty.atom == XInternAtom(QX11Info::display(),"_NET_WM_ICON_NAME",false) \
+ || event->xproperty.atom == XInternAtom(QX11Info::display(),"_NET_WM_VISIBLE_ICON_NAME",false) ){
+ LSession::restoreOverrideCursor(); //restore the mouse cursor back to normal (new window opened?)
+ emit WindowListEvent();
+ }
+ break;
+ }
+ // -----------------------
+ //Now continue on with the event handling (don't change it)
+ return false;
+}
+
+//===============
+// SYSTEM ACCESS
+//===============
+void LSession::LaunchApplication(QString cmd){
+ LSession::setOverrideCursor(QCursor(Qt::BusyCursor));
+ QProcess::startDetached(cmd);
+}
+
+AppMenu* LSession::applicationMenu(){
+ return appmenu;
+}
+
+SettingsMenu* LSession::settingsMenu(){
+ return settingsmenu;
+}
+
+QSettings* LSession::sessionSettings(){
+ return sessionsettings;
+}
+
+void LSession::systemWindow(){
+ SystemWindow win;
+ win.exec();
+ LSession::processEvents();
+}
+
+//Play System Audio
+void LSession::playAudioFile(QString filepath){
+ //Setup the audio output systems for the desktop
+ bool init = false;
+ if(audioThread==0){ qDebug() << " - Initialize audio systems"; audioThread = new QThread(); init = true; }
+ if(mediaObj==0){ qDebug() << " - Initialize Phonon media Object"; mediaObj = new Phonon::MediaObject(); init = true;}
+ //if(audioOut==0){ qDebug() << " - Initialize Phonon audio output"; audioOut = new Phonon::AudioOutput(); init=true;}
+ if(mediaObj && audioOut && init){ //in case Phonon errors for some reason
+ qDebug() << " -- Create path between audio objects";
+ Phonon::createPath(mediaObj, audioOut);
+ qDebug() << " -- Move audio objects to separate thread";
+ mediaObj->moveToThread(audioThread);
+ audioOut->moveToThread(audioThread);
+ }
+ if(mediaObj !=0 && audioOut!=0){
+ mediaObj->setCurrentSource(QUrl(filepath));
+ mediaObj->play();
+ audioThread->start();
+ }
+}
diff --git a/lumina-desktop/LSession.h b/lumina-desktop/LSession.h
new file mode 100644
index 00000000..3f3d31f9
--- /dev/null
+++ b/lumina-desktop/LSession.h
@@ -0,0 +1,98 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_SESSION_H
+#define _LUMINA_DESKTOP_SESSION_H
+
+#include <QApplication>
+#include <QDebug>
+#include <QString>
+#include <QX11Info>
+#include <QEvent>
+#include <QTranslator>
+#include <QSettings>
+#include <QProxyStyle>
+#include <QDesktopWidget>
+#include <QList>
+#include <QThread>
+
+#include "Globals.h"
+#include "AppMenu.h"
+#include "SettingsMenu.h"
+#include "SystemWindow.h"
+#include "LDesktop.h"
+#include "WMProcess.h"
+
+//LibLumina X11 class
+#include <LuminaX11.h>
+
+//SYSTEM TRAY STANDARD DEFINITIONS
+//#define SYSTEM_TRAY_REQUEST_DOCK 0
+//#define SYSTEM_TRAY_BEGIN_MESSAGE 1
+//#define SYSTEM_TRAY_CANCEL_MESSAGE 2
+
+class MenuProxyStyle : public QProxyStyle{
+public:
+ int pixelMetric(PixelMetric metric, const QStyleOption *option=0, const QWidget *widget=0) const{
+ if(metric==PM_SmallIconSize){ return 22; } //override QMenu icon size (make it larger)
+ else{ return QProxyStyle::pixelMetric(metric, option, widget); } //use the current style for everything else
+ }
+};
+
+class LSession : public QApplication{
+ Q_OBJECT
+public:
+ LSession(int &argc, char **argv);
+ ~LSession();
+ //Functions to be called during startup
+ void setupSession();
+
+ virtual bool x11EventFilter(XEvent *event);
+
+ bool LoadLocale(QString);
+
+ //System Access
+ static void LaunchApplication(QString cmd);
+ static AppMenu* applicationMenu();
+ static void systemWindow();
+ static SettingsMenu* settingsMenu();
+
+ static QSettings* sessionSettings();
+
+ //Play System Audio
+ static void playAudioFile(QString filepath);
+
+private:
+ WMProcess *WM;
+ QList<LDesktop*> DESKTOPS;
+ QFileSystemWatcher *watcher;
+
+public slots:
+ void launchStartupApps();
+
+
+private slots:
+ void watcherChange(QString);
+
+ //Internal simplification functions
+ void checkUserFiles();
+ void loadStyleSheet();
+ void refreshWindowManager();
+ void updateDesktops();
+
+ void SessionEnding();
+
+signals:
+ void NewSystemTrayApp(WId); //WinID
+ void TrayEvent(XEvent*);
+ void WindowListEvent(WId);
+ void WindowListEvent();
+ void LocaleChanged();
+ void DesktopConfigChanged();
+
+};
+
+#endif
diff --git a/lumina-desktop/Lumina-DE.desktop b/lumina-desktop/Lumina-DE.desktop
new file mode 100644
index 00000000..49b012b6
--- /dev/null
+++ b/lumina-desktop/Lumina-DE.desktop
@@ -0,0 +1,34 @@
+[Desktop Entry]
+Exec=/usr/local/bin/Lumina-DE
+TryExec=/usr/local/bin/Lumina-DE
+Icon=/usr/local/share/pixmaps/Lumina-DE.png
+Type=Application
+Name=Lumina
+Name[de]=Lumina
+Name[en_GB]=Lumina
+Name[en_ZA]=Lumina
+Name[et]=Lumina
+Name[fr]=Lumina
+Name[fr_CA]=Lumina
+Name[hi]=ल्यूमिना
+Name[ja]=Lumina
+Name[mt]=Lumina
+Name[pl]=Lumina
+Name[pt_BR]=Lumina
+Name[ru]=Lumina
+Name[uk]=Lumina
+Name[vi]=Lumina
+Comment=A Lightweight Desktop for FreeBSD
+Comment[de]=Eine leichtgewichtige Arbeitsplatzumgebung für FreeBSD
+Comment[en_GB]=A Lightweight Desktop for FreeBSD
+Comment[en_ZA]=A Lightweight Desktop for FreeBSD
+Comment[et]=Minimalistlik töölauakeskkond FreeBSD-le
+Comment[fr]=Un environnement bureau léger pour FreeBSD
+Comment[fr_CA]=Un environnement bureau léger pour FreeBSD
+Comment[hi]=एक हल्का डेस्कटॉप फ्री बी.एस.डी के लिए
+Comment[ja]=FreeBSD の為に作られた軽快なデスクトップ環境
+Comment[mt]=A Desktop irqiq għal FreeBSD
+Comment[pl]=Lekkie Środowisko graficzne dla FreeBSD
+Comment[pt_BR]=Um ambiente de trabalho leve para FreeBSD
+Comment[uk]=Легковісне оточення стільниці для FreeBSD
+Comment[vi]=Một máy tính để bàn nhẹ cho FreeBSD
diff --git a/lumina-desktop/Lumina-DE.png b/lumina-desktop/Lumina-DE.png
new file mode 100644
index 00000000..ce88a252
--- /dev/null
+++ b/lumina-desktop/Lumina-DE.png
Binary files differ
diff --git a/lumina-desktop/Lumina-DE.qrc b/lumina-desktop/Lumina-DE.qrc
new file mode 100644
index 00000000..5fada9b6
--- /dev/null
+++ b/lumina-desktop/Lumina-DE.qrc
@@ -0,0 +1,7 @@
+<RCC>
+ <qresource>
+ <file>images/desktop-background.jpg</file>
+ <file>fluxboxconf/fluxbox-init-rc</file>
+ <file>fluxboxconf/fluxbox-keys</file>
+ </qresource>
+</RCC>
diff --git a/lumina-desktop/SettingsMenu.cpp b/lumina-desktop/SettingsMenu.cpp
new file mode 100644
index 00000000..1ff5fe92
--- /dev/null
+++ b/lumina-desktop/SettingsMenu.cpp
@@ -0,0 +1,39 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "SettingsMenu.h"
+#include "LSession.h"
+
+SettingsMenu::SettingsMenu() : QMenu(){
+ this->setTitle( tr("Desktop Settings") );
+ this->setIcon( LXDG::findIcon("configure","") );
+ connect(this, SIGNAL(triggered(QAction*)), this, SLOT(runApp(QAction*)) );
+ //Now setup the possible configuration options
+ QAction *act = new QAction(LXDG::findIcon("preferences-desktop-screensaver",""), tr("Screensaver"), this);
+ act->setWhatsThis("xscreensaver-demo");
+ this->addAction(act);
+ act = new QAction( LXDG::findIcon("preferences-desktop",""), tr("Desktop"), this);
+ act->setWhatsThis("lumina-config");
+ this->addAction(act);
+ #ifdef __FreeBSD__
+ if(QFile::exists("/usr/local/bin/qtconfig-qt4")){
+ #endif
+ #ifdef __linux__
+ if(QFile::exists("/usr/bin/qtconfig-qt4")){
+ #endif
+ act = new QAction( LXDG::findIcon("preferences-desktop-theme",""), tr("Window Theme"), this);
+ act->setWhatsThis("qtconfig-qt4");
+ this->addAction(act);
+ }
+}
+
+SettingsMenu::~SettingsMenu(){
+
+}
+
+void SettingsMenu::runApp(QAction* act){
+ LSession::LaunchApplication(act->whatsThis());
+}
diff --git a/lumina-desktop/SettingsMenu.h b/lumina-desktop/SettingsMenu.h
new file mode 100644
index 00000000..b781124c
--- /dev/null
+++ b/lumina-desktop/SettingsMenu.h
@@ -0,0 +1,27 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_SETTINGS_MENU_H
+#define _LUMINA_DESKTOP_SETTINGS_MENU_H
+
+#include <QMenu>
+#include <QProcess>
+#include <QAction>
+
+#include <LuminaXDG.h>
+
+class SettingsMenu : public QMenu{
+ Q_OBJECT
+public:
+ SettingsMenu();
+ ~SettingsMenu();
+
+private slots:
+ void runApp(QAction* act);
+
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/SystemWindow.cpp b/lumina-desktop/SystemWindow.cpp
new file mode 100644
index 00000000..24bd2594
--- /dev/null
+++ b/lumina-desktop/SystemWindow.cpp
@@ -0,0 +1,48 @@
+#include "SystemWindow.h"
+#include "ui_SystemWindow.h"
+
+#include "LSession.h"
+#include <unistd.h> //for usleep() usage
+
+SystemWindow::SystemWindow() : QDialog(), ui(new Ui::SystemWindow){
+ ui->setupUi(this); //load the designer file
+ //Setup the window flags
+ this->setWindowFlags( Qt::Tool | Qt::FramelessWindowHint | Qt::WindowStaysOnTopHint);
+ //Setup the icons based on the current theme
+ ui->tool_logout->setIcon( LXDG::findIcon("system-log-out","") );
+ ui->tool_restart->setIcon( LXDG::findIcon("system-reboot","") );
+ ui->tool_shutdown->setIcon( LXDG::findIcon("system-shutdown","") );
+ ui->push_cancel->setIcon( LXDG::findIcon("dialog-cancel","") );
+ //Connect the signals/slots
+ connect(ui->tool_logout, SIGNAL(clicked()), this, SLOT(sysLogout()) );
+ connect(ui->tool_restart, SIGNAL(clicked()), this, SLOT(sysRestart()) );
+ connect(ui->tool_shutdown, SIGNAL(clicked()), this, SLOT(sysShutdown()) );
+ connect(ui->push_cancel, SIGNAL(clicked()), this, SLOT(sysCancel()) );
+ //Center this window on the screen
+ QDesktopWidget desktop;
+ this->move(desktop.screenGeometry().width()/2 - this->width()/2, desktop.screenGeometry().height()/2 - this->height()/2);
+ this->show();
+}
+
+SystemWindow::~SystemWindow(){
+
+}
+
+void SystemWindow::closeAllWindows(){
+ if( LSession::sessionSettings()->value("PlayLogoutAudio",true).toBool() ){
+ LSession::playAudioFile("/usr/local/share/Lumina-DE/Logout.ogg");
+ }
+ QList<WId> WL = LX11::WindowList();
+ for(int i=0; i<WL.length(); i++){
+ LX11::CloseWindow(WL[i]);
+ LSession::processEvents();
+ }
+ //Now go through the list again and kill any remaining windows
+ usleep(60); //60 ms pause
+ WL = LX11::WindowList();
+ for(int i=0; i<WL.length(); i++){
+ LX11::KillWindow(WL[i]);
+ LSession::processEvents();
+ }
+ LSession::processEvents();
+}
diff --git a/lumina-desktop/SystemWindow.h b/lumina-desktop/SystemWindow.h
new file mode 100644
index 00000000..c8d70c71
--- /dev/null
+++ b/lumina-desktop/SystemWindow.h
@@ -0,0 +1,56 @@
+#ifndef _LUMINA_DESKTOP_SYSTEM_WINDOW_H
+#define _LUMINA_DESKTOP_SYSTEM_WINDOW_H
+
+#include <QDialog>
+#include <QCoreApplication>
+#include <QDesktopWidget>
+#include <QList>
+
+#include "ui_SystemWindow.h"
+#include "Globals.h"
+
+#include <LuminaXDG.h>
+#include <LuminaX11.h>
+#include <LuminaOS.h>
+
+
+
+namespace Ui{
+ class SystemWindow;
+};
+
+class SystemWindow : public QDialog{
+ Q_OBJECT
+public:
+ SystemWindow();
+ ~SystemWindow();
+
+private:
+ Ui::SystemWindow *ui;
+
+ void closeAllWindows();
+
+private slots:
+ void sysLogout(){
+ closeAllWindows();
+ QCoreApplication::exit(0);
+ }
+
+ void sysRestart(){
+ closeAllWindows();
+ LOS::systemRestart();
+ QCoreApplication::exit(0);
+ }
+
+ void sysShutdown(){
+ closeAllWindows();
+ LOS::systemShutdown();
+ QCoreApplication::exit(0);
+ }
+
+ void sysCancel(){
+ this->close();
+ }
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/SystemWindow.ui b/lumina-desktop/SystemWindow.ui
new file mode 100644
index 00000000..c4384ee9
--- /dev/null
+++ b/lumina-desktop/SystemWindow.ui
@@ -0,0 +1,147 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>SystemWindow</class>
+ <widget class="QDialog" name="SystemWindow">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>289</width>
+ <height>135</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>System Options</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QDialog{border-radius: 5px; background-color: rgba(240,240,240,200); border: 1px solid grey;}</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="margin">
+ <number>0</number>
+ </property>
+ <item>
+ <widget class="QFrame" name="frame">
+ <property name="frameShape">
+ <enum>QFrame::StyledPanel</enum>
+ </property>
+ <property name="frameShadow">
+ <enum>QFrame::Raised</enum>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <property name="leftMargin">
+ <number>3</number>
+ </property>
+ <property name="topMargin">
+ <number>3</number>
+ </property>
+ <property name="rightMargin">
+ <number>3</number>
+ </property>
+ <property name="bottomMargin">
+ <number>0</number>
+ </property>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QToolButton" name="tool_logout">
+ <property name="text">
+ <string>Log Out</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>60</width>
+ <height>60</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_restart">
+ <property name="text">
+ <string>Restart</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>60</width>
+ <height>60</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_shutdown">
+ <property name="text">
+ <string>Shutdown</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>60</width>
+ <height>60</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextUnderIcon</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>40</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="Line" name="line">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QPushButton" name="push_cancel">
+ <property name="text">
+ <string>Cancel</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/lumina-desktop/WMProcess.cpp b/lumina-desktop/WMProcess.cpp
new file mode 100644
index 00000000..aecd4bac
--- /dev/null
+++ b/lumina-desktop/WMProcess.cpp
@@ -0,0 +1,115 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "WMProcess.h"
+
+WMProcess::WMProcess() : QProcess(){
+ connect(this,SIGNAL(finished(int, QProcess::ExitStatus)),this,SLOT(processFinished(int, QProcess::ExitStatus)) );
+ this->setProcessChannelMode(QProcess::MergedChannels);
+ QString log = QDir::homePath()+"/.lumina/logs/wm.log";
+ if(QFile::exists(log)){ QFile::remove(log); }
+ this->setStandardOutputFile(log);
+ ssaver = new QProcess(0);
+ inShutdown = false;
+}
+
+WMProcess::~WMProcess(){
+
+}
+
+// =======================
+// PUBLIC FUNCTIONS
+// =======================
+void WMProcess::startWM(){
+ inShutdown = false;
+ QString cmd = setupWM();
+ this->start(cmd);
+ ssaver->start("xscreensaver -no-splash");
+}
+
+void WMProcess::stopWM(){
+ if(isRunning()){
+ inShutdown = true;
+ //QProcess::startDetached("fluxbox-remote closeallwindows");
+ ssaver->kill();
+ this->kill();
+ if(!this->waitForFinished(10000)){ this->terminate(); };
+ }else{
+ qWarning() << "WM already closed - did it crash?";
+ }
+}
+
+void WMProcess::updateWM(){
+ if(isRunning()){
+ ::kill(this->pid(), SIGUSR2); //send fluxbox the signal to reload it's configuration
+ }
+}
+// =======================
+// PRIVATE FUNCTIONS
+// =======================
+bool WMProcess::isRunning(){
+ return (this->state() != QProcess::NotRunning);
+}
+
+QString WMProcess::setupWM(){
+ QString WM = "fluxbox";
+ QString cmd="echo WM Disabled";
+ //leave the option to add other window managers here (for testing purposes)
+ if(WM=="openbox"){
+ QString confDir = QDir::homePath()+"/.config/openbox";
+ if(!QFile::exists(confDir)){ QDir dir(confDir); dir.mkpath(confDir); }
+ if(!QFile::exists(confDir+"lumina-rc.xml")){
+ QFile::copy(":/openboxconf/lumina-rc.xml",confDir+"/lumina-rc.xml");
+ QFile::setPermissions(confDir+"/lumina-rc.xml", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }
+ if(!QFile::exists(confDir+"lumina-menu.xml")){
+ QFile::copy(":/openboxconf/lumina-menu.xml",confDir+"/lumina-menu.xml");
+ QFile::setPermissions(confDir+"/lumina-menu.xml", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }
+ //Now copy the configuration files around as necessary
+ //if(QFile::exists(confDir+"/rc.xml")){ QFile::rename(confDir+"/rc.xml",confDir+"/openbox-rc.xml"); }
+ //QFile::copy(confDir+"/lumina-rc.xml",confDir+"/rc.xml");
+ cmd = "openbox --debug --sm-disable --config-file "+confDir+"/lumina-rc.xml";
+ }else if(WM=="fluxbox"){
+ QString confDir = QDir::homePath()+"/.lumina";
+ if(!QFile::exists(confDir)){ QDir dir(confDir); dir.mkpath(confDir); }
+ if(!QFile::exists(confDir+"/fluxbox-init")){
+ QFile::copy(":/fluxboxconf/fluxbox-init-rc",confDir+"/fluxbox-init");
+ QFile::setPermissions(confDir+"/fluxbox-init", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }
+ /*if(!QFile::exists(confDir+"lumina-menu.xml")){
+ QFile::copy(":/openboxconf/lumina-menu.xml",confDir+"/lumina-menu.xml");
+ QFile::setPermissions(confDir+"/lumina-menu.xml", QFile::ReadOwner | QFile::WriteOwner | QFile::ReadUser | QFile::ReadOther | QFile::ReadGroup);
+ }*/
+ cmd = "fluxbox -rc "+confDir+"/fluxbox-init";
+ }
+ return cmd;
+}
+
+void WMProcess::cleanupConfig(){
+ //QString confDir = QDir::homePath()+"/.config/openbox";
+ //if(!QFile::exists(confDir+"/rc.xml")){ return; } //Make sure that there is a current config file
+ //if(QFile::exists(confDir+"/lumina-rc.xml")){ QFile::remove(confDir+"/lumina-rc.xml"); }
+ //QFile::rename(confDir+"/rc.xml",confDir+"/lumina-rc.xml");
+ //if(QFile::exists(confDir+"/openbox-rc.xml")){ QFile::rename(confDir+"/openbox-rc.xml",confDir+"/rc.xml"); }
+}
+// =======================
+// PRIVATE SLOTS
+// =======================
+void WMProcess::processFinished(int exitcode, QProcess::ExitStatus status){
+ if(!inShutdown){
+ if(exitcode == 0 && status == QProcess::NormalExit){
+ cleanupConfig();
+ emit WMShutdown();
+ }else{
+ //restart the Window manager
+ this->startWM();
+ }
+ }else{
+ cleanupConfig();
+ }
+}
+
diff --git a/lumina-desktop/WMProcess.h b/lumina-desktop/WMProcess.h
new file mode 100644
index 00000000..29a06c2f
--- /dev/null
+++ b/lumina-desktop/WMProcess.h
@@ -0,0 +1,43 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_WMPROCESS_H
+#define _LUMINA_DESKTOP_WMPROCESS_H
+
+#include <QProcess>
+#include <QFile>
+#include <QDir>
+#include <QDebug>
+
+#include <sys/types.h>
+#include <signal.h>
+
+class WMProcess : public QProcess{
+ Q_OBJECT
+public:
+ WMProcess();
+ ~WMProcess();
+
+ void startWM();
+ void stopWM();
+ void updateWM();
+
+private:
+ bool inShutdown;
+ bool isRunning();
+ QString setupWM();
+ void cleanupConfig();
+ QProcess *ssaver;
+
+private slots:
+ void processFinished(int exitcode, QProcess::ExitStatus status);
+
+signals:
+ void WMShutdown();
+};
+
+#endif
+
diff --git a/lumina-desktop/audiofiles/LICENCE b/lumina-desktop/audiofiles/LICENCE
new file mode 100644
index 00000000..2929216f
--- /dev/null
+++ b/lumina-desktop/audiofiles/LICENCE
@@ -0,0 +1 @@
+These audio files are BSD-licensed and were created/owned by the PC-BSD Project
diff --git a/lumina-desktop/audiofiles/Login.ogg b/lumina-desktop/audiofiles/Login.ogg
new file mode 100644
index 00000000..43a07e27
--- /dev/null
+++ b/lumina-desktop/audiofiles/Login.ogg
Binary files differ
diff --git a/lumina-desktop/audiofiles/Logout.ogg b/lumina-desktop/audiofiles/Logout.ogg
new file mode 100644
index 00000000..e63ae07f
--- /dev/null
+++ b/lumina-desktop/audiofiles/Logout.ogg
Binary files differ
diff --git a/lumina-desktop/defaults/defaultapps.conf b/lumina-desktop/defaults/defaultapps.conf
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/lumina-desktop/defaults/defaultapps.conf
@@ -0,0 +1 @@
+
diff --git a/lumina-desktop/defaults/desktop-background.jpg b/lumina-desktop/defaults/desktop-background.jpg
new file mode 100644
index 00000000..456de652
--- /dev/null
+++ b/lumina-desktop/defaults/desktop-background.jpg
Binary files differ
diff --git a/lumina-desktop/defaults/desktopsettings.conf b/lumina-desktop/defaults/desktopsettings.conf
new file mode 100644
index 00000000..8b137891
--- /dev/null
+++ b/lumina-desktop/defaults/desktopsettings.conf
@@ -0,0 +1 @@
+
diff --git a/lumina-desktop/defaults/stylesheet.qss b/lumina-desktop/defaults/stylesheet.qss
new file mode 100644
index 00000000..f8c6f1bb
--- /dev/null
+++ b/lumina-desktop/defaults/stylesheet.qss
@@ -0,0 +1,39 @@
+QToolTip{
+ background: rgb(240,240,240);
+ border: 1px solid transparent;
+ padding: 1px;
+ color: black;
+}
+QMenu {
+ background-color: rgb(240,240,240);
+ border: 1px solid transparent;
+ margin: 2px; /* some spacing around the menu */
+ }
+ QMenu::item {
+ padding-left: 27px;
+ padding-right: 15px;
+ padding-top: 2px;
+ padding-bottom: 2px;
+ border: 1px solid transparent; /* reserve space for selection border */
+ }
+ QMenu::item:selected {
+ border: 1px solid black;
+ border-radius: 3px;
+ background: rgba(130, 130, 130, 150);
+ }
+ QMenu::indicator{
+ width: 22px;
+ height: 22px;
+ }
+ QMenu::icon{
+ width: 22px;
+ height: 22px;
+ }
+
+ QWidget{
+ font-family: "DejaVu Sans";
+ font-size: 13px;
+ font-weight: 300;
+ font-style: normal;
+ color: black;
+ } \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/LDPlugin.h b/lumina-desktop/desktop-plugins/LDPlugin.h
new file mode 100644
index 00000000..e8a1f5f3
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/LDPlugin.h
@@ -0,0 +1,59 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is the generic container layout for all desktop plugins
+// Simply subclass this when creating a new plugin to enable correct
+// visibility and usage within the desktop window
+//===========================================
+// WARNING: Do *not* setup a custom context menu for plugins!
+// This can prevent access to the general desktop context menu if
+// the plugin was maximized to fill the desktop area!
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKTOP_PLUGIN_H
+#define _LUMINA_DESKTOP_DESKTOP_PLUGIN_H
+
+#include <QObject>
+#include <QWidget>
+#include <QString>
+#include <QDebug>
+#include <QSettings>
+#include <QMoveEvent>
+#include <QResizeEvent>
+
+class LDPlugin : public QWidget{
+ Q_OBJECT
+
+private:
+ QString PLUGID;
+
+public:
+ QSettings *settings;
+
+ LDPlugin(QWidget *parent = 0, QString id="unknown") : QWidget(parent){
+ PLUGID=id;
+ settings = new QSettings("desktop-plugins",PLUGID);
+ }
+
+ ~LDPlugin(){
+ delete settings;
+ }
+
+ QString ID(){
+ return PLUGID;
+ }
+
+public slots:
+ virtual void LocaleChange(){
+ //This needs to be re-implemented in the subclassed plugin
+ //This is where all text is set/translated
+ }
+ virtual void ThemeChange(){
+ //This needs to be re-implemented in the subclassed plugin
+ //This is where all the visuals are set if using Theme-dependant icons.
+ }
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/LDPluginContainer.h b/lumina-desktop/desktop-plugins/LDPluginContainer.h
new file mode 100644
index 00000000..52e426ba
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/LDPluginContainer.h
@@ -0,0 +1,110 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is the generic container for a desktop plugin that handles
+// saving/restoring all the movement and sizing
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKTOP_PLUGIN_CONTAINER_H
+#define _LUMINA_DESKTOP_DESKTOP_PLUGIN_CONTAINER_H
+
+#include <QObject>
+#include <QMdiSubWindow>
+#include <QSettings>
+#include <QMoveEvent>
+#include <QResizeEvent>
+#include <QCloseEvent>
+#include <QString>
+#include <QFile>
+
+#include "LDPlugin.h"
+
+class LDPluginContainer : public QMdiSubWindow{
+ Q_OBJECT
+
+private:
+ QSettings *settings;
+ bool locked, setup;
+
+public:
+ LDPluginContainer(LDPlugin *plugin = 0, bool islocked = true) : QMdiSubWindow(){
+ locked = islocked;
+ setup=true;
+ this->setWhatsThis(plugin->ID());
+ if(locked){ this->setWindowFlags(Qt::FramelessWindowHint); }
+ else{ this->setWindowFlags(Qt::CustomizeWindowHint | Qt::WindowMaximizeButtonHint | Qt::WindowCloseButtonHint); }
+ settings = plugin->settings; //save this pointer for access later
+ if(settings->allKeys().isEmpty()){
+ //Brand new plugin - no location/size info saved yet
+ //save the initial size of the plugin - the initial location will be set automatically
+ settings->setValue("location/width", plugin->sizeHint().width());
+ settings->setValue("location/height", plugin->sizeHint().height());
+ settings->sync();
+ }
+ this->setContentsMargins(0,0,0,0);
+ if(!locked){
+ //this->setWindowTitle( plugin->ID().replace("---"," - ") );
+ //this->setWidget( new QWidget() );
+ this->setWidget( plugin );
+ }else{
+ this->setStyleSheet("LDPluginContainer{ background: transparent; border: none;}");
+ this->setWidget(plugin);
+ }
+ }
+
+ ~LDPluginContainer(){
+ }
+
+ void loadInitialPosition(){
+ QRect set(settings->value("location/x",-12345).toInt(), settings->value("location/y",-12345).toInt(), settings->value("location/width",this->widget()->sizeHint().width()).toInt(), settings->value("location/height",this->widget()->sizeHint().height()).toInt());
+ //qDebug() << "Initial Plugin Location:" << set.x() << set.y() << set.width() << set.height();
+ if(set.height() < 10){ set.setHeight(10); } //to prevent foot-shooting
+ if(set.width() < 10){ set.setWidth(10); } //to prevent foot-shooting
+ if(set.x()!=-12345 && set.y()!=-12345){
+ //custom location specified
+ this->setGeometry(set);
+ }else{
+ this->resize(set.width(), set.height());
+ }
+ setup=false; //done with setup
+ }
+
+signals:
+ void PluginRemoved(QString);
+
+protected:
+ void moveEvent(QMoveEvent *event){
+ //Save this location to the settings
+ if(!locked && !setup){
+ //qDebug() << "DP Move:" << event->pos().x() << event->pos().y();
+ settings->setValue("location/x", event->pos().x());
+ settings->setValue("location/y", event->pos().y());
+ settings->sync();
+ }
+ }
+
+ void resizeEvent(QResizeEvent *event){
+ //Save this size info to the settings
+ if(!locked && !setup){
+ //qDebug() << "DP Resize:" << event->size().width() << event->size().height();
+ settings->setValue("location/width", event->size().width());
+ settings->setValue("location/height", event->size().height());
+ settings->sync();
+ }
+ QMdiSubWindow::resizeEvent(event); //be sure to pass this event along to the container
+ }
+
+ void closeEvent(QCloseEvent *event){
+ if( !this->whatsThis().isEmpty() ){
+ //Plugin removed by the user - delete the settings file
+ QFile::remove( settings->fileName() );
+ emit PluginRemoved( this->whatsThis() );
+ }
+ event->accept(); //continue closing the widget
+ }
+
+};
+
+#endif
diff --git a/lumina-desktop/desktop-plugins/NewDP.h b/lumina-desktop/desktop-plugins/NewDP.h
new file mode 100644
index 00000000..0e225cb9
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/NewDP.h
@@ -0,0 +1,38 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is the interface to load all the different desktop plugins
+//===========================================
+#ifndef _LUMINA_DESKTOP_NEW_DESKTOP_PLUGIN_H
+#define _LUMINA_DESKTOP_NEW_DESKTOP_PLUGIN_H
+
+#include <QDebug>
+
+//List all the individual plugin includes here
+#include "LDPlugin.h"
+#include "SamplePlugin.h"
+#include "calendar/CalendarPlugin.h"
+#include "applauncher/AppLauncherPlugin.h"
+
+class NewDP{
+public:
+ static LDPlugin* createPlugin(QString plugin, QWidget* parent=0){
+ LDPlugin *plug = 0;
+ if(plugin.section("---",0,0)=="sample"){
+ plug = new SamplePlugin(parent, plugin);
+ }else if(plugin.section("---",0,0)=="calendar"){
+ plug = new CalendarPlugin(parent, plugin);
+ }else if(plugin.section("---",0,0)=="applauncher"){
+ plug = new AppLauncherPlugin(parent, plugin);
+ }else{
+ qWarning() << "Invalid Desktop Plugin:"<<plugin << " -- Ignored";
+ }
+ return plug;
+ }
+
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/SamplePlugin.h b/lumina-desktop/desktop-plugins/SamplePlugin.h
new file mode 100644
index 00000000..4a790c2d
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/SamplePlugin.h
@@ -0,0 +1,38 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is a quick sample desktop plugin
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKTOP_PLUGIN_SAMPLE_H
+#define _LUMINA_DESKTOP_DESKTOP_PLUGIN_SAMPLE_H
+
+#include <QPushButton>
+#include <QMessageBox>
+#include <QVBoxLayout>
+#include "LDPlugin.h"
+
+class SamplePlugin : public LDPlugin{
+ Q_OBJECT
+public:
+ SamplePlugin(QWidget* parent, QString ID) : LDPlugin(parent, ID){
+ this->setLayout( new QVBoxLayout());
+ this->layout()->setContentsMargins(0,0,0,0);
+ button = new QPushButton("sample");
+ this->layout()->addWidget(button);
+ connect(button, SIGNAL(clicked()), this, SLOT(showMessage()) );
+ }
+
+ ~SamplePlugin(){}
+
+private:
+ QPushButton *button;
+
+private slots:
+ void showMessage(){
+ QMessageBox::information(this,"sample","sample desktop plugin works");
+ }
+};
+#endif
diff --git a/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.h b/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.h
new file mode 100644
index 00000000..3a8e5da8
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/applauncher/AppLauncherPlugin.h
@@ -0,0 +1,84 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is a quick sample desktop plugin
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKTOP_PLUGIN_APPLICATION_LAUNCHER_H
+#define _LUMINA_DESKTOP_DESKTOP_PLUGIN_APPLICATION_LAUNCHER_H
+
+#include <QToolButton>
+#include <QInputDialog>
+#include <QVBoxLayout>
+#include <QProcess>
+#include <QFile>
+#include <QFileSystemWatcher>
+#include <QTimer>
+
+#include "../LDPlugin.h"
+
+#include <LuminaXDG.h>
+
+class AppLauncherPlugin : public LDPlugin{
+ Q_OBJECT
+public:
+ AppLauncherPlugin(QWidget* parent, QString ID) : LDPlugin(parent, ID){
+ this->setLayout( new QVBoxLayout());
+ this->layout()->setContentsMargins(0,0,0,0);
+ button = new QToolButton(this);
+ button->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
+ button->setIconSize(QSize(64,64));
+ button->setAutoRaise(true);
+ this->layout()->addWidget(button);
+ connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked()) );
+ watcher = new QFileSystemWatcher(this);
+ connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT( loadButton()) );
+ QTimer::singleShot(1,this, SLOT(loadButton()) );
+ }
+
+ ~AppLauncherPlugin(){}
+
+private:
+ QToolButton *button;
+ QFileSystemWatcher *watcher;
+
+private slots:
+ void loadButton(){
+ QString path = this->settings->value("applicationpath","").toString();
+ bool ok = false;
+ XDGDesktop file = LXDG::loadDesktopFile(path, ok);
+ if(path.isEmpty() || !QFile::exists(path) || !ok){
+ button->setWhatsThis("");
+ button->setIcon( LXDG::findIcon("quickopen-file","") );
+ button->setText( tr("Click to Set") );
+ if(!watcher->files().isEmpty()){ watcher->removePaths(watcher->files()); }
+ }else{
+ button->setWhatsThis(file.filePath);
+ button->setIcon( LXDG::findIcon(file.icon,"quickopen") );
+ button->setText( this->fontMetrics().elidedText(file.name, Qt::ElideRight, 64) );
+ if(!watcher->files().isEmpty()){ watcher->removePaths(watcher->files()); }
+ watcher->addPath(file.filePath); //make sure to update this shortcut if the file changes
+ }
+ }
+
+ void buttonClicked(){
+ QString path = button->whatsThis();
+ if(path.isEmpty() || !QFile::exists(path) ){
+ //prompt for the user to select an application
+ QList<XDGDesktop> apps = LXDG::sortDesktopNames( LXDG::systemDesktopFiles() );
+ QStringList names;
+ for(int i=0; i<apps.length(); i++){ names << apps[i].name; }
+ bool ok = false;
+ QString app = QInputDialog::getItem(this, tr("Select Application"), tr("Name:"), names, 0, false, &ok);
+ if(!ok || names.indexOf(app)<0){ return; } //cancelled
+ this->settings->setValue("applicationpath", apps[ names.indexOf(app) ].filePath);
+ QTimer::singleShot(0,this, SLOT(loadButton()));
+ }else{
+ QProcess::startDetached("lumina-open "+path);
+ }
+
+ }
+};
+#endif
diff --git a/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h b/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h
new file mode 100644
index 00000000..e861052e
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/calendar/CalendarPlugin.h
@@ -0,0 +1,31 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is a quick sample desktop plugin
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKTOP_PLUGIN_CALENDAR_H
+#define _LUMINA_DESKTOP_DESKTOP_PLUGIN_CALENDAR_H
+
+#include <QCalendarWidget>
+#include <QVBoxLayout>
+#include "../LDPlugin.h"
+
+class CalendarPlugin : public LDPlugin{
+ Q_OBJECT
+public:
+ CalendarPlugin(QWidget* parent, QString ID) : LDPlugin(parent, ID){
+ this->setLayout( new QVBoxLayout());
+ this->layout()->setContentsMargins(0,0,0,0);
+ cal = new QCalendarWidget(this);
+ this->layout()->addWidget(cal);
+ }
+
+ ~CalendarPlugin(){}
+
+private:
+ QCalendarWidget *cal;
+};
+#endif
diff --git a/lumina-desktop/desktop-plugins/desktopview/DeskItem.cpp b/lumina-desktop/desktop-plugins/desktopview/DeskItem.cpp
new file mode 100644
index 00000000..21b1d1f6
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/desktopview/DeskItem.cpp
@@ -0,0 +1,50 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "DeskItem.h"
+
+DeskItem::DeskItem(QWidget *parent, QString itempath, int ssize) : QToolButton(parent){
+ this->setFixedSize(ssize, ssize);
+ this->setWhatsThis(itempath);
+ this->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
+ this->setAutoRaise(true);
+ int txtheight = this->fontMetrics().height() *2;
+ this->setIconSize( QSize(ssize-txtheight, ssize-txtheight));
+ connect(this, SIGNAL(clicked()), this, SLOT(RunItem()) );
+ updateItem();
+}
+
+DeskItem::~DeskItem(){
+
+}
+
+void DeskItem::updateItem(){
+ QFileInfo info(this->whatsThis());
+ QIcon ico;
+ QString txt;
+ if(info.isDir()){
+ ico = LXDG::findIcon("folder","");
+ txt = info.fileName();
+ }else if(info.suffix()=="desktop"){
+ bool ok = false;
+ XDGDesktop dsk = LXDG::loadDesktopFile(this->whatsThis(), ok);
+ if(ok){
+ ico = LXDG::findIcon( dsk.icon );
+ txt = dsk.name;
+ }else{
+ ico = LXDG::findIcon("","");
+ txt = info.fileName();
+ }
+ }else{
+ ico = LXDG::findIcon("application-x-zerosize","");
+ txt = info.fileName();
+ }
+ this->setIcon(ico);
+ //Trim the text size to fit
+ txt = this->fontMetrics().elidedText(txt, Qt::ElideRight ,this->width() - 4);
+ this->setText(txt);
+
+} \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/desktopview/DeskItem.h b/lumina-desktop/desktop-plugins/desktopview/DeskItem.h
new file mode 100644
index 00000000..c578d692
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/desktopview/DeskItem.h
@@ -0,0 +1,30 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKTOP_ITEM_H
+#define _LUMINA_DESKTOP_DESKTOP_ITEM_H
+
+#include <QToolButton>
+#include <QProcess>
+#include <QString>
+
+#include <LuminaXDG.h>
+
+class DeskItem : public QToolButton{
+ Q_OBJECT
+public:
+ DeskItem(QWidget *parent, QString itempath, int ssize);
+ ~DeskItem();
+
+ void updateItem();
+
+private slots:
+ void RunItem(){
+ QProcess::startDetached("lumina-open "+this->whatsThis());
+ }
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
new file mode 100644
index 00000000..4c70d19f
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.cpp
@@ -0,0 +1,87 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "DesktopViewPlugin.h"
+
+DesktopViewPlugin::DesktopViewPlugin(QWidget *parent) : LDPlugin(parent, "desktopview"){
+ watcher = new QFileSystemWatcher(this);
+ deskDir = QDir::homePath();
+ if(QFile::exists(deskDir+"/Desktop") ){
+ deskDir = deskDir+"/Desktop";
+ }else if(QFile::exists(deskDir+"/desktop") ){
+ deskDir = deskDir+"/desktop";
+ }
+ watcher->addPath(deskDir);
+ icoSize = 0; //temporary placeholder
+ spacing = 0; //temporary placeholder
+ ITEMS.clear();
+ layout = new QGridLayout(this);
+ layout->setContentsMargins(1,1,1,1);
+ this->setLayout(layout);
+
+ //Connect the signals/slots
+ connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(UpdateDesktop()) );
+ connect(watcher, SIGNAL(fileChanged(QString)), this, SLOT(UpdateDesktop()) );
+
+ //Now launch the update mechanisms in a new thread
+ QTimer::singleShot(10, this, SLOT(UpdateDesktop()) );
+}
+
+DesktopViewPlugin::~DesktopViewPlugin(){
+
+}
+
+void DesktopViewPlugin::UpdateDesktop(){
+ //Calculate available rows/columns
+ int oldSize = icoSize;
+ icoSize = 64; //64x64 default icons for now (make dynamic later)
+ int oldspacing = spacing;
+ spacing = 4; // 4 pixel space between items (make dynamic later);
+ if(icoSize != oldSize || spacing != oldspacing){
+ //Re-create all the items with the proper size
+ for(int i=0; i<ITEMS.length(); i++){
+ delete ITEMS.takeAt(i); //delete the widget
+ i--;
+ }
+ }
+ layout->setSpacing(spacing);
+
+ int rmax = (this->height()-2)/(icoSize+spacing);
+ int cmax = (this->width()-2)/(icoSize+spacing);
+ //Now get the current items in the folder
+ QDir dir(deskDir);
+ QStringList items = dir.entryList( QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot, QDir::Type | QDir::LocaleAware | QDir::DirsFirst);
+ //iterate over all current items
+ for(int i=0; i<ITEMS.length(); i++){
+ int index = items.indexOf( ITEMS[i]->whatsThis().section("/",-1) );
+ if( index == -1 ){
+ //item no longer exists - remove it
+ delete ITEMS.takeAt(i);
+ i--;
+ }else{
+ //Item still exists - remove it from the "new" list
+ ITEMS[i]->updateItem();
+ items.removeAt(index);
+ }
+ }
+ //Now iterate over the spaces in the widget and create items as necessary
+ for(int r=0; r<rmax; r++){
+ layout->setRowMinimumHeight(r,icoSize);
+ for(int c=0; c<cmax && items.length() > 0; c++){
+ if(r==0){ layout->setColumnMinimumWidth(c,icoSize); }
+ if(layout->itemAtPosition(r,c)==0 && items.length() > 0){
+ //Empty spot, put the first new item here
+ DeskItem *it = new DeskItem(this, deskDir+"/"+items[0], icoSize);
+ items.removeAt(0);
+ layout->addWidget(it, r,c);
+ ITEMS << it;
+ }
+ }
+ }
+ if(layout->itemAtPosition(rmax,cmax)==0){
+ layout->addWidget(new QWidget(this), rmax, cmax); //put an empty widget here as a placeholder
+ }
+} \ No newline at end of file
diff --git a/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
new file mode 100644
index 00000000..9702e6e4
--- /dev/null
+++ b/lumina-desktop/desktop-plugins/desktopview/DesktopViewPlugin.h
@@ -0,0 +1,43 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is the interface to load all the different desktop plugins
+//===========================================
+#ifndef _LUMINA_DESKTOP_VIEW_PLUGIN_H
+#define _LUMINA_DESKTOP_VIEW_PLUGIN_H
+
+#include <QDir>
+#include <QFile>
+#include <QFileSystemWatcher>
+#include <QGridLayout>
+#include <QStringList>
+#include <QList>
+#include <QTimer>
+
+#include <LuminaXDG.h>
+
+#include "../LDPlugin.h"
+#include "DeskItem.h"
+
+
+class DesktopViewPlugin : public LDPlugin{
+ Q_OBJECT
+public:
+ DesktopViewPlugin(QWidget *parent = 0);
+ ~DesktopViewPlugin();
+
+private:
+ QString deskDir;
+ QFileSystemWatcher *watcher;
+ QGridLayout *layout;
+ int icoSize, spacing;
+ QList<DeskItem*> ITEMS;
+
+private slots:
+ void UpdateDesktop();
+
+};
+#endif \ No newline at end of file
diff --git a/lumina-desktop/fluxboxconf/fluxbox-init-rc b/lumina-desktop/fluxboxconf/fluxbox-init-rc
new file mode 100644
index 00000000..ba9c7706
--- /dev/null
+++ b/lumina-desktop/fluxboxconf/fluxbox-init-rc
@@ -0,0 +1,82 @@
+session.screen0.window.focus.alpha: 255
+session.screen0.window.unfocus.alpha: 255
+session.screen0.titlebar.left: Stick
+session.screen0.titlebar.right: Minimize Maximize Close
+session.screen0.menu.alpha: 255
+session.screen0.clientMenu.usePixmap: true
+session.screen0.toolbar.onhead: 2
+session.screen0.toolbar.onTop: False
+session.screen0.toolbar.maxOver: false
+session.screen0.toolbar.widthPercent: 100
+session.screen0.toolbar.autoHide: false
+session.screen0.toolbar.placement: BottomCenter
+session.screen0.toolbar.alpha: 150
+session.screen0.toolbar.visible: false
+session.screen0.toolbar.layer: Dock
+session.screen0.toolbar.height: 0
+session.screen0.toolbar.tools:
+session.screen0.iconbar.iconWidth: 128
+session.screen0.iconbar.alignment: Left
+session.screen0.iconbar.usePixmap: true
+session.screen0.iconbar.iconTextPadding: 10
+session.screen0.iconbar.mode: workspace
+session.screen0.slit.direction: Vertical
+session.screen0.slit.onTop: False
+session.screen0.slit.onhead: 0
+session.screen0.slit.autoHide: false
+session.screen0.slit.maxOver: false
+session.screen0.slit.placement: RightBottom
+session.screen0.slit.alpha: 255
+session.screen0.slit.acceptKdeDockapps: true
+session.screen0.slit.layer: Dock
+session.screen0.tab.alignment: Left
+session.screen0.tab.placement: Top
+session.screen0.tab.width: 64
+session.screen0.tab.rotatevertical: True
+session.screen0.tab.height: 16
+session.screen0.tabs.usePixmap: false
+session.screen0.tabs.maxOver: false
+session.screen0.tabs.intitlebar: true
+session.screen0.windowPlacement: RowSmartPlacement
+session.screen0.rowPlacementDirection: LeftToRight
+session.screen0.opaqueMove: true
+session.screen0.focusLastWindow: True
+session.screen0.maxDisableMove: false
+session.screen0.showwindowposition: false
+session.screen0.fullMaximization: false
+session.screen0.defaultDeco: NORMAL
+session.screen0.workspaceNames: one,two
+session.screen0.maxIgnoreIncrement: true
+session.screen0.edgeSnapThreshold: 10
+session.screen0.workspaces: 2
+session.screen0.noFocusWhileTypingDelay: 0
+session.screen0.focusNewWindows: true
+session.screen0.menuDelay: 200
+session.screen0.clickRaises: true
+session.screen0.focusSameHead: true
+session.screen0.focusModel: ClickFocus
+session.screen0.workspacewarping: true
+session.screen0.maxDisableResize: false
+session.screen0.autoRaise: true
+session.screen0.allowRemoteActions: false
+session.screen0.tooltipDelay: 500
+session.screen0.colPlacementDirection: TopToBottom
+session.screen0.tabFocusModel: ClickToTabFocus
+session.screen0.strftimeFormat: %l:%M
+session.titlebar.right: Minimize Maximize Close
+session.colorsPerChannel: 4
+session.opaqueMove: False
+session.styleFile: /usr/local/share/fluxbox/styles/slim_blue
+session.doubleClickInterval: 250
+session.iconbar: false
+session.cacheLife: 5
+session.ignoreBorder: false
+session.tabsAttachArea: Window
+session.tabPadding: 0
+session.keyFile: ~/.lumina/fluxbox-keys
+session.configVersion: 13
+session.autoRaiseDelay: 250
+session.cacheMax: 200
+session.imageDither: True
+session.forcePseudoTransparency: True
+
diff --git a/lumina-desktop/fluxboxconf/fluxbox-keys b/lumina-desktop/fluxboxconf/fluxbox-keys
new file mode 100644
index 00000000..958a48c7
--- /dev/null
+++ b/lumina-desktop/fluxboxconf/fluxbox-keys
@@ -0,0 +1,141 @@
+! fluxbox-update_configs added '(workspace=[current])' to (Next|Prev)(Window|Group)
+! check lines marked by 'FBCV13' if they are correctly updated
+!mouse actions added by fluxbox-update_configs
+OnTitlebar Mouse1 :MacroCmd {Focus} {Raise} {ActivateTab}
+!mouse actions added by fluxbox-update_configs
+OnTitlebar Move1 :StartMoving
+OnLeftGrip Move1 :StartResizing bottomleft
+OnRightGrip Move1 :StartResizing bottomright
+OnWindowBorder Move1 :StartMoving
+
+!mouse actions added by fluxbox-update_configs
+OnTitlebar Mouse2 :StartTabbing
+
+!mouse actions added by fluxbox-update_configs
+OnTitlebar Double Mouse1 :Shade
+OnTitlebar Mouse3 :WindowMenu
+
+!mouse actions added by fluxbox-update_configs
+OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
+OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing BottomRight}
+
+# scroll on the toolbar to change current window
+OnToolbar Mouse4 :PrevWindow {static groups} (workspace=[current]) (iconhidden=no) !! FBCV13 !!
+OnToolbar Mouse5 :NextWindow {static groups} (workspace=[current]) (iconhidden=no) !! FBCV13 !!
+
+# alt + left/right click to move/resize a window
+OnWindow Mod1 Mouse1 :MacroCmd {Raise} {Focus} {StartMoving}
+OnWindowBorder Move1 :StartMoving
+
+OnWindow Mod1 Mouse3 :MacroCmd {Raise} {Focus} {StartResizing NearestCorner}
+OnLeftGrip Move1 :StartResizing bottomleft
+OnRightGrip Move1 :StartResizing bottomright
+
+# alt + middle click to lower the window
+OnWindow Mod1 Mouse2 :Lower
+
+# control-click a window's titlebar and drag to attach windows
+OnTitlebar Control Mouse1 :StartTabbing
+
+# double click on the titlebar to shade
+OnTitlebar Double Mouse1 :Shade
+
+# left click on the titlebar to move the window
+OnTitlebar Mouse1 :MacroCmd {Raise} {Focus} {ActivateTab}
+OnTitlebar Move1 :StartMoving
+
+# middle click on the titlebar to lower
+OnTitlebar Mouse2 :Lower
+
+# right click on the titlebar for a menu of options
+OnTitlebar Mouse3 :WindowMenu
+
+# alt-tab
+Mod1 Tab :NextWindow {groups} (workspace=[current]) (workspace=[current]) !! FBCV13 !!
+Mod1 Shift Tab :PrevWindow {groups} (workspace=[current]) (workspace=[current]) !! FBCV13 !!
+
+# cycle through tabs in the current window
+Mod4 Tab :NextTab
+Mod4 Shift Tab :PrevTab
+
+# go to a specific tab in the current window
+Mod4 1 :Tab 1
+Mod4 2 :Tab 2
+Mod4 3 :Tab 3
+Mod4 4 :Tab 4
+Mod4 5 :Tab 5
+Mod4 6 :Tab 6
+Mod4 7 :Tab 7
+Mod4 8 :Tab 8
+Mod4 9 :Tab 9
+
+# open a terminal
+Mod1 F1 :Exec xterm
+
+# open a dialog to run programs
+Mod1 F2 :Exec fbrun
+
+# current window commands
+Mod1 F4 :Close
+Mod1 F5 :Kill
+Mod1 F9 :Minimize
+Mod1 F10 :Maximize
+Mod1 F11 :Fullscreen
+
+# change to previous/next workspace
+Control Mod1 Left :PrevWorkspace
+Control Mod1 Right :NextWorkspace
+
+# send the current window to previous/next workspace
+Mod4 Left :SendToPrevWorkspace
+Mod4 Right :SendToNextWorkspace
+
+# send the current window and follow it to previous/next workspace
+Control Mod4 Left :TakeToPrevWorkspace
+Control Mod4 Right :TakeToNextWorkspace
+
+# change to a specific workspace
+Control F1 :Workspace 1
+Control F2 :Workspace 2
+Control F3 :Workspace 3
+Control F4 :Workspace 4
+Control F5 :Workspace 5
+Control F6 :Workspace 6
+Control F7 :Workspace 7
+Control F8 :Workspace 8
+Control F9 :Workspace 9
+Control F10 :Workspace 10
+Control F11 :Workspace 11
+Control F12 :Workspace 12
+
+# send the current window to a specific workspace
+Mod4 F1 :SendToWorkspace 1
+Mod4 F2 :SendToWorkspace 2
+Mod4 F3 :SendToWorkspace 3
+Mod4 F4 :SendToWorkspace 4
+Mod4 F5 :SendToWorkspace 5
+Mod4 F6 :SendToWorkspace 6
+Mod4 F7 :SendToWorkspace 7
+Mod4 F8 :SendToWorkspace 8
+Mod4 F9 :SendToWorkspace 9
+Mod4 F10 :SendToWorkspace 10
+Mod4 F11 :SendToWorkspace 11
+Mod4 F12 :SendToWorkspace 12
+
+# send the current window and change to a specific workspace
+Control Mod4 F1 :TakeToWorkspace 1
+Control Mod4 F2 :TakeToWorkspace 2
+Control Mod4 F3 :TakeToWorkspace 3
+Control Mod4 F4 :TakeToWorkspace 4
+Control Mod4 F5 :TakeToWorkspace 5
+Control Mod4 F6 :TakeToWorkspace 6
+Control Mod4 F7 :TakeToWorkspace 7
+Control Mod4 F8 :TakeToWorkspace 8
+Control Mod4 F9 :TakeToWorkspace 9
+Control Mod4 F10 :TakeToWorkspace 10
+Control Mod4 F11 :TakeToWorkspace 11
+Control Mod4 F12 :TakeToWorkspace 12
+
+Print :Exec lumina-screenshot
+
+
diff --git a/lumina-desktop/i18n/lumina-desktop_af.ts b/lumina-desktop/i18n/lumina-desktop_af.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_af.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ar.ts b/lumina-desktop/i18n/lumina-desktop_ar.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ar.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_az.ts b/lumina-desktop/i18n/lumina-desktop_az.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_az.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_bg.ts b/lumina-desktop/i18n/lumina-desktop_bg.ts
new file mode 100644
index 00000000..c769cb89
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_bg.ts
@@ -0,0 +1,403 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Приложения</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Мултимедия</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Разработка</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Образование</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Игри</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Графики</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Мрежа</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Офис</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Наука</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Настройки</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Системни</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Инструменти</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Несортирани</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Зарежда)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Остава)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Аудио</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Видео</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Изображения</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Други Файлове</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Документи</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Терминал</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Log Out</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina Десктоп</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Работен плот %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>Разглегай Системата</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>Заключи Десктопа</translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>Отключи Десктопа</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">Snap Plugins to Grid</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Работен плот %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Log Out</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Затвоти Прозореца</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Настройки на Десктопа</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">Screensaver</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Десктоп</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Системни Опции</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Рестарт</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Изключване</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отказ</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Log Out</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">Home</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">Мултимедия</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">Разработка</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">Образование</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">Игри</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">Графики</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">Мрежа</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">Офис</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">Наука</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">Настройки</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">Системни</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">Инструменти</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">Несортирани</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_bn.ts b/lumina-desktop/i18n/lumina-desktop_bn.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_bn.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_bs.ts b/lumina-desktop/i18n/lumina-desktop_bs.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_bs.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ca.ts b/lumina-desktop/i18n/lumina-desktop_ca.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ca.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_cs.ts b/lumina-desktop/i18n/lumina-desktop_cs.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_cs.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_cy.ts b/lumina-desktop/i18n/lumina-desktop_cy.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_cy.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_da.ts b/lumina-desktop/i18n/lumina-desktop_da.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_da.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_de.ts b/lumina-desktop/i18n/lumina-desktop_de.ts
new file mode 100644
index 00000000..42b9b203
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_de.ts
@@ -0,0 +1,407 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Anwendungen</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Entwicklung</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Bildung</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Spiele</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Grafisch</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Netzwerk</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Büro</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Wissenschaft</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Einstellungen</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Dienstprogramme</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Unsortiert</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Laden)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 verbleibend)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Bilder</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Andere Dateien</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Dokumente</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Abmelden</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina-Arbeitsplatz</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Arbeitsplatz %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Arbeitsplatz %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Abmelden</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Fenster schließen</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Arbeitsplatzeinstellungen</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Bildschirmschoner</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Arbeitsplatz</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Systemoptionen</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Neustart</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Herunterfahren</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Abbruch</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Abmelden</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Anfang</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">Multimedia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">Entwicklung</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">Bildung</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">Spiele</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">Grafisch</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">Netzwerk</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">Büro</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">Wissenschaft</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">Einstellungen</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">System</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">Dienstprogramme</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">Unsortiert</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_el.ts b/lumina-desktop/i18n/lumina-desktop_el.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_el.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_en_GB.ts b/lumina-desktop/i18n/lumina-desktop_en_GB.ts
new file mode 100644
index 00000000..a00ef9d9
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_en_GB.ts
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation>Click to Set</translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation>Select Application</translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation>Name:</translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utility</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation>Open Home</translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation>Install Applications</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Charging)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Remaining)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Pictures</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Other Files</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Favorite Applications</translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation>Favorite Folders</translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation>Favorite Files</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina Desktop</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Workspace %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>Browse System</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>Lock Desktop</translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>Unlock Desktop</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation>Snap Plugins to Grid</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Workspace %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation>System Volume</translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation>Screen Brightness</translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation>Battery Status</translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation>Workspace</translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation>charging</translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 of %2</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation>Launch Audio Mixer</translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Close Window</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Desktop Settings</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Screensaver</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Desktop</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation>Window Theme</translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>System Options</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Restart</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Shutdown</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation>Remove Shortcut</translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation>Create Shortcut</translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Favorites</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Favorite Applications</translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation>Favorite Directories</translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation>Favorite FIles</translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation>System Applications</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation>Desktop Preferences</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation>Desktop Appearance/Plugins</translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation>Application Appearance</translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation>Screensaver Settings</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utility</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_en_ZA.ts b/lumina-desktop/i18n/lumina-desktop_en_ZA.ts
new file mode 100644
index 00000000..a00ef9d9
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_en_ZA.ts
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation>Click to Set</translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation>Select Application</translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation>Name:</translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utility</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation>Open Home</translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation>Install Applications</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Charging)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Remaining)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Pictures</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Other Files</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Favorite Applications</translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation>Favorite Folders</translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation>Favorite Files</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina Desktop</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Workspace %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>Browse System</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>Lock Desktop</translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>Unlock Desktop</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation>Snap Plugins to Grid</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Workspace %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation>System Volume</translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation>Screen Brightness</translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation>Battery Status</translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation>Workspace</translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation>charging</translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 of %2</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation>Launch Audio Mixer</translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Close Window</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Desktop Settings</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Screensaver</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Desktop</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation>Window Theme</translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>System Options</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Restart</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Shutdown</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Cancel</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Log Out</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation>Remove Shortcut</translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation>Create Shortcut</translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Form</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Favorites</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Favorite Applications</translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation>Favorite Directories</translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation>Favorite FIles</translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation>System Applications</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation>Desktop Preferences</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Control Panel</translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation>Desktop Appearance/Plugins</translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation>Application Appearance</translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation>Screensaver Settings</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimedia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Development</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Education</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Games</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphics</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Network</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Office</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Settings</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>System</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utility</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Unsorted</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_es.ts b/lumina-desktop/i18n/lumina-desktop_es.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_es.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_et.ts b/lumina-desktop/i18n/lumina-desktop_et.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_et.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_eu.ts b/lumina-desktop/i18n/lumina-desktop_eu.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_eu.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_fa.ts b/lumina-desktop/i18n/lumina-desktop_fa.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_fa.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_fi.ts b/lumina-desktop/i18n/lumina-desktop_fi.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_fi.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_fr.ts b/lumina-desktop/i18n/lumina-desktop_fr.ts
new file mode 100644
index 00000000..85022fb5
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_fr.ts
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation>Cliquez pour définir</translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation>Sélectionnez une application</translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation>Nom:</translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimédia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Développement</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Éducation</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Jeux</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphique</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Internet</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Bureautique</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Paramétrages</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Système</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utilitaires</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Non triés</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation>Ouvrir Accueil</translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation>Installer des applications</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Panneau Contrôle</translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Charge)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Restant)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Images</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Autres Fichiers</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Applications Favorites</translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation>Dossiers Favoris</translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation>Fichier Favoris</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Déconnexion</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina Destop</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Espace de travail %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>Parcourir système</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>Verrouillage du Bureau</translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>Déverrouillage du Bureau</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation>Aligner Greffon sur la grille</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Espace de travail %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation>Forme</translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation>Volume Système</translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation>Luminosité de l&apos;écran</translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation>État de la batterie</translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation>Espace de travail</translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation>chargement</translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 de %2</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Déconnexion</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation>Lancer Mixeur Audio</translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Fermer la Fenêtre</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Paramètres de bureau</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Économiseur d&apos;écran</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Desktop</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation>Thème Fenêtre</translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Options du système</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Redémarrage</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Éteindre</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Déconnexion</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation>Supprimer Raccourci</translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation>Créer Raccourci</translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Forme</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Favoris</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Applications Favorites</translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation>Répertoires favoris</translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation>Fichiers Favoris</translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation>Applications du système</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Accueil</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation>Préférences du Bureau</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Panneau Contrôle</translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation>Bureau Apparence/Plugins</translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation>Application Apparence</translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation>Paramètres d&apos;économiseur d&apos;écran</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimédia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Développement</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Éducation</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Jeux</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphique</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Internet</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Bureautique</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Paramétrages</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Système</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utilitaires</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Non triés</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_fr_CA.ts b/lumina-desktop/i18n/lumina-desktop_fr_CA.ts
new file mode 100644
index 00000000..638b0b05
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_fr_CA.ts
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation>Cliquez pour définir</translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation>Sélectionnez une application</translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation>Nom:</translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Applications</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimédia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Développement</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Éducation</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Jeux</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphique</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Internet</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Bureautique</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Paramétrages</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Système</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utilitaires</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Non triés</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation>Ouvrir Accueil</translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation>Installer des applications</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Panneau Contrôle</translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (Charge)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Restant)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Audio</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Images</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Autres Fichiers</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Documents</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Applications Favorites</translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation>Dossiers Favoris</translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation>Fichier Favoris</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Déconnexion</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina Destop</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Espace de travail %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>Parcourir système</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>Verrouillage du bureau </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>Déverrouiller le bureau</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation>Aligner Greffon sur la grille</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Espace de travail %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation>Forme</translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation>Volume Système</translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation>Luminosité de l&apos;écran</translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation>État de la batterie</translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation>Espace de travail</translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation>chargement</translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 de %2</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Déconnexion</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation>Lancer Mixeur Audio</translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Fermer la Fenêtre</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Paramètres de bureau</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Économiseur d&apos;écran</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Desktop</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation>Thème Fenêtre </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Options du système</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Redémarrage</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Éteindre</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Annuler</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Déconnexion</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation>Supprimer Raccourci</translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation>Créer Raccourci</translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>Forme</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>Favoris</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>Applications Favorites</translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation>Répertoires favoris</translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation>Fichiers Favoris</translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation>Applications du système</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Home</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation>Préférences du Bureau</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>Panneau Contrôle</translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation>Bureau Apparence/Plugins</translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation>Application Apparence</translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation>Paramètres d&apos;économiseur d&apos;écran</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimédia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Développement</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Éducation</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Jeux</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Graphique</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Internet</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Bureautique</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Science</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Paramétrages</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Système</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Utilitaires</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Non triés</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_gl.ts b/lumina-desktop/i18n/lumina-desktop_gl.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_gl.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_he.ts b/lumina-desktop/i18n/lumina-desktop_he.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_he.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_hi.ts b/lumina-desktop/i18n/lumina-desktop_hi.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_hi.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_hr.ts b/lumina-desktop/i18n/lumina-desktop_hr.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_hr.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_hu.ts b/lumina-desktop/i18n/lumina-desktop_hu.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_hu.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_id.ts b/lumina-desktop/i18n/lumina-desktop_id.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_id.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_is.ts b/lumina-desktop/i18n/lumina-desktop_is.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_is.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_it.ts b/lumina-desktop/i18n/lumina-desktop_it.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_it.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ja.ts b/lumina-desktop/i18n/lumina-desktop_ja.ts
new file mode 100644
index 00000000..36387363
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ja.ts
@@ -0,0 +1,372 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation>クリックしてセットする</translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation>アプリケーションを選択する</translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation>名前:</translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>アプリケーション</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>マルチメディア</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>開発</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>教育</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>ゲーム</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>グラフィック</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>ネットワーク</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>オフィス</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>科学</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>設定</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>システム</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>ユーティリティ</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>未分類</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation>ホームディレクトリーを開く</translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation>アプリケーションをインストールする</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>コントロールパネル</translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>%1 % (充電しています)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (残り %2)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>オーディオ</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>ビデオ</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>写真</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>その他のファイル</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>文書</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>お気に入りのアプリケーション</translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation>お気に入りのフォルダー</translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation>お気に入りのファイル</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>端末</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>ログアウト</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina デスクトップ</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>ワークスペース %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>システムを閲覧する</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>デスクトップをロックする</translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>デスクトップのロックを解除する</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation>プラグインをグリッドに合わせる</translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>ワークスペース %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation>フォーム</translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation>システムの音量</translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation>画面の明るさ</translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation>バッテリーの状態</translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation>ワークスペース</translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation>充電中</translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation>%1 / %2</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>ログアウト</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation>オーディオミキサーを起動する</translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>ウィンドウを閉じる</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>デスクトップの設定</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>スクリーンセーバー</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>デスクトップ</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation>ウィンドウのテーマ</translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>システムオプション</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>再起動</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>シャットダウン</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>キャンセル</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>ログアウト</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation>ショートカットを削除する</translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation>ショートカットを作成する</translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation>フォーム</translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation>お気に入り</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation>お気に入りのアプリケーション</translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation>お気に入りのディレクトリー</translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation>お気に入りのファイル</translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation>システムのアプリケーション</translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>ホーム</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation>デスクトップの設定</translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation>コントロールパネル</translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation>デスクトップの外観/プラグイン</translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation>アプリケーションの外観</translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation>スクリーンセーバーの設定</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>マルチメディア</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>開発</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>教育</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>ゲーム</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>グラフィックス</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>ネットワーク</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>オフィス</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>科学</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>設定</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>システム</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>ユーティリティ</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>未分類</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ka.ts b/lumina-desktop/i18n/lumina-desktop_ka.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ka.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ko.ts b/lumina-desktop/i18n/lumina-desktop_ko.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ko.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_lt.ts b/lumina-desktop/i18n/lumina-desktop_lt.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_lt.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_lv.ts b/lumina-desktop/i18n/lumina-desktop_lv.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_lv.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_mk.ts b/lumina-desktop/i18n/lumina-desktop_mk.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_mk.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_mn.ts b/lumina-desktop/i18n/lumina-desktop_mn.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_mn.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ms.ts b/lumina-desktop/i18n/lumina-desktop_ms.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ms.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_mt.ts b/lumina-desktop/i18n/lumina-desktop_mt.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_mt.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_nb.ts b/lumina-desktop/i18n/lumina-desktop_nb.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_nb.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_nl.ts b/lumina-desktop/i18n/lumina-desktop_nl.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_nl.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_pa.ts b/lumina-desktop/i18n/lumina-desktop_pa.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_pa.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_pl.ts b/lumina-desktop/i18n/lumina-desktop_pl.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_pl.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_pt.ts b/lumina-desktop/i18n/lumina-desktop_pt.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_pt.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_pt_BR.ts b/lumina-desktop/i18n/lumina-desktop_pt_BR.ts
new file mode 100644
index 00000000..7e1e2b2b
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_pt_BR.ts
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Aplicativos</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Multimídia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Desenvolvimento</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Educação</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Jogos</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Gráficos</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Rede</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Escritório</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Ciência</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">Configurações</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Sistema</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">Utilitários</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">Sem classificação</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">%1 % (Carregando)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 Restantes)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Áudio</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Vídeo</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">Fotos</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Outros arquivos</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Encerrar</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">Lumina Desktop</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Espaço de trabalho %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Espaço de trabalho %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Encerrar</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Fechar janela</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Configurações da área de trabalho</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Protetor de tela</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Área de trabalho</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Opções do sistema</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Reiniciar</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">Desligar</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Cancelar</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Encerrar</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">Início</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">Multimídia</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">Desenvolvimento</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">Educação</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">Jogos</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">Gráficos</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">Rede</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">Escritório</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">Ciência</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">Configurações</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">Sistema</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">Utilitários</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">Sem classificação</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ro.ts b/lumina-desktop/i18n/lumina-desktop_ro.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ro.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ru.ts b/lumina-desktop/i18n/lumina-desktop_ru.ts
new file mode 100644
index 00000000..cfcbc18f
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ru.ts
@@ -0,0 +1,405 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>Приложения</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>Мультимедиа</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Разработка</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Образование</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Игры</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>Графика</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Сети</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Офис</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Наука</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Параметры</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Система</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Инструменты</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Не классифицированные </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">%1 % (Заряжается)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">%1 % (Осталось %2 )</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>Звук</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Видео</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Изображения</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Прочие файлы</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation>Документы</translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Терминал</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Завершить сеанс</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">Рабочий стол Lumina</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">Рабочая область %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation>Обзор системы</translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation>Заблокировать рабочий стол</translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation>Разблокировать рабочий стол</translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">Рабочий стол %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Завершить сеанс</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Закрыть окно</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Настройки рабочего стола</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Заставка экрана</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Рабочий стол</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Параметры системы</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Перезагрузить…</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Выключить…</translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Отмена</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Завершить сеанс</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">Мультимедиа</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">Разработка</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">Образование</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">Игры</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">Графика</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">Сети</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">Офис</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">Наука</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">Параметры</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">Система</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">Инструменты</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">Не классифицированные </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_sk.ts b/lumina-desktop/i18n/lumina-desktop_sk.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_sk.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_sl.ts b/lumina-desktop/i18n/lumina-desktop_sl.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_sl.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_sr.ts b/lumina-desktop/i18n/lumina-desktop_sr.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_sr.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_sv.ts b/lumina-desktop/i18n/lumina-desktop_sv.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_sv.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_sw.ts b/lumina-desktop/i18n/lumina-desktop_sw.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_sw.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_ta.ts b/lumina-desktop/i18n/lumina-desktop_ta.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_ta.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_tg.ts b/lumina-desktop/i18n/lumina-desktop_tg.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_tg.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_th.ts b/lumina-desktop/i18n/lumina-desktop_th.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_th.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_tr.ts b/lumina-desktop/i18n/lumina-desktop_tr.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_tr.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_uk.ts b/lumina-desktop/i18n/lumina-desktop_uk.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_uk.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_uz.ts b/lumina-desktop/i18n/lumina-desktop_uz.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_uz.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_vi.ts b/lumina-desktop/i18n/lumina-desktop_vi.ts
new file mode 100644
index 00000000..4e2e8773
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_vi.ts
@@ -0,0 +1,408 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation>ứng dụng</translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation>đa phương</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation>Phát triển</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation>Giáo dục</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation>Trò chơi</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation>đồ họa</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation>Mạng</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation>Văn phòng</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation>Khoa học</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation>Các thiết lập</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation>Hệ thống</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation>Tiện ích</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation>Phân loại</translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation>% 1% (Sạc)</translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation>%1 % (%2 còn lại)</translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation>âm thanh</translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation>Video</translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation>Hình ảnh</translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation>Tập tin khác</translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation>Terminal</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation>Nhập Thoát</translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation>Lumina để bàn</translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Không gian làm việc %1</translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation>Không gian làm việc %1</translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Nhập Thoát</translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation>Đóng cửa sổ</translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation>Các thiết lập để bàn</translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation>Bảo vệ màn hình</translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation>Dể bàn</translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation>Tùy chọn hệ thống</translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation>Khởi động lại</translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation>Tắt máy </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation>Bỏ tem</translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">Nhập Thoát</translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation>Nhà</translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">đa phương</translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">Phát triển</translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">Giáo dục</translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">Trò chơi</translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">đồ họa</translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">Mạng</translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">Văn phòng</translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">Khoa học</translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">Các thiết lập</translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">Hệ thống</translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">Tiện ích</translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">Phân loại</translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_zh_CN.ts b/lumina-desktop/i18n/lumina-desktop_zh_CN.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_zh_CN.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_zh_HK.ts b/lumina-desktop/i18n/lumina-desktop_zh_HK.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_zh_HK.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_zh_TW.ts b/lumina-desktop/i18n/lumina-desktop_zh_TW.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_zh_TW.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/i18n/lumina-desktop_zu.ts b/lumina-desktop/i18n/lumina-desktop_zu.ts
new file mode 100644
index 00000000..2a73bbc0
--- /dev/null
+++ b/lumina-desktop/i18n/lumina-desktop_zu.ts
@@ -0,0 +1,455 @@
+<?xml version="1.0" encoding="utf-8"?>
+<!DOCTYPE TS>
+<TS version="2.0">
+<context>
+ <name>AppLauncherPlugin</name>
+ <message>
+ <source>Click to Set</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Select Application</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Name:</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>AppMenu</name>
+ <message>
+ <source>Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Open Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Install Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LBattery</name>
+ <message>
+ <source>%1 % (Charging)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 % (%2 Remaining)</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDeskBarPlugin</name>
+ <message>
+ <source>Audio</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Video</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Pictures</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Other Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Documents</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Folders</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Files</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktop</name>
+ <message>
+ <source>Terminal</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lumina Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Browse System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Lock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unlock Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Snap Plugins to Grid</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LDesktopSwitcher</name>
+ <message>
+ <source>Workspace %1</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LSysMenuQuick</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Volume</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screen Brightness</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Battery Status</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Workspace</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>charging</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>%1 of %2</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Launch Audio Mixer</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>LTaskButton</name>
+ <message>
+ <source>Close Window</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SettingsMenu</name>
+ <message>
+ <source>Desktop Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Window Theme</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>SystemWindow</name>
+ <message>
+ <source>System Options</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Restart</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Shutdown</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Cancel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Log Out</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserItemWidget</name>
+ <message>
+ <source>Remove Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Create Shortcut</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+<context>
+ <name>UserWidget</name>
+ <message>
+ <source>Form</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorites</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite Directories</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Favorite FIles</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System Applications</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Home</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Preferences</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Control Panel</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Desktop Appearance/Plugins</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Application Appearance</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Screensaver Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Multimedia</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Development</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Education</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Games</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Graphics</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Network</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Office</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Science</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Settings</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>System</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Utility</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+ <message>
+ <source>Unsorted</source>
+ <translation type="unfinished">
+ </translation>
+ </message>
+</context>
+</TS>
diff --git a/lumina-desktop/images/desktop-background.jpg b/lumina-desktop/images/desktop-background.jpg
new file mode 100644
index 00000000..976e2417
--- /dev/null
+++ b/lumina-desktop/images/desktop-background.jpg
Binary files differ
diff --git a/lumina-desktop/images/sample-colorschemes.ui b/lumina-desktop/images/sample-colorschemes.ui
new file mode 100644
index 00000000..bc9d9972
--- /dev/null
+++ b/lumina-desktop/images/sample-colorschemes.ui
@@ -0,0 +1,117 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>Form</class>
+ <widget class="QWidget" name="Form">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>400</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <widget class="QLabel" name="label">
+ <property name="geometry">
+ <rect>
+ <x>250</x>
+ <y>50</y>
+ <width>111</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel{ background-color: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(241, 233, 156, 240), stop:0.505682 rgba(255, 243, 127, 180), stop:1 rgba(221, 246, 255, 55)); border: 1px solid grey; border-radius: 5px;}</string>
+ </property>
+ <property name="text">
+ <string>Active</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_2">
+ <property name="geometry">
+ <rect>
+ <x>250</x>
+ <y>90</y>
+ <width>111</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel{background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 255, 255, 240), stop:0.505682 rgba(240, 240, 240, 180), stop:1 rgba(210, 210, 210, 55)); border: 1px solid grey; border-radius: 5px;}</string>
+ </property>
+ <property name="text">
+ <string>Visible</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_3">
+ <property name="geometry">
+ <rect>
+ <x>250</x>
+ <y>130</y>
+ <width>111</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(215, 215, 215, 210), stop:0.505682 rgba(184, 185, 186, 150), stop:1 rgba(221, 246, 255, 55)); border: 1px solid grey; border-radius: 5px;}</string>
+ </property>
+ <property name="text">
+ <string>Invisible</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_4">
+ <property name="geometry">
+ <rect>
+ <x>250</x>
+ <y>170</y>
+ <width>111</width>
+ <height>31</height>
+ </rect>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(252, 187, 127, 210), stop:0.505682 rgba(255, 222, 197, 150), stop:1 rgba(221, 246, 255, 55)); border: 1px solid grey; border-radius: 5px; }
+
+</string>
+ </property>
+ <property name="text">
+ <string>Notification</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_5">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>50</y>
+ <width>221</width>
+ <height>51</height>
+ </rect>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel{ background: qlineargradient(spread:pad, x1:0.291182, y1:0, x2:0.693, y2:1, stop:0 rgb(255, 253, 250), stop:1 rgb(230, 230, 230));}</string>
+ </property>
+ <property name="text">
+ <string>Taskbar</string>
+ </property>
+ </widget>
+ <widget class="QLabel" name="label_6">
+ <property name="geometry">
+ <rect>
+ <x>10</x>
+ <y>220</y>
+ <width>381</width>
+ <height>41</height>
+ </rect>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QLabel{ background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(178, 45, 39, 255), stop:0.471591 rgba(221, 173, 68, 255), stop:0.528409 rgba(215, 202, 124, 255), stop:1 rgba(189, 17, 17, 255)); border-radius: 5px; border: 1px solid rgb(233, 218, 5);}</string>
+ </property>
+ <property name="text">
+ <string>TextLabel</string>
+ </property>
+ </widget>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/lumina-desktop/lumina-desktop.pro b/lumina-desktop/lumina-desktop.pro
new file mode 100644
index 00000000..fcec79f8
--- /dev/null
+++ b/lumina-desktop/lumina-desktop.pro
@@ -0,0 +1,173 @@
+
+QT += core gui network phonon
+
+TARGET = Lumina-DE
+target.path = /usr/local/bin
+
+TEMPLATE = app
+
+
+SOURCES += main.cpp \
+ WMProcess.cpp \
+ LSession.cpp \
+ LDesktop.cpp \
+ LPanel.cpp \
+ AppMenu.cpp \
+ SettingsMenu.cpp \
+ SystemWindow.cpp \
+ panel-plugins/userbutton/LUserButton.cpp \
+ panel-plugins/userbutton/UserWidget.cpp \
+ panel-plugins/userbutton/UserItemWidget.cpp \
+ panel-plugins/desktopbar/LDeskBar.cpp \
+ panel-plugins/taskmanager/LTaskManagerPlugin.cpp \
+ panel-plugins/taskmanager/LTaskButton.cpp \
+ panel-plugins/systemtray/LSysTray.cpp \
+ panel-plugins/systemtray/TrayIcon.cpp \
+ panel-plugins/clock/LClock.cpp \
+ panel-plugins/battery/LBattery.cpp \
+ panel-plugins/desktopswitcher/LDesktopSwitcher.cpp \
+ panel-plugins/systemdashboard/LSysDashboard.cpp \
+ panel-plugins/systemdashboard/SysMenuQuick.cpp
+# desktop-plugins/desktopview/DesktopViewPlugin.cpp \
+# desktop-plugins/desktopview/DeskItem.cpp
+
+
+
+HEADERS += Globals.h \
+ WMProcess.h \
+ LSession.h \
+ LDesktop.h \
+ LPanel.h \
+ AppMenu.h \
+ SettingsMenu.h \
+ SystemWindow.h \
+ panel-plugins/LPPlugin.h \
+ panel-plugins/NewPP.h \
+ panel-plugins/LTBWidget.h \
+ desktop-plugins/LDPlugin.h \
+ desktop-plugins/LDPluginContainer.h \
+ desktop-plugins/NewDP.h \
+ panel-plugins/userbutton/LUserButton.h \
+ panel-plugins/userbutton/UserWidget.h \
+ panel-plugins/userbutton/UserItemWidget.h \
+ panel-plugins/desktopbar/LDeskBar.h \
+ panel-plugins/systemtray/LSysTray.h \
+ panel-plugins/systemtray/TrayIcon.h \
+ panel-plugins/spacer/LSpacer.h \
+ panel-plugins/clock/LClock.h \
+ panel-plugins/battery/LBattery.h \
+ panel-plugins/desktopswitcher/LDesktopSwitcher.h \
+ panel-plugins/taskmanager/LWinInfo.h \
+ panel-plugins/taskmanager/LTaskManagerPlugin.h \
+ panel-plugins/taskmanager/LTaskButton.h \
+ panel-plugins/systemdashboard/LSysDashboard.h \
+ panel-plugins/systemdashboard/SysMenuQuick.h \
+ desktop-plugins/SamplePlugin.h \
+ desktop-plugins/calendar/CalendarPlugin.h \
+ desktop-plugins/applauncher/AppLauncherPlugin.h
+# desktop-plugins/desktopview/DesktopViewPlugin.h \
+# desktop-plugins/desktopview/DeskItem.h
+
+FORMS += SystemWindow.ui \
+ panel-plugins/userbutton/UserWidget.ui \
+ panel-plugins/systemdashboard/SysMenuQuick.ui
+
+RESOURCES+= Lumina-DE.qrc
+
+INCLUDEPATH += ../libLumina /usr/local/include
+
+desktop.files = Lumina-DE.desktop
+linux-g++-64 {
+desktop.path = /usr/share/xsessions
+} else {
+desktop.path = /usr/local/share/xsessions
+}
+
+icons.files = Lumina-DE.png \
+ Insight-FileManager.png
+
+icons.path = /usr/local/share/pixmaps
+
+wallpapers.files = wallpapers/Lumina_Wispy_gold_1920x1080.jpg \
+ wallpapers/Lumina_Wispy_green_1920x1080.jpg \
+ wallpapers/Lumina_Wispy_purple_1920x1080.jpg \
+ wallpapers/Lumina_Wispy_red_1920x1080.jpg
+wallpapers.path = /usr/local/share/wallpapers/Lumina-DE
+
+defaults.files = defaults/desktop-background.jpg \
+ defaults/defaultapps.conf \
+ defaults/desktopsettings.conf \
+ defaults/stylesheet.qss \
+ audiofiles/Logout.ogg \
+ audiofiles/Login.ogg
+defaults.path = /usr/local/share/Lumina-DE/
+
+LIBS = -L../libLumina -L/usr/local/lib -L/usr/lib -lLuminaUtils -lXdamage -lX11
+
+TRANSLATIONS = i18n/lumina-desktop_af.ts \
+ i18n/lumina-desktop_ar.ts \
+ i18n/lumina-desktop_az.ts \
+ i18n/lumina-desktop_bg.ts \
+ i18n/lumina-desktop_bn.ts \
+ i18n/lumina-desktop_bs.ts \
+ i18n/lumina-desktop_ca.ts \
+ i18n/lumina-desktop_cs.ts \
+ i18n/lumina-desktop_cy.ts \
+ i18n/lumina-desktop_da.ts \
+ i18n/lumina-desktop_de.ts \
+ i18n/lumina-desktop_el.ts \
+ i18n/lumina-desktop_en_GB.ts \
+ i18n/lumina-desktop_en_ZA.ts \
+ i18n/lumina-desktop_es.ts \
+ i18n/lumina-desktop_et.ts \
+ i18n/lumina-desktop_eu.ts \
+ i18n/lumina-desktop_fa.ts \
+ i18n/lumina-desktop_fi.ts \
+ i18n/lumina-desktop_fr.ts \
+ i18n/lumina-desktop_fr_CA.ts \
+ i18n/lumina-desktop_gl.ts \
+ i18n/lumina-desktop_he.ts \
+ i18n/lumina-desktop_hi.ts \
+ i18n/lumina-desktop_hr.ts \
+ i18n/lumina-desktop_hu.ts \
+ i18n/lumina-desktop_id.ts \
+ i18n/lumina-desktop_is.ts \
+ i18n/lumina-desktop_it.ts \
+ i18n/lumina-desktop_ja.ts \
+ i18n/lumina-desktop_ka.ts \
+ i18n/lumina-desktop_ko.ts \
+ i18n/lumina-desktop_lt.ts \
+ i18n/lumina-desktop_lv.ts \
+ i18n/lumina-desktop_mk.ts \
+ i18n/lumina-desktop_mn.ts \
+ i18n/lumina-desktop_ms.ts \
+ i18n/lumina-desktop_mt.ts \
+ i18n/lumina-desktop_nb.ts \
+ i18n/lumina-desktop_nl.ts \
+ i18n/lumina-desktop_pa.ts \
+ i18n/lumina-desktop_pl.ts \
+ i18n/lumina-desktop_pt.ts \
+ i18n/lumina-desktop_pt_BR.ts \
+ i18n/lumina-desktop_ro.ts \
+ i18n/lumina-desktop_ru.ts \
+ i18n/lumina-desktop_sk.ts \
+ i18n/lumina-desktop_sl.ts \
+ i18n/lumina-desktop_sr.ts \
+ i18n/lumina-desktop_sv.ts \
+ i18n/lumina-desktop_sw.ts \
+ i18n/lumina-desktop_ta.ts \
+ i18n/lumina-desktop_tg.ts \
+ i18n/lumina-desktop_th.ts \
+ i18n/lumina-desktop_tr.ts \
+ i18n/lumina-desktop_uk.ts \
+ i18n/lumina-desktop_uz.ts \
+ i18n/lumina-desktop_vi.ts \
+ i18n/lumina-desktop_zh_CN.ts \
+ i18n/lumina-desktop_zh_HK.ts \
+ i18n/lumina-desktop_zh_TW.ts \
+ i18n/lumina-desktop_zu.ts
+
+dotrans.path=/usr/local/share/Lumina-DE/i18n/
+dotrans.extra=cd i18n && lrelease-qt4 -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/Lumina-DE/i18n/
+
+INSTALLS += target desktop icons wallpapers defaults dotrans
diff --git a/lumina-desktop/main.cpp b/lumina-desktop/main.cpp
new file mode 100644
index 00000000..1ae8cb51
--- /dev/null
+++ b/lumina-desktop/main.cpp
@@ -0,0 +1,100 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include <QDebug>
+//#include <QApplication>
+#include <QFile>
+#include <QDir>
+#include <QString>
+#include <QTextStream>
+//#include <QDesktopWidget>
+//#include <QList>
+//#include <QDebug>
+#include <QUrl>
+
+
+//#include "WMProcess.h"
+//#include "LDesktop.h"
+#include "LSession.h"
+#include "Globals.h"
+
+#include <LuminaXDG.h> //from libLuminaUtils
+
+#ifndef PREFIX
+#define PREFIX QString("/usr/local")
+#endif
+
+QFile logfile(QDir::homePath()+"/.lumina/logs/runtime.log");
+void MessageOutput(QtMsgType type, const char *msg){
+ QString txt;
+ switch(type){
+ case QtDebugMsg:
+ txt = QString("Debug: %1").arg(msg);
+ break;
+ case QtWarningMsg:
+ txt = QString("Warning: %1").arg(msg);
+ break;
+ case QtCriticalMsg:
+ txt = QString("CRITICAL: %1").arg(msg);
+ break;
+ case QtFatalMsg:
+ txt = QString("FATAL: %1").arg(msg);
+ break;
+ }
+
+ QTextStream out(&logfile);
+ out << txt;
+ if(!txt.endsWith("\n")){ out << "\n"; }
+}
+
+int main(int argc, char ** argv)
+{
+ //Setup any pre-QApplication initialization values
+ LXDG::setEnvironmentVars();
+ setenv("DESKTOP_SESSION","LUMINA",1);
+ setenv("XDG_CURRENT_DESKTOP","LUMINA",1);
+ LSession::setGraphicsSystem("native"); //make sure to use X11 graphics system
+ //Setup the log file
+ qDebug() << "Lumina Log File:" << logfile.fileName();
+ if(logfile.exists()){ logfile.remove(); } //remove any old one
+ //Make sure the parent directory exists
+ if(!QFile::exists(QDir::homePath()+"/.lumina/logs")){
+ QDir dir;
+ dir.mkpath(QDir::homePath()+"/.lumina/logs");
+ }
+ logfile.open(QIODevice::WriteOnly | QIODevice::Append);
+ //Startup the Application
+ LSession a(argc, argv);
+ //Setup Log File
+ qInstallMsgHandler(MessageOutput);
+ a.setupSession();
+ //Start up the Window Manager
+ //qDebug() << " - Start Window Manager";
+ //WMProcess WM;
+ //WM.startWM();
+ //QObject::connect(&WM, SIGNAL(WMShutdown()), &a, SLOT(exit()) );
+ //Load the initial translations
+ //QTranslator translator;
+ a.LoadLocale(QLocale().name());
+ //Now start the desktop
+ /*QDesktopWidget DW;
+ QList<LDesktop*> screens;
+ for(int i=0; i<DW.screenCount(); i++){
+ qDebug() << " - Start Desktop " << i;
+ screens << new LDesktop(i);
+ a.processEvents();
+ }*/
+ //Start launching external applications
+ QTimer::singleShot(1000, &a, SLOT(launchStartupApps()) ); //wait a second first
+ //QTimer::singleShot(1000, &a, SLOT(playStartupAudio()) );
+ int retCode = a.exec();
+ //a.playLogoutAudio();
+ //qDebug() << "Stopping the window manager";
+ //WM.stopWM();
+ qDebug() << "Finished Closing Down Lumina";
+ logfile.close();
+ return retCode;
+}
diff --git a/lumina-desktop/panel-plugins/LPPlugin.h b/lumina-desktop/panel-plugins/LPPlugin.h
new file mode 100644
index 00000000..ae4e7fbc
--- /dev/null
+++ b/lumina-desktop/panel-plugins/LPPlugin.h
@@ -0,0 +1,65 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is the generic container layout for all panel plugins
+// Simply subclass this when creating a new plugin to enable correct
+// visibility and usage within a panel
+//===========================================
+#ifndef _LUMINA_DESKTOP_PANEL_PLUGIN_H
+#define _LUMINA_DESKTOP_PANEL_PLUGIN_H
+
+#include <QObject>
+#include <QWidget>
+#include <QString>
+#include <QBoxLayout>
+
+class LPPlugin : public QWidget{
+ Q_OBJECT
+
+private:
+ QBoxLayout *LY;
+ QString plugintype;
+
+public:
+ LPPlugin(QWidget *parent = 0, QString ptype="unknown", bool horizontal = true) : QWidget(parent){
+ plugintype=ptype;
+ this->setContentsMargins(0,0,0,0);
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ if(horizontal){LY = new QBoxLayout(QBoxLayout::LeftToRight, this); }
+ else{ LY = new QBoxLayout(QBoxLayout::TopToBottom, this); }
+ LY->setContentsMargins(0,0,0,0);
+ LY->setSpacing(1);
+ this->setLayout(LY);
+ }
+
+ ~LPPlugin(){
+ }
+
+ QBoxLayout* layout(){
+ return LY;
+ }
+
+ QString type(){
+ return plugintype;
+ }
+
+public slots:
+ virtual void LocaleChange(){
+ //This needs to be re-implemented in the subclassed plugin
+ //This is where all text is set/translated
+ }
+ virtual void ThemeChange(){
+ //This needs to be re-implemented in the subclasses plugin
+ //This is where all the visuals are set if using Theme-dependant icons.
+ }
+ virtual void OrientationChange(){
+ //This needs to be re-implemented in the subclasses plugin
+ //This is where any horizontal/vertical orientations can be changed appropriately
+ }
+
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/LTBWidget.h b/lumina-desktop/panel-plugins/LTBWidget.h
new file mode 100644
index 00000000..02097039
--- /dev/null
+++ b/lumina-desktop/panel-plugins/LTBWidget.h
@@ -0,0 +1,67 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2013, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_TOOLBAR_WIDGET_H
+#define _LUMINA_TOOLBAR_WIDGET_H
+
+#include <QToolButton>
+#include <QEvent>
+#include <QWheelEvent>
+
+#include "Globals.h"
+
+class LTBWidget : public QToolButton{
+ Q_OBJECT
+private:
+ Lumina::STATES cstate;
+ QString rawstyle;
+ void updateBackground(){
+ QString background = "background: transparent; "; //default value
+ QString border = "border: 1px solid transparent;";
+ if(cstate == Lumina::NONE){ } //just use the defaults
+ else if(cstate == Lumina::VISIBLE){ background = "background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(255, 255, 255, 240), stop:0.505682 rgba(240, 240, 240, 150), stop:1 rgba(210, 210, 210, 55));"; border="border: 1px solid transparent;"; }
+ else if(cstate == Lumina::INVISIBLE){background = "background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(215, 215, 215, 240), stop:0.505682 rgba(184, 185, 186, 150), stop:1 rgba(221, 246, 255, 55));"; border="border: 1px solid transparent;"; }
+ else if(cstate == Lumina::ACTIVE){ background= "background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(241, 233, 156, 240), stop:0.355682 rgba(255, 243, 127, 150), stop:1 rgba(221, 246, 255, 55));"; border ="border: 1px solid transparent;"; }
+ else if(cstate == Lumina::NOTIFICATION){ background= "background: qlineargradient(spread:pad, x1:0, y1:0, x2:1, y2:1, stop:0 rgba(252, 187, 127, 240), stop:0.505682 rgba(255, 222, 197, 150), stop:1 rgba(221, 246, 255, 55));"; border="border: 1px solid transparent"; }
+ QString raw = rawstyle;
+ this->setStyleSheet( raw.replace("%1",background).replace("%2", border) );
+ }
+
+signals:
+
+ void wheelScroll(int change);
+
+public:
+ LTBWidget(QWidget* parent) : QToolButton(parent){
+ //this->setStyleSheet( this->styleSheet()+" LTBWidget::menu-indicator{image: none;}");
+ cstate = Lumina::NONE;
+
+ this->setPopupMode(QToolButton::InstantPopup);
+ this->setAutoRaise(true);
+ rawstyle = "LTBWidget{ %1 %2 border-radius: 5px;} LTBWidget::menu-indicator{image: none;} LTBWidget::hover{ %1 border: 1px solid black; border-radius: 5px; } LTBWidget::menu-button{ background: transparent; width: 15px; } LTBWidget[popupMode=\"1\"]{%1 %2 border-radius: 5px; padding-right: 15px;} LTBWidget[popupMode=\"1\"]::hover{%1 border: 1px solid black; border-radius: 5px; padding-right: 15px}";
+ updateBackground();
+ }
+
+ ~LTBWidget(){
+ }
+
+ void setState(Lumina::STATES newstate){
+ cstate = newstate;
+ updateBackground();
+ }
+
+public slots:
+
+
+protected:
+ void wheelEvent(QWheelEvent *event){
+ int change = event->delta()/120; // 1/15th of a rotation (delta/120) is usually one "click" of the wheel
+ emit wheelScroll(change);
+ }
+
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/NewPP.h b/lumina-desktop/panel-plugins/NewPP.h
new file mode 100644
index 00000000..c378f07e
--- /dev/null
+++ b/lumina-desktop/panel-plugins/NewPP.h
@@ -0,0 +1,56 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is the interface to load all the different panel plugins
+//===========================================
+#ifndef _LUMINA_DESKTOP_NEW_PANEL_PLUGIN_H
+#define _LUMINA_DESKTOP_NEW_PANEL_PLUGIN_H
+
+#include <QDebug>
+
+//List all the individual plugin includes here
+#include "LPPlugin.h"
+#include "userbutton/LUserButton.h"
+#include "desktopbar/LDeskBar.h"
+#include "spacer/LSpacer.h"
+#include "clock/LClock.h"
+#include "battery/LBattery.h"
+#include "desktopswitcher/LDesktopSwitcher.h"
+#include "taskmanager/LTaskManagerPlugin.h"
+#include "systemdashboard/LSysDashboard.h"
+#include "systemtray/LSysTray.h" //must be last due to X11 compile issues
+
+class NewPP{
+public:
+ static LPPlugin* createPlugin(QString plugin, QWidget* parent = 0, bool horizontal = true){
+ LPPlugin *plug = 0;
+ if(plugin.startsWith("userbutton---")){
+ plug = new LUserButtonPlugin(parent, plugin, horizontal);
+ }else if(plugin.startsWith("desktopbar---")){
+ plug = new LDeskBarPlugin(parent, plugin, horizontal);
+ }else if(plugin.startsWith("spacer---")){
+ plug = new LSpacerPlugin(parent, plugin, horizontal);
+ }else if(plugin.startsWith("taskmanager---")){
+ plug = new LTaskManagerPlugin(parent, plugin, horizontal);
+ }else if(plugin.startsWith("systemtray---")){
+ plug = new LSysTray(parent, plugin, horizontal);
+ }else if(plugin.startsWith("desktopswitcher---")){
+ plug = new LDesktopSwitcher(parent, plugin, horizontal);
+ }else if(plugin.startsWith("battery---")){
+ plug = new LBattery(parent, plugin, horizontal);
+ }else if(plugin.startsWith("clock---")){
+ plug = new LClock(parent, plugin, horizontal);
+ }else if(plugin.startsWith("systemdashboard---")){
+ plug = new LSysDashboard(parent, plugin, horizontal);
+ }else{
+ qWarning() << "Invalid Panel Plugin:"<<plugin << " -- Ignored";
+ }
+ return plug;
+ }
+
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/battery/LBattery.cpp b/lumina-desktop/panel-plugins/battery/LBattery.cpp
new file mode 100644
index 00000000..b80a4d05
--- /dev/null
+++ b/lumina-desktop/panel-plugins/battery/LBattery.cpp
@@ -0,0 +1,106 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Susanne Jaeckel
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LBattery.h"
+
+LBattery::LBattery(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ iconOld = -1;
+ //Setup the widget
+ label = new QLabel(this);
+ label->setScaledContents(true);
+ //label->setAlignment(Qt::AlignCenter);
+ this->layout()->addWidget(label);
+ //Setup the timer
+ timer = new QTimer();
+ timer->setInterval(5000); //update every 5 seconds
+ connect(timer,SIGNAL(timeout()), this, SLOT(updateBattery()) );
+ timer->start();
+ QTimer::singleShot(0,this,SLOT(OrientationChange()) ); //update the sizing/icon
+}
+
+LBattery::~LBattery(){
+ timer->stop();
+ delete timer;
+}
+
+void LBattery::updateBattery(bool force){
+ // Get current state of charge
+ //QStringList result = LUtils::getCmdOutput("/usr/sbin/apm", QStringList() << "-al");
+ int charge = LOS::batteryCharge(); //result.at(1).toInt();
+//qDebug() << "1: " << result.at(0).toInt() << " 2: " << result.at(1).toInt();
+ int icon = -1;
+ if (charge > 90) { icon = 4; }
+ else if (charge > 70) { icon = 3; }
+ else if (charge > 50) { icon = 2; }
+ else if (charge > 30) { icon = 1; }
+ else if (charge > 0 ) { icon = 0; }
+ if(LOS::batteryIsCharging()){ icon = icon+10; }
+ //icon = icon + result.at(0).toInt() * 10;
+ if (icon != iconOld || force) {
+ switch (icon) {
+ case 0:
+ label->setPixmap( LXDG::findIcon("battery-caution", "").pixmap(label->size()) );
+ break;
+ case 1:
+ label->setPixmap( LXDG::findIcon("battery-040", "").pixmap(label->size()) );
+ break;
+ case 2:
+ label->setPixmap( LXDG::findIcon("battery-060", "").pixmap(label->size()) );
+ break;
+ case 3:
+ label->setPixmap( LXDG::findIcon("battery-080", "").pixmap(label->size()) );
+ break;
+ case 4:
+ label->setPixmap( LXDG::findIcon("battery-100", "").pixmap(label->size()) );
+ break;
+ case 10:
+ label->setPixmap( LXDG::findIcon("battery-charging-caution", "").pixmap(label->size()) );
+ break;
+ case 11:
+ label->setPixmap( LXDG::findIcon("battery-charging-040", "").pixmap(label->size()) );
+ break;
+ case 12:
+ label->setPixmap( LXDG::findIcon("battery-charging-060", "").pixmap(label->size()) );
+ break;
+ case 13:
+ label->setPixmap( LXDG::findIcon("battery-charging-080", "").pixmap(label->size()) );
+ break;
+ case 14:
+ label->setPixmap( LXDG::findIcon("battery-charging", "").pixmap(label->size()) );
+ break;
+ default:
+ label->setPixmap( LXDG::findIcon("battery-missing", "").pixmap(label->size()) );
+ break;
+ }
+ iconOld = icon;
+ }
+ //Now update the display
+ QString tt;
+ //Make sure the tooltip can be properly translated as necessary (Ken Moore 5/9/14)
+ if(icon > 9 && icon < 15){ tt = QString(tr("%1 % (Charging)")).arg(QString::number(charge)); }
+ else{ tt = QString( tr("%1 % (%2 Remaining)") ).arg(QString::number(charge), getRemainingTime() ); }
+ label->setToolTip(tt);
+}
+
+QString LBattery::getRemainingTime(){
+ int secs = LOS::batterySecondsLeft();
+ if(secs < 0){ return "??"; }
+ QString rem; //remaining
+ if(secs > 3600){
+ int hours = secs/3600;
+ rem.append( QString::number(hours)+"h ");
+ secs = secs - (hours*3600);
+ }
+ if(secs > 60){
+ int min = secs/60;
+ rem.append( QString::number(min)+"m ");
+ secs = secs - (min*60);
+ }
+ if(secs > 0){
+ rem.append(QString::number(secs)+"s");
+ }
+ return rem;
+} \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/battery/LBattery.h b/lumina-desktop/panel-plugins/battery/LBattery.h
new file mode 100644
index 00000000..a4586b37
--- /dev/null
+++ b/lumina-desktop/panel-plugins/battery/LBattery.h
@@ -0,0 +1,49 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Susanne Jaeckel
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_BATTERY_H
+#define _LUMINA_DESKTOP_BATTERY_H
+
+#include <QTimer>
+#include <QWidget>
+#include <QString>
+#include <QLabel>
+
+#include <LuminaUtils.h>
+#include <LuminaXDG.h>
+#include <LuminaOS.h>
+
+#include "../../Globals.h"
+//#include "../LTBWidget.h"
+#include "../LPPlugin.h"
+
+class LBattery : public LPPlugin{
+ Q_OBJECT
+public:
+ LBattery(QWidget *parent = 0, QString id = "battery", bool horizontal=true);
+ ~LBattery();
+
+private:
+ QTimer *timer;
+ QLabel *label;
+ int iconOld;
+
+private slots:
+ void updateBattery(bool force = false);
+ QString getRemainingTime();
+
+public slots:
+ void OrientationChange(){
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ label->setFixedSize( QSize(this->height(), this->height()) );
+ }else{
+ label->setFixedSize( QSize(this->width(), this->width()) );
+ }
+ updateBattery(true); //force icon refresh
+ }
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/battery/NOTES b/lumina-desktop/panel-plugins/battery/NOTES
new file mode 100644
index 00000000..3ea07778
--- /dev/null
+++ b/lumina-desktop/panel-plugins/battery/NOTES
@@ -0,0 +1,49 @@
+Eventuell mit einem Menü implementieren, mit Einträgen für:
+Anzeige des kompletten Status und Infos
+Herunterfahren des Systems etc.
+
+apm -a
+ Zeigt den AC line status an
+ 0 = off-line
+ 1 = on-line
+ 2 = backup-power
+
+apm -b
+ Zeigt
+ 0 = high
+ 1 = low
+ 2 = critical
+ 3 = charging
+
+apm -l
+ Zeit die prozentuale Kapazitaet
+ 255 = nicht unterstuetzt
+
+apm -t
+ Zeigt die verbleibende Zeit in Sekunden
+
+Aufruf Systemfunktionen: LuminaUtils.h
+
+mit der Methode:
+QStringList LUtils::getCmdOutput(QString cmd, QStringList args)
+
+Icons:
+/usr/local/share/icons/oxygen/22x22/status
+oder unter:
+/usr/local/share/icons/oxygen/16x16/status
+
+battery-040.png // 40 %
+battery-060.png
+battery-080.png
+battery-100.png
+
+battery-caution.png
+battery-charging.png
+battery-charging-040.png
+battery-charging-060.png
+battery-charging-080.png
+battery-charging-caution.png
+
+battery-charging-log.png
+battery-log.png
+battery-missing.png
diff --git a/lumina-desktop/panel-plugins/clock/LClock.cpp b/lumina-desktop/panel-plugins/clock/LClock.cpp
new file mode 100644
index 00000000..a61eb75d
--- /dev/null
+++ b/lumina-desktop/panel-plugins/clock/LClock.cpp
@@ -0,0 +1,35 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LClock.h"
+
+LClock::LClock(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ //Setup the widget
+ label = new QLabel(this);
+ label->setAlignment(Qt::AlignCenter);
+ this->layout()->setContentsMargins(3,0,3,0); //reserve some space on left/right
+ this->layout()->addWidget(label);
+
+ //Setup the timer
+ timer = new QTimer();
+ timer->setInterval(1000); //update once a second
+ connect(timer,SIGNAL(timeout()), this, SLOT(updateTime()) );
+ updateTime();
+ timer->start();
+}
+
+LClock::~LClock(){
+ timer->stop();
+ delete timer;
+}
+
+void LClock::updateTime(){
+ QDateTime CT = QDateTime::currentDateTime();
+ //Now update the display
+ QLocale sys = QLocale::system();
+ label->setText( "<b>"+CT.toString(sys.timeFormat(QLocale::ShortFormat))+"</b>" );
+ label->setToolTip(CT.toString(sys.dateFormat()));
+}
diff --git a/lumina-desktop/panel-plugins/clock/LClock.h b/lumina-desktop/panel-plugins/clock/LClock.h
new file mode 100644
index 00000000..d4de917c
--- /dev/null
+++ b/lumina-desktop/panel-plugins/clock/LClock.h
@@ -0,0 +1,34 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_CLOCK_H
+#define _LUMINA_DESKTOP_CLOCK_H
+
+#include <QTimer>
+#include <QDateTime>
+#include <QLabel>
+#include <QWidget>
+#include <QString>
+#include <QLocale>
+
+#include "../LPPlugin.h"
+
+class LClock : public LPPlugin{
+ Q_OBJECT
+public:
+ LClock(QWidget *parent = 0, QString id = "clock", bool horizontal=true);
+ ~LClock();
+
+private:
+ QTimer *timer;
+ QLabel *label;
+
+private slots:
+ void updateTime();
+
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp b/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp
new file mode 100644
index 00000000..c685fbc2
--- /dev/null
+++ b/lumina-desktop/panel-plugins/desktopbar/LDeskBar.cpp
@@ -0,0 +1,206 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LDeskBar.h"
+#include "../../LSession.h"
+
+LDeskBarPlugin::LDeskBarPlugin(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ this->layout()->setContentsMargins(0,0,0,0);
+ this->setStyleSheet( "QToolButton::menu-indicator{ image: none; } QToolButton{ padding: 0px; }");
+ //Find the path to the desktop folder
+ if(QFile::exists(QDir::homePath()+"/Desktop")){ desktopPath = QDir::homePath()+"/Desktop"; }
+ else if(QFile::exists(QDir::homePath()+"/desktop")){ desktopPath = QDir::homePath()+"/desktop"; }
+ else{ desktopPath=""; }
+ //Setup the filter lists for the different types of files
+ audioFilter <<"*.ogg"<<"*.mp3"<<"*.wav"<<"*.aif"<<"*.iff"<<"*.m3u"<<"*.m4a"<<"*.mid"<<"*.mpa"<<"*.ra"<<"*.wma";
+ videoFilter <<"*.3g2"<<"*.3gp"<<"*.asf"<<"*.asx"<<"*.avi"<<"*.flv"<<"*.m4v"<<"*.mov"<<"*.mp4"<<"*.mpg"<<"*.rm"<<"*.srt"<<"*.swf"<<"*.vob"<<"*.wmv";
+ pictureFilter <<"*.bmp"<<"*.dds"<<"*.gif"<<"*.jpg"<<"*.png"<<"*.psd"<<"*.thm"<<"*.tif"<<"*.tiff"<<"*.ai"<<"*.eps"<<"*.ps"<<"*.svg"<<"*.ico";
+ docsFilter << "*.txt"<<"*.rtf"<<"*.doc"<<"*.docx"<<"*.odf"<<"*.pdf";
+ //initialize the desktop bar items
+ initializeDesktop();
+ //setup the directory watcher
+ watcher = new QFileSystemWatcher(this);
+ if(!desktopPath.isEmpty()){
+ watcher->addPath(desktopPath);
+ }
+ connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(desktopChanged()) );
+ QTimer::singleShot(1,this, SLOT(desktopChanged()) ); //make sure to load it the first time
+ QTimer::singleShot(0,this, SLOT(OrientationChange()) ); //adjust sizes/layout
+}
+
+LDeskBarPlugin::~LDeskBarPlugin(){
+ if(!desktopPath.isEmpty()){
+ watcher->removePath(desktopPath);
+ disconnect(watcher);
+ }
+ delete watcher;
+
+}
+
+// =======================
+// PRIVATE FUNCTIONS
+// =======================
+void LDeskBarPlugin::initializeDesktop(){
+ //Applications on the desktop
+ appB = new QToolButton(this);
+ appB->setIcon( LXDG::findIcon("favorites", "") );
+ appB->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ appB->setToolTip(tr("Favorite Applications"));
+ appB->setAutoRaise(true);
+ appB->setPopupMode(QToolButton::InstantPopup);
+ appM = new QMenu(this);
+ appB->setMenu(appM);
+ this->layout()->addWidget(appB);
+ connect(appM,SIGNAL(triggered(QAction*)),this,SLOT(ActionTriggered(QAction*)) );
+ //Directories on the desktop
+ dirB = new QToolButton(this);
+ dirB->setIcon( LXDG::findIcon("folder", "") );
+ dirB->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ dirB->setToolTip(tr("Favorite Folders"));
+ dirB->setAutoRaise(true);
+ dirB->setPopupMode(QToolButton::InstantPopup);
+ dirM = new QMenu(this);
+ dirB->setMenu(dirM);
+ this->layout()->addWidget(dirB);
+ connect(dirM,SIGNAL(triggered(QAction*)),this,SLOT(ActionTriggered(QAction*)) );
+ //Audio Files on the desktop
+ audioM = new QMenu(tr("Audio"), this);
+ connect(audioM,SIGNAL(triggered(QAction*)),this,SLOT(ActionTriggered(QAction*)) );
+ audioM->setIcon( LXDG::findIcon("audio-x-generic","") );
+ //Video Files on the desktop
+ videoM = new QMenu(tr("Video"), this);
+ connect(videoM,SIGNAL(triggered(QAction*)),this,SLOT(ActionTriggered(QAction*)) );
+ videoM->setIcon( LXDG::findIcon("video-x-generic","") );
+ //Picture Files on the desktop
+ pictureM = new QMenu(tr("Pictures"), this);
+ connect(pictureM,SIGNAL(triggered(QAction*)),this,SLOT(ActionTriggered(QAction*)) );
+ pictureM->setIcon( LXDG::findIcon("image-x-generic","") );
+ //Other Files on the desktop
+ otherM = new QMenu(tr("Other Files"), this);
+ connect(otherM,SIGNAL(triggered(QAction*)),this,SLOT(ActionTriggered(QAction*)) );
+ otherM->setIcon( LXDG::findIcon("unknown","") );
+ docM = new QMenu(tr("Documents"), this);
+ connect(docM,SIGNAL(triggered(QAction*)), this,SLOT(ActionTriggered(QAction*)) );
+ docM->setIcon( LXDG::findIcon("x-office-document","") );
+ //All Files Button
+ fileB = new QToolButton(this);
+ fileB->setIcon( LXDG::findIcon("document-multiple", "") );
+ fileB->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ fileB->setToolTip(tr("Favorite Files") );
+ fileB->setAutoRaise(true);
+ fileB->setPopupMode(QToolButton::InstantPopup);
+ fileM = new QMenu(this);
+ fileB->setMenu(fileM);
+ this->layout()->addWidget(fileB);
+}
+
+QAction* LDeskBarPlugin::newAction(QString filepath, QString name, QString iconpath){
+ return newAction(filepath, name, QIcon(iconpath));
+}
+
+QAction* LDeskBarPlugin::newAction(QString filepath, QString name, QIcon icon){
+ QAction *act = new QAction(icon, name, this);
+ act->setWhatsThis(filepath);
+ return act;
+}
+
+void LDeskBarPlugin::updateMenu(QMenu* menu, QFileInfoList files, bool trim){
+ menu->clear();
+ //re-create the menu (since it is hidden from view)
+ for(int i=0; i<files.length(); i++){
+ qDebug() << "New Menu Item:" << files[i].fileName();
+ if(trim){ totals.removeAll(files[i]); }
+ menu->addAction( newAction( files[i].canonicalFilePath(), files[i].fileName(), "") );
+ }
+}
+
+// =======================
+// PRIVATE SLOTS
+// =======================
+void LDeskBarPlugin::ActionTriggered(QAction* act){
+ //Open up the file with the appropriate application
+ QString cmd = "lumina-open \""+act->whatsThis()+"\"";
+ qDebug() << "Open File:" << cmd;
+ LSession::LaunchApplication(cmd);
+}
+
+void LDeskBarPlugin::desktopChanged(){
+ if(!desktopPath.isEmpty()){
+ QDir dir(desktopPath);
+ totals = dir.entryInfoList( QDir::Dirs | QDir::Files | QDir::NoDotAndDotDot, QDir::Name);
+ //Update all the special menus (trimming the totals list as we go)
+ updateMenu(dirM, dir.entryInfoList( QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name) );
+ updateMenu(audioM, dir.entryInfoList( audioFilter, QDir::Files, QDir::Name) );
+ updateMenu(videoM, dir.entryInfoList( videoFilter, QDir::Files, QDir::Name) );
+ updateMenu(pictureM, dir.entryInfoList( pictureFilter, QDir::Files, QDir::Name) );
+ updateMenu(docM, dir.entryInfoList( docsFilter, QDir::Files, QDir::Name) );
+ //Now update the launchers
+ QFileInfoList exe = dir.entryInfoList( QStringList() << "*.desktop", QDir::Files, QDir::Name );
+ // - Get a complete list of apps (in alphabetical order)
+ QList<XDGDesktop> exeList;
+ for(int i=0; i<exe.length(); i++){
+ totals.removeAll(exe[i]); //Remove this item from the totals
+ bool ok = false;
+ XDGDesktop df = LXDG::loadDesktopFile(exe[i].canonicalFilePath(), ok);
+ if(ok){
+ if( LXDG::checkValidity(df) && !df.isHidden ){ exeList << df; }
+ }
+ }
+ exeList = LXDG::sortDesktopNames(exeList);
+ // - Now re-create the menu with the apps
+ appM->clear();
+ bool listApps = true; //turn this off for the moment (make dynamic later)
+ if(!listApps){
+ //go through the current items and remove them all
+ while( APPLIST.length() > 0){
+ delete this->layout()->takeAt(3); //always after the 3 main menu buttons
+ }
+ }
+ for(int i=0; i<exeList.length(); i++){
+ if(listApps){ appM->addAction( newAction(exeList[i].filePath, exeList[i].name, LXDG::findIcon(exeList[i].icon, ":/images/default-application.png")) ); }
+ else{
+ //Create a new LTBWidget for this app
+ QToolButton *it = new QToolButton(this);
+ it->setWhatsThis(exeList[i].filePath);
+ it->setToolTip(exeList[i].name);
+ it->setIcon( LXDG::findIcon(exeList[i].icon, "") );
+ it->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ it->setAutoRaise(true);
+ it->setPopupMode(QToolButton::InstantPopup);
+ if(it->icon().isNull()){ it->setIcon( LXDG::findIcon("application-x-executable","") ); }
+ connect(it, SIGNAL(triggered(QAction*)), this , SLOT(ActionTriggered(QAction*)) );
+ APPLIST << it;
+ this->layout()->addWidget(it);
+ }
+ }
+ //Now update the other menu with everything else that is left
+ updateMenu(otherM, totals, false);
+ //Now update the file menu as appropriate
+ fileM->clear();
+ if(!audioM->isEmpty()){ fileM->addMenu(audioM); }
+ if(!docM->isEmpty()){ fileM->addMenu(docM); }
+ if(!pictureM->isEmpty()){ fileM->addMenu(pictureM); }
+ if(!videoM->isEmpty()){ fileM->addMenu(videoM); }
+ if(!otherM->isEmpty()){ fileM->addMenu(otherM); }
+ //Check for a single submenu, and skip the main if need be
+ if(fileM->actions().length()==1){
+ if(!audioM->isEmpty()){ fileB->setMenu(audioM); }
+ else if(!pictureM->isEmpty()){ fileB->setMenu(pictureM); }
+ else if(!videoM->isEmpty()){ fileB->setMenu(videoM); }
+ else if(!docM->isEmpty()){ fileB->setMenu(docM); }
+ else if(!otherM->isEmpty()){ fileB->setMenu(otherM); }
+ }else{
+ fileB->setMenu(fileM);
+ }
+ }
+ //Setup the visibility of the buttons
+ appB->setVisible( !appM->isEmpty() );
+ dirB->setVisible( !dirM->isEmpty() );
+ fileB->setVisible( !fileM->isEmpty() );
+ //Clear the totals list (since no longer in use)
+ totals.clear();
+}
+
diff --git a/lumina-desktop/panel-plugins/desktopbar/LDeskBar.h b/lumina-desktop/panel-plugins/desktopbar/LDeskBar.h
new file mode 100644
index 00000000..1e42bd95
--- /dev/null
+++ b/lumina-desktop/panel-plugins/desktopbar/LDeskBar.h
@@ -0,0 +1,85 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This plugin displays the contents of the user's home directory
+// as organized within a couple buttons on the panel (apps, dirs, files)
+//===========================================
+#ifndef _LUMINA_DESKTOP_DESKBAR_H
+#define _LUMINA_DESKTOP_DESKBAR_H
+
+// Qt includes
+#include <QWidget>
+#include <QString>
+#include <QAction>
+#include <QMenu>
+#include <QProcess>
+#include <QTimer>
+#include <QFileSystemWatcher>
+#include <QHBoxLayout>
+#include <QIcon>
+#include <QToolButton>
+#include <QDebug>
+
+// libLumina includes
+#include <LuminaXDG.h>
+
+// local includes
+//#include "../LTBWidget.h"
+#include "../LPPlugin.h"
+
+class LDeskBarPlugin : public LPPlugin{
+ Q_OBJECT
+public:
+ LDeskBarPlugin(QWidget* parent=0, QString id = "desktopbar", bool horizontal=true);
+ ~LDeskBarPlugin();
+
+private:
+ //QHBoxLayout *layout;
+ QString desktopPath;
+ QFileSystemWatcher *watcher;
+ //Special toolbuttons and menus
+ QToolButton *appB, *fileB, *dirB;
+ QMenu *appM, *dirM, *audioM, *videoM, *pictureM, *fileM, *otherM, *docM;
+ QStringList audioFilter, videoFilter, pictureFilter, docsFilter;
+ QFileInfoList totals;
+ QList<QToolButton*> APPLIST;
+
+ void initializeDesktop();
+ //bool readDesktopFile(QString path, QString &name, QString &iconpath);
+
+ QAction* newAction(QString filepath, QString name, QString iconpath);
+ QAction* newAction(QString filepath, QString name, QIcon icon);
+
+ void updateMenu(QMenu* menu, QFileInfoList files, bool trim = true);
+
+
+private slots:
+ void ActionTriggered(QAction* act);
+ void desktopChanged();
+
+public slots:
+ void OrientationChange(){
+ QSize sz;
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+ sz = QSize(this->height(), this->height());
+ }else{
+ this->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ sz = QSize(this->width(), this->width());
+ }
+ appB->setIconSize(sz);
+ fileB->setIconSize(sz);
+ dirB->setIconSize(sz);
+ for(int i=0; i<APPLIST.length(); i++){
+ APPLIST[i]->setIconSize(sz);
+ }
+ this->layout()->update();
+ }
+};
+
+
+#endif
+
diff --git a/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp b/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
new file mode 100644
index 00000000..7ab2fda1
--- /dev/null
+++ b/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.cpp
@@ -0,0 +1,133 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Susanne Jaeckel
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LDesktopSwitcher.h"
+
+LDesktopSwitcher::LDesktopSwitcher(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal) {
+ iconOld = -1;
+ this->setStyleSheet( "QToolButton::menu-indicator{ image: none; } QToolButton{padding: 0px;}");
+ //Setup the widget
+ label = new QToolButton(this);
+ label->setPopupMode(QToolButton::InstantPopup);
+ label->setAutoRaise(true);
+ label->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ label->setIcon( LXDG::findIcon("preferences-desktop-display-color", "") );
+ label->setToolTip(QString("Workspace 1"));
+ menu = new QMenu(this);
+ connect(menu, SIGNAL(triggered(QAction*)), this, SLOT(menuActionTriggered(QAction*)));
+ label->setMenu(menu);
+ this->layout()->addWidget(label);
+
+ // Maybe a timer should be set to set the toolTip of the button,
+ // becasue the workspace could be switched via Keyboard-shortcuts ...
+
+ QTimer::singleShot(500, this, SLOT(createMenu()) ); //needs a delay to make sure it works right the first time
+ QTimer::singleShot(0,this, SLOT(OrientationChange()) ); //adjust icon size
+}
+
+LDesktopSwitcher::~LDesktopSwitcher(){
+}
+/* MOVED THESE FUNCTIONS TO LIBLUMINA (LuminaX11.h) -- Ken Moore 5/9/14
+void LDesktopSwitcher::setNumberOfDesktops(int number) {
+ Display *display = QX11Info::display();
+ Window rootWindow = QX11Info::appRootWindow();
+
+ Atom atom = XInternAtom(display, "_NET_NUMBER_OF_DESKTOPS", False);
+ XEvent xevent;
+ xevent.type = ClientMessage;
+ xevent.xclient.type = ClientMessage;
+ xevent.xclient.display = display;
+ xevent.xclient.window = rootWindow;
+ xevent.xclient.message_type = atom;
+ xevent.xclient.format = 32;
+ xevent.xclient.data.l[0] = number;
+ xevent.xclient.data.l[1] = CurrentTime;
+ xevent.xclient.data.l[2] = 0;
+ xevent.xclient.data.l[3] = 0;
+ xevent.xclient.data.l[4] = 0;
+ XSendEvent(display, rootWindow, False, SubstructureNotifyMask | SubstructureRedirectMask, &xevent);
+
+ XFlush(display);
+}
+
+void LDesktopSwitcher::setCurrentDesktop(int number) {
+ Display *display = QX11Info::display();
+ Window rootWindow = QX11Info::appRootWindow();
+
+ Atom atom = XInternAtom(display, "_NET_CURRENT_DESKTOP", False);
+ XEvent xevent;
+ xevent.type = ClientMessage;
+ xevent.xclient.type = ClientMessage;
+ xevent.xclient.display = display;
+ xevent.xclient.window = rootWindow;
+ xevent.xclient.message_type = atom;
+ xevent.xclient.format = 32;
+ xevent.xclient.data.l[0] = number;
+ xevent.xclient.data.l[1] = CurrentTime;
+ xevent.xclient.data.l[2] = 0;
+ xevent.xclient.data.l[3] = 0;
+ xevent.xclient.data.l[4] = 0;
+ XSendEvent(display, rootWindow, False, SubstructureNotifyMask | SubstructureRedirectMask, &xevent);
+
+ XFlush(display);
+}
+
+int LDesktopSwitcher::getNumberOfDesktops() {
+ int number = -1;
+ Atom a = XInternAtom(QX11Info::display(), "_NET_NUMBER_OF_DESKTOPS", true);
+ Atom realType;
+ int format;
+ unsigned long num, bytes;
+ unsigned char *data = 0;
+ int status = XGetWindowProperty(QX11Info::display(), QX11Info::appRootWindow(), a, 0L, (~0L),
+ false, AnyPropertyType, &realType, &format, &num, &bytes, &data);
+ if( (status >= Success) && (num > 0) ){
+ number = *data;
+ XFree(data);
+ }
+ return number;
+}
+
+int LDesktopSwitcher::getCurrentDesktop() {
+ int number = -1;
+ Atom a = XInternAtom(QX11Info::display(), "_NET_CURRENT_DESKTOP", true);
+ Atom realType;
+ int format;
+ unsigned long num, bytes;
+ unsigned char *data = 0;
+ int status = XGetWindowProperty(QX11Info::display(), QX11Info::appRootWindow(), a, 0L, (~0L),
+ false, AnyPropertyType, &realType, &format, &num, &bytes, &data);
+ if( (status >= Success) && (num > 0) ){
+ number = *data;
+ XFree(data);
+ }
+ return number;
+} */
+
+QAction* LDesktopSwitcher::newAction(int what, QString name) {
+ QAction *act = new QAction(LXDG::findIcon("preferences-desktop-display-color", ":/images/preferences-desktop-display-color.png"), name, this);
+ act->setWhatsThis(QString::number(what));
+ return act;
+}
+
+void LDesktopSwitcher::createMenu() {
+ int cur = LX11::GetCurrentDesktop(); //current desktop number
+ int tot = LX11::GetNumberOfDesktops(); //total number of desktops
+ //qDebug() << "-- vor getCurrentDesktop SWITCH";
+ qDebug() << "Virtual Desktops:" << tot << cur;
+ menu->clear();
+ for (int i = 0; i < tot; i++) {
+ QString name = QString(tr("Workspace %1")).arg( QString::number(i+1) );
+ if(i == cur){ name.prepend("*"); name.append("*");} //identify which desktop this is currently
+ menu->addAction(newAction(i, name));
+ }
+}
+
+void LDesktopSwitcher::menuActionTriggered(QAction* act) {
+ LX11::SetCurrentDesktop(act->whatsThis().toInt());
+ label->setToolTip(QString(tr("Workspace %1")).arg(act->whatsThis().toInt() +1));
+ QTimer::singleShot(500, this, SLOT(createMenu()) ); //make sure the menu gets updated
+}
diff --git a/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h b/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h
new file mode 100644
index 00000000..bd23d8e9
--- /dev/null
+++ b/lumina-desktop/panel-plugins/desktopswitcher/LDesktopSwitcher.h
@@ -0,0 +1,67 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Susanne Jaeckel
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_SWITCHER_H
+#define _LUMINA_DESKTOP_SWITCHER_H
+
+#include <QTimer>
+#include <QWidget>
+#include <QString>
+//#include <QX11Info>
+#include <QMenu>
+#include <QToolButton>
+
+#include <LuminaUtils.h>
+#include <LuminaXDG.h>
+#include <LuminaX11.h>
+
+//#include "../LTBWidget.h"
+#include "../LPPlugin.h"
+
+//#include <X11/Xlib.h>
+//#include <X11/Xutil.h>
+//#include <X11/Xatom.h>
+
+class LDesktopSwitcher : public LPPlugin{
+ Q_OBJECT
+public:
+ LDesktopSwitcher(QWidget *parent = 0, QString id = "desktopswitcher", bool horizontal=true);
+ ~LDesktopSwitcher();
+
+private:
+ QTimer *timer;
+ QToolButton *label;
+ QMenu *menu;
+ int iconOld;
+
+ //void setNumberOfDesktops(int);
+ //void setCurrentDesktop(int);
+ //int getNumberOfDesktops();
+ //int getCurrentDesktop();
+
+
+ QAction* newAction(int, QString);
+
+private slots:
+ void createMenu();
+ void menuActionTriggered(QAction*);
+
+public slots:
+ void OrientationChange(){
+ QSize sz;
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+ sz = QSize(this->height(), this->height());
+ }else{
+ this->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ sz = QSize(this->width(), this->width());
+ }
+ label->setIconSize(sz);
+ this->layout()->update();
+ }
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/spacer/LSpacer.h b/lumina-desktop/panel-plugins/spacer/LSpacer.h
new file mode 100644
index 00000000..1e60c519
--- /dev/null
+++ b/lumina-desktop/panel-plugins/spacer/LSpacer.h
@@ -0,0 +1,34 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This class is a generic invisible spacer for the panel
+//===========================================
+#ifndef _LUMINA_DESKTOP_PANEL_PLUGIN_SPACER_H
+#define _LUMINA_DESKTOP_PANEL_PLUGIN_SPACER_H
+
+#include "../LPPlugin.h"
+
+class LSpacerPlugin : public LPPlugin{
+ Q_OBJECT
+public:
+ LSpacerPlugin(QWidget *parent=0, QString id="spacer", bool horizontal=true) : LPPlugin(parent, id, horizontal){
+ if(horizontal){ this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred); }
+ else{ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding); }
+ }
+ ~LSpacerPlugin(){}
+
+public slots:
+ void OrientationChange(){
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){ //horizontal
+ this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ }else{ //vertical
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
+ }
+ }
+};
+
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.cpp b/lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.cpp
new file mode 100644
index 00000000..4e5b3139
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.cpp
@@ -0,0 +1,88 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LSysDashboard.h"
+
+LSysDashboard::LSysDashboard(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ upTimer = new QTimer(this);
+ upTimer->setInterval(10000); //10 second update ping
+ connect(upTimer, SIGNAL(timeout()), this, SLOT(updateIcon()));
+ button = new QToolButton(this);
+ button->setAutoRaise(true);
+ button->setToolButtonStyle(Qt::ToolButtonIconOnly);
+ button->setToolTip(QString("System Dashboard"));
+ connect(button, SIGNAL(clicked()), this, SLOT(openMenu()));
+ this->layout()->setContentsMargins(0,0,0,0);
+ this->layout()->addWidget(button);
+ menu = new QMenu(this);
+ sysmenu = new LSysMenuQuick(this);
+ connect(sysmenu, SIGNAL(CloseMenu()), this, SLOT(closeMenu()) );
+ mact = new QWidgetAction(this);
+ mact->setDefaultWidget(sysmenu);
+ menu->addAction(mact);
+
+ QTimer::singleShot(0,this, SLOT(OrientationChange())); //Update icons/sizes
+}
+
+LSysDashboard::~LSysDashboard(){
+
+}
+
+// ========================
+// PRIVATE FUNCTIONS
+// ========================
+void LSysDashboard::updateIcon(bool force){
+ //For the visual, show battery state only if important
+ static bool batcharging = false;
+ QPixmap pix;
+ if(LOS::hasBattery()){
+ int bat = LOS::batteryCharge();
+ bool charging = LOS::batteryIsCharging();
+ //Set the icon as necessary
+ if(charging && !batcharging){
+ //Charging and just plugged in
+ if(bat < 15){ button->setIcon( LXDG::findIcon("battery-charging-low","") ); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(bat < 30){ button->setIcon( LXDG::findIcon("battery-charging-caution","") ); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(force || button->icon().isNull()){ resetIcon(); }
+ }else if(!charging){
+ //Not charging (critical level or just unplugged)
+ if(bat<1){ button->setIcon( LXDG::findIcon("battery-missing","") ); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(bat < 15){ button->setIcon( LXDG::findIcon("battery-low","") ); QTimer::singleShot(5000, this, SLOT(resetIcon())); }
+ else if(bat < 30){ button->setIcon( LXDG::findIcon("battery-caution","") ); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(bat < 50 && batcharging){ button->setIcon( LXDG::findIcon("battery-040","")); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(bat < 70 && batcharging){ button->setIcon( LXDG::findIcon("battery-060","")); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(bat < 90 && batcharging){ button->setIcon( LXDG::findIcon("battery-080","")); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(batcharging){ button->setIcon( LXDG::findIcon("battery-100","")); QTimer::singleShot(5000, this, SLOT(resetIcon()));}
+ else if(force || button->icon().isNull()){ resetIcon(); }
+ }else if(force || button->icon().isNull()){
+ //Otherwise just use the default icon
+ resetIcon();
+ }
+ //Save the values for comparison later
+ batcharging = charging;
+ if( !upTimer->isActive() ){ upTimer->start(); } //only use the timer if a battery is present
+
+ // No battery - just use/set the normal icon
+ }else if(force || button->icon().isNull()){
+ resetIcon();
+ if(upTimer->isActive() ){ upTimer->stop(); } //no battery available - no refresh timer needed
+ }
+
+}
+
+void LSysDashboard::resetIcon(){
+ button->setIcon( LXDG::findIcon("dashboard-show",""));
+}
+
+void LSysDashboard::openMenu(){
+ sysmenu->UpdateMenu();
+ menu->popup(this->mapToGlobal(QPoint(0,0)));
+}
+
+void LSysDashboard::closeMenu(){
+ menu->hide();
+}
+
diff --git a/lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.h b/lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.h
new file mode 100644
index 00000000..9f1c5d18
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemdashboard/LSysDashboard.h
@@ -0,0 +1,66 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This panel plugin allows the user to control different system settings
+// For example: screen brightness, audio volume, workspace, and battery
+//===========================================
+#ifndef _LUMINA_DESKTOP_SYSTEM_DASHBOARD_H
+#define _LUMINA_DESKTOP_SYSTEM_DASHBOARD_H
+
+//Qt includes
+
+#include <QHBoxLayout>
+#include <QDebug>
+#include <QCoreApplication>
+#include <QPainter>
+#include <QPixmap>
+#include <QWidgetAction>
+#include <QMenu>
+#include <QTimer>
+#include <QToolButton>
+
+//libLumina includes
+#include <LuminaOS.h>
+#include <LuminaXDG.h>
+
+//Local includes
+#include "../LPPlugin.h"
+#include "SysMenuQuick.h"
+
+class LSysDashboard : public LPPlugin{
+ Q_OBJECT
+public:
+ LSysDashboard(QWidget *parent = 0, QString id="systemdashboard", bool horizontal=true);
+ ~LSysDashboard();
+
+private:
+ QMenu *menu;
+ QWidgetAction *mact;
+ LSysMenuQuick *sysmenu;
+ QToolButton *button;
+ QTimer *upTimer;
+
+private slots:
+ void updateIcon(bool force = false);
+ void resetIcon();
+ void openMenu();
+ void closeMenu();
+
+public slots:
+ void OrientationChange(){
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+ button->setIconSize( QSize(this->height(), this->height()) );
+ }else{
+ this->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ button->setIconSize( QSize(this->width(), this->width()) );
+ }
+ updateIcon(true); //force icon refresh
+ this->layout()->update();
+ }
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.cpp b/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.cpp
new file mode 100644
index 00000000..550dbeac
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.cpp
@@ -0,0 +1,162 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "SysMenuQuick.h"
+#include "ui_SysMenuQuick.h"
+
+#include "../../LSession.h"
+#include <LuminaX11.h>
+
+LSysMenuQuick::LSysMenuQuick(QWidget *parent) : QWidget(parent), ui(new Ui::LSysMenuQuick){
+ ui->setupUi(this);
+ settings = new QSettings("panel-plugins","systemdashboard");
+ //Now reset the initial saved settings (if any)
+ LOS::setScreenBrightness( settings->value("screenbrightness",100).toInt() ); //default to 100%
+ LOS::setAudioVolume( settings->value("audiovolume", 100).toInt() ); //default to 100%
+ //Now setup the connections
+ connect(ui->slider_volume, SIGNAL(valueChanged(int)), this, SLOT(volSliderChanged()) );
+ connect(ui->slider_brightness, SIGNAL(valueChanged(int)), this, SLOT(brightSliderChanged()) );
+ connect(ui->tool_wk_prev, SIGNAL(clicked()), this, SLOT(prevWorkspace()) );
+ connect(ui->tool_wk_next, SIGNAL(clicked()), this, SLOT(nextWorkspace()) );
+ connect(ui->tool_logout, SIGNAL(clicked()), this, SLOT(startLogout()) );
+ connect(ui->tool_vol_mixer, SIGNAL(clicked()), this, SLOT(startMixer()) );
+ //And setup the default icons
+ ui->label_bright_icon->setPixmap( LXDG::findIcon("preferences-system-power-management","").pixmap(ui->label_bright_icon->maximumSize()) );
+ ui->tool_wk_prev->setIcon( LXDG::findIcon("go-previous-view",""));
+ ui->tool_wk_next->setIcon( LXDG::findIcon("go-next-view","") );
+ ui->tool_logout->setIcon( LXDG::findIcon("system-log-out","") );
+}
+
+LSysMenuQuick::~LSysMenuQuick(){
+
+}
+
+void LSysMenuQuick::UpdateMenu(){
+ //Audio Volume
+ int val = LOS::audioVolume();
+ QIcon ico;
+ if(val > 66){ ico= LXDG::findIcon("audio-volume-high",""); }
+ else if(val > 33){ ico= LXDG::findIcon("audio-volume-medium",""); }
+ else if(val > 0){ ico= LXDG::findIcon("audio-volume-low",""); }
+ else{ ico= LXDG::findIcon("audio-volume-muted",""); }
+ bool hasMixer = LOS::hasMixerUtility();
+ ui->label_vol_icon->setVisible(!hasMixer);
+ ui->tool_vol_mixer->setVisible(hasMixer);
+ if(!hasMixer){ ui->label_vol_icon->setPixmap( ico.pixmap(ui->label_vol_icon->maximumSize()) ); }
+ else{ ui->tool_vol_mixer->setIcon(ico); }
+ QString txt = QString::number(val)+"%";
+ if(val<100){ txt.prepend(" "); } //make sure no widget resizing
+ ui->label_vol_text->setText(txt);
+ if(ui->slider_volume->value()!= val){ ui->slider_volume->setValue(val); }
+ //Screen Brightness
+ val = LOS::ScreenBrightness();
+ txt = QString::number(val)+"%";
+ if(val<100){ txt.prepend(" "); } //make sure no widget resizing
+ ui->label_bright_text->setText(txt);
+ if(ui->slider_brightness->value()!=val){ ui->slider_brightness->setValue(val); }
+ //Battery Status
+ if(LOS::hasBattery()){
+ ui->group_battery->setVisible(true);
+ val = LOS::batteryCharge();
+ if(LOS::batteryIsCharging()){
+ if(val < 15){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-charging-low","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 30){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-charging-caution","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 50){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-charging-040","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 70){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-charging-060","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 90){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-charging-080","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else{ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-charging","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ ui->label_bat_text->setText( QString("%1%\n(%2)").arg(QString::number(val), tr("charging")) );
+ }else{
+ if(val < 1){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-missing","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 15){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-low","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 30){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-caution","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 50){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-040","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 70){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-060","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else if(val < 90){ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-080","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ else{ ui->label_bat_icon->setPixmap( LXDG::findIcon("battery-100","").pixmap(ui->label_bat_icon->maximumSize()) ); }
+ ui->label_bat_text->setText( QString("%1%\n(%2)").arg(QString::number(val), getRemainingTime()) );
+ }
+ }else{
+ ui->group_battery->setVisible(false);
+ }
+ //Workspace
+ val = LX11::GetCurrentDesktop();
+ int tot = LX11::GetNumberOfDesktops();
+ ui->group_workspace->setVisible(val>=0 && tot>1);
+ ui->label_wk_text->setText( QString(tr("%1 of %2")).arg(QString::number(val+1), QString::number(tot)) );
+}
+
+void LSysMenuQuick::volSliderChanged(){
+ int val = ui->slider_volume->value();
+ LOS::setAudioVolume(val);
+ settings->setValue("audiovolume",val);
+ QString txt = QString::number(val)+"%";
+ if(val<100){ txt.prepend(" "); } //make sure no widget resizing
+ ui->label_vol_text->setText( txt );
+ if(val > 66){ ui->label_vol_icon->setPixmap( LXDG::findIcon("audio-volume-high","").pixmap(ui->label_vol_icon->maximumSize()) ); }
+ else if(val > 33){ ui->label_vol_icon->setPixmap( LXDG::findIcon("audio-volume-medium","").pixmap(ui->label_vol_icon->maximumSize()) ); }
+ else if(val > 0){ ui->label_vol_icon->setPixmap( LXDG::findIcon("audio-volume-low","").pixmap(ui->label_vol_icon->maximumSize()) ); }
+ else{ ui->label_vol_icon->setPixmap( LXDG::findIcon("audio-volume-muted","").pixmap(ui->label_vol_icon->maximumSize()) ); }
+}
+
+void LSysMenuQuick::startMixer(){
+ emit CloseMenu();
+ LOS::startMixerUtility();
+}
+
+void LSysMenuQuick::brightSliderChanged(){
+ int val = ui->slider_brightness->value();
+ LOS::setScreenBrightness(val);
+ settings->setValue("screenbrightness",val);
+ QString txt = QString::number(val)+"%";
+ if(val<100){ txt.prepend(" "); } //make sure no widget resizing
+ ui->label_bright_text->setText( txt );
+}
+
+void LSysMenuQuick::nextWorkspace(){
+ int cur = LX11::GetCurrentDesktop();
+ int tot = LX11::GetNumberOfDesktops();
+ cur++;
+ if(cur>=tot){ cur = 0; } //back to beginning
+ LX11::SetCurrentDesktop(cur);
+ui->label_wk_text->setText( QString(tr("%1 of %2")).arg(QString::number(cur+1), QString::number(tot)) );
+}
+
+void LSysMenuQuick::prevWorkspace(){
+ int cur = LX11::GetCurrentDesktop();
+ int tot = LX11::GetNumberOfDesktops();
+ cur--;
+ if(cur<0){ cur = tot-1; } //back to last
+ LX11::SetCurrentDesktop(cur);
+ ui->label_wk_text->setText( QString(tr("%1 of %2")).arg(QString::number(cur+1), QString::number(tot)) );
+}
+
+QString LSysMenuQuick::getRemainingTime(){
+ int secs = LOS::batterySecondsLeft();
+ if(secs < 0){ return "??"; }
+ QString rem; //remaining
+ if(secs > 3600){
+ int hours = secs/3600;
+ rem.append( QString::number(hours)+"h ");
+ secs = secs - (hours*3600);
+ }
+ if(secs > 60){
+ int min = secs/60;
+ rem.append( QString::number(min)+"m ");
+ secs = secs - (min*60);
+ }
+ if(secs > 0){
+ rem.append( QString::number(secs)+"s");
+ }else{
+ rem.append( "0s" );
+ }
+ return rem;
+}
+
+void LSysMenuQuick::startLogout(){
+ emit CloseMenu();
+ LSession::systemWindow();
+} \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.h b/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.h
new file mode 100644
index 00000000..7b3c2d09
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.h
@@ -0,0 +1,52 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This panel plugin allows the user to control different system settings
+// For example: screen brightness, audio volume, workspace, and battery
+//===========================================
+#ifndef _LUMINA_PANEL_QUICK_SYSTEM_MENU_H
+#define _LUMINA_PANEL_QUICK_SYSTEM_MENU_H
+
+#include <QWidget>
+#include <QSettings>
+#include <QString>
+
+#include <LuminaOS.h>
+#include <LuminaXDG.h>
+
+namespace Ui{
+ class LSysMenuQuick;
+};
+
+class LSysMenuQuick : public QWidget{
+ Q_OBJECT
+public:
+ LSysMenuQuick(QWidget *parent=0);
+ ~LSysMenuQuick();
+
+ void UpdateMenu();
+
+private:
+ Ui::LSysMenuQuick *ui;
+ QSettings *settings;
+
+ QString getRemainingTime(); //battery time left
+
+private slots:
+ void volSliderChanged();
+ void brightSliderChanged();
+ void startMixer();
+ void nextWorkspace();
+ void prevWorkspace();
+ void startLogout();
+
+
+signals:
+ void CloseMenu();
+
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.ui b/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.ui
new file mode 100644
index 00000000..37cac2d4
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemdashboard/SysMenuQuick.ui
@@ -0,0 +1,348 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>LSysMenuQuick</class>
+ <widget class="QWidget" name="LSysMenuQuick">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>169</width>
+ <height>240</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QGroupBox{
+border-radius: 5px;
+border: 1px solid grey;
+margin-top: 1ex;
+}
+QGroupBox::title{
+subcontrol-origin: margin;
+subcontrol-position: top center;
+padding: 0 3px;
+background-color: rgba(255,255,255,255);
+border-radius: 5px;
+font-weight: bold;
+}</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>1</number>
+ </property>
+ <item>
+ <widget class="QGroupBox" name="group_volume">
+ <property name="title">
+ <string>System Volume</string>
+ </property>
+ <property name="flat">
+ <bool>false</bool>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_vol_icon">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_vol_mixer">
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Launch Audio Mixer</string>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="autoRaise">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="slider_volume">
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_vol_text">
+ <property name="text">
+ <string notr="true">100%</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="group_brightness">
+ <property name="title">
+ <string>Screen Brightness</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_bright_icon">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QSlider" name="slider_brightness">
+ <property name="maximum">
+ <number>100</number>
+ </property>
+ <property name="value">
+ <number>100</number>
+ </property>
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_bright_text">
+ <property name="text">
+ <string notr="true">100%</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignRight|Qt::AlignTrailing|Qt::AlignVCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="group_battery">
+ <property name="title">
+ <string>Battery Status</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_3">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QLabel" name="label_bat_icon">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="maximumSize">
+ <size>
+ <width>32</width>
+ <height>32</height>
+ </size>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_bat_text">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Expanding" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string notr="true">100% (Plugged in)</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="group_workspace">
+ <property name="title">
+ <string>Workspace</string>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_4">
+ <property name="spacing">
+ <number>2</number>
+ </property>
+ <property name="margin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="tool_wk_prev">
+ <property name="text">
+ <string notr="true">prev</string>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QLabel" name="label_wk_text">
+ <property name="text">
+ <string notr="true">1 of 2</string>
+ </property>
+ <property name="alignment">
+ <set>Qt::AlignCenter</set>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_wk_next">
+ <property name="text">
+ <string notr="true">next</string>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ <item>
+ <widget class="QGroupBox" name="groupBox">
+ <property name="styleSheet">
+ <string notr="true">QGroupBox{ border: none; }</string>
+ </property>
+ <property name="title">
+ <string/>
+ </property>
+ <property name="flat">
+ <bool>true</bool>
+ </property>
+ <layout class="QHBoxLayout" name="horizontalLayout_5">
+ <property name="leftMargin">
+ <number>1</number>
+ </property>
+ <property name="topMargin">
+ <number>2</number>
+ </property>
+ <property name="rightMargin">
+ <number>1</number>
+ </property>
+ <property name="bottomMargin">
+ <number>2</number>
+ </property>
+ <item>
+ <widget class="QToolButton" name="tool_logout">
+ <property name="font">
+ <font>
+ <pointsize>9</pointsize>
+ </font>
+ </property>
+ <property name="text">
+ <string>Log Out</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>22</width>
+ <height>22</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ <property name="autoRaise">
+ <bool>false</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp b/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp
new file mode 100644
index 00000000..27dbaee5
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemtray/LSysTray.cpp
@@ -0,0 +1,249 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LSysTray.h"
+#include "../../LSession.h"
+
+#include <LuminaX11.h>
+//X includes (these need to be last due to Qt compile issues)
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/Xatom.h>
+#include <X11/extensions/Xrender.h>
+#include <X11/extensions/Xdamage.h>
+
+//Static variables for damage detection (tray update notifications)
+static int dmgEvent = 0;
+static int dmgError = 0;
+
+LSysTray::LSysTray(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ frame = new QFrame(this);
+ frame->setContentsMargins(0,0,0,0);
+ //frame->setStyleSheet("QFrame{ background: transparent; border: 1px solid transparent; border-radius: 5px; }");
+ LI = new QBoxLayout( this->layout()->direction());
+ frame->setLayout(LI);
+ LI->setAlignment(Qt::AlignCenter);
+ LI->setSpacing(1);
+ LI->setContentsMargins(0,0,0,0);
+ this->layout()->addWidget(frame);
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Preferred);
+ TrayID=0;
+ upTimer = new QTimer(this);
+ upTimer->setInterval(300000); //maximum time between refreshes is 5 minutes
+ connect(upTimer, SIGNAL(timeout()), this, SLOT(checkAll()) );
+ isRunning = false;
+ start();
+}
+
+LSysTray::~LSysTray(){
+ if(isRunning){
+ this->stop();
+ }
+}
+
+void LSysTray::start(){
+ if(TrayID!=0){ return; } //already running
+ //Make sure we catch all events right away
+ connect(LSession::instance(),SIGNAL(aboutToQuit()),this,SLOT(closeAll()) );
+ connect(LSession::instance(),SIGNAL(TrayEvent(XEvent*)), this, SLOT(checkXEvent(XEvent*)) );
+ isRunning = true;
+ TrayID = LX11::startSystemTray(0); //LSession::desktop()->screenNumber(this));
+ if(TrayID!=0){
+ XSelectInput(QX11Info::display(), TrayID, InputOutput); //make sure TrayID events get forwarded here
+ XDamageQueryExtension( QX11Info::display(), &dmgEvent, &dmgError);
+ //Now connect the session logout signal to the close function
+ qDebug() << "System Tray Started Successfully";
+ upTimer->start();
+ //QTimer::singleShot(100, this, SLOT(initialTrayIconDetect()) );
+ }else{
+ disconnect(this);
+ }
+ isRunning = (TrayID!=0);
+}
+
+void LSysTray::stop(){
+ if(!isRunning){ return; }
+ upTimer->stop();
+ //Now close down the system tray registry
+ qDebug() << "Stop system Tray";
+ LX11::closeSystemTray(TrayID);
+ TrayID = 0;
+ disconnect(this); //remove any signals/slots
+ isRunning = false;
+ //Release all the tray applications and delete the containers
+ qDebug() << " - Remove tray applications";
+ for(int i=(trayIcons.length()-1); i>=0; i--){
+ trayIcons[i]->detachApp();
+ TrayIcon *cont = trayIcons.takeAt(i);
+ LI->removeWidget(cont);
+ delete cont;
+ }
+ qDebug() << "Done stopping system tray";
+}
+
+// ========================
+// PRIVATE FUNCTIONS
+// ========================
+void LSysTray::checkXEvent(XEvent *event){
+ if(!isRunning){ return; }
+ switch(event->type){
+ // -------------------------
+ case ClientMessage:
+ //Only check if the client is the system tray, otherwise ignore
+ if(event->xany.window == TrayID){
+ //qDebug() << "SysTray: ClientMessage";
+ switch(event->xclient.data.l[1]){
+ case SYSTEM_TRAY_REQUEST_DOCK:
+ addTrayIcon(event->xclient.data.l[2]); //Window ID
+ break;
+ //case SYSTEM_TRAY_BEGIN_MESSAGE:
+ //Let the window manager handle the pop-up messages for now
+ //break;
+ //case SYSTEM_TRAY_CANCEL_MESSAGE:
+ //Let the window manager handle the pop-up messages for now
+ //break;
+ }
+ }
+ break;
+ case SelectionClear:
+ if(event->xany.window == TrayID){
+ //qDebug() << "SysTray: Selection Clear";
+ this->stop(); //de-activate this system tray (release all embeds)
+ }
+ break;
+ case DestroyNotify:
+ //qDebug() << "SysTray: DestroyNotify";
+ removeTrayIcon(event->xany.window); //Check for removing an icon
+ break;
+
+ case ConfigureNotify:
+ for(int i=0; i<trayIcons.length(); i++){
+ if(event->xany.window==trayIcons[i]->appID()){
+ //qDebug() << "SysTray: Configure Event" << trayIcons[i]->appID();
+ trayIcons[i]->update(); //trigger a repaint event
+ break;
+ }
+ }
+ default:
+ if(event->type == dmgEvent+XDamageNotify){
+ WId ID = reinterpret_cast<XDamageNotifyEvent*>(event)->drawable;
+ //qDebug() << "SysTray: Damage Event";
+ for(int i=0; i<trayIcons.length(); i++){
+ if(ID==trayIcons[i]->appID()){
+ //qDebug() << "SysTray: Damage Event" << ID;
+ trayIcons[i]->update(); //trigger a repaint event
+ break;
+ }
+ }
+ }
+
+ }//end of switch over event type
+}
+
+void LSysTray::closeAll(){
+ //Actually close all the tray apps (not just unembed)
+ //This is used when the desktop is shutting everything down
+ for(int i=0; i<trayIcons.length(); i++){
+ LX11::CloseWindow(trayIcons[i]->appID());
+ }
+
+}
+
+void LSysTray::checkAll(){
+ for(int i=0; i<trayIcons.length(); i++){
+ trayIcons[i]->update();
+ }
+}
+
+void LSysTray::initialTrayIconDetect(){
+ // WARNING: This is still experimental and should be disabled by default!!
+ QList<WId> wins = LX11::findOrphanTrayWindows();
+ for(int i=0; i<wins.length(); i++){
+ //addTrayIcon(wins[i]);
+ qDebug() << "Initial Tray Window:" << wins[i] << LX11::WindowClass(wins[i]);
+ }
+}
+
+void LSysTray::addTrayIcon(WId win){
+ if(win == 0 || !isRunning){ return; }
+ //qDebug() << "System Tray: Add Tray Icon:" << win;
+ bool exists = false;
+ for(int i=0; i<trayIcons.length(); i++){
+ if(trayIcons[i]->appID() == win){ exists=true; break; }
+ }
+ if(!exists){
+ //qDebug() << " - New Icon Window:" << win;
+ TrayIcon *cont = new TrayIcon(this);
+ QCoreApplication::processEvents();
+ connect(cont, SIGNAL(AppClosed()), this, SLOT(trayAppClosed()) );
+ connect(cont, SIGNAL(AppAttached()), this, SLOT(updateStatus()) );
+ trayIcons << cont;
+ LI->addWidget(cont);
+ //qDebug() << " - Update tray layout";
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ cont->setSizeSquare(this->height()-2*frame->frameWidth()); //horizontal tray
+ this->setMaximumSize( trayIcons.length()*this->height(), 10000);
+ }else{
+ cont->setSizeSquare(this->width()-2*frame->frameWidth()); //vertical tray
+ this->setMaximumSize(10000, trayIcons.length()*this->width());
+ }
+ LSession::processEvents();
+ //qDebug() << " - Attach tray app";
+ cont->attachApp(win);
+ LI->update(); //make sure there is no blank space
+ }
+}
+
+void LSysTray::removeTrayIcon(WId win){
+ if(win==0 || !isRunning){ return; }
+ for(int i=0; i<trayIcons.length(); i++){
+ if(trayIcons[i]->appID()==win){
+ //qDebug() << " - Remove Icon Window:" << win;
+ //Remove it from the layout and keep going
+ TrayIcon *cont = trayIcons.takeAt(i);
+ LI->removeWidget(cont);
+ delete cont;
+ i--; //make sure we don't miss an item when we continue
+ QCoreApplication::processEvents();
+ }
+ }
+ //Re-adjust the maximum widget size to account for what is left
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setMaximumSize( trayIcons.length()*this->height(), 10000);
+ }else{
+ this->setMaximumSize(10000, trayIcons.length()*this->width());
+ }
+ LI->update(); //update the layout (no gaps)
+ this->update(); //update the main widget appearance
+}
+
+void LSysTray::updateStatus(){
+ qDebug() << "System Tray: Client Attached";
+ LI->update(); //make sure there is no blank space
+ //qDebug() << " - Items:" << trayIcons.length();
+}
+
+void LSysTray::trayAppClosed(){
+ if(!isRunning){ return; }
+ for(int i=0; i<trayIcons.length(); i++){
+ if(trayIcons[i]->appID() == 0){
+ qDebug() << "System Tray: Removing icon";
+ TrayIcon *cont = trayIcons.takeAt(i);
+ LI->removeWidget(cont);
+ delete cont;
+ QCoreApplication::processEvents();
+ }
+ }
+ //Re-adjust the maximum widget size
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setMaximumSize( trayIcons.length()*this->height(), 10000);
+ }else{
+ this->setMaximumSize(10000, trayIcons.length()*this->width());
+ }
+ LI->update(); //update the layout (no gaps)
+ this->update();
+}
+
diff --git a/lumina-desktop/panel-plugins/systemtray/LSysTray.h b/lumina-desktop/panel-plugins/systemtray/LSysTray.h
new file mode 100644
index 00000000..13eb0df1
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemtray/LSysTray.h
@@ -0,0 +1,76 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2012, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_SYSTRAY_H
+#define _LUMINA_DESKTOP_SYSTRAY_H
+
+//Qt includes
+#include <QFrame>
+#include <QHBoxLayout>
+#include <QDebug>
+#include <QX11Info>
+#include <QX11EmbedContainer>
+#include <QCoreApplication>
+
+//Local includes
+#include "../LPPlugin.h"
+#include "TrayIcon.h"
+
+//SYSTEM TRAY STANDARD DEFINITIONS
+#define SYSTEM_TRAY_REQUEST_DOCK 0
+#define SYSTEM_TRAY_BEGIN_MESSAGE 1
+#define SYSTEM_TRAY_CANCEL_MESSAGE 2
+
+class LSysTray : public LPPlugin{
+ Q_OBJECT
+public:
+ LSysTray(QWidget *parent = 0, QString id="systemtray", bool horizontal=true);
+ ~LSysTray();
+
+ void start();
+ void stop();
+
+private:
+ bool isRunning;
+ QList<TrayIcon*> trayIcons;
+ QFrame *frame;
+ QBoxLayout *LI; //layout items
+ WId TrayID;
+ QTimer *upTimer; //manual timer to force refresh of all items
+
+private slots:
+ void checkXEvent(XEvent *event);
+ void closeAll();
+ void checkAll();
+
+ void initialTrayIconDetect(); //initial scan for previously running tray apps
+ void addTrayIcon(WId win);
+ void removeTrayIcon(WId win);
+
+ void updateStatus();
+ void trayAppClosed();
+
+public slots:
+ virtual void OrientationChange(){
+ //make sure the internal layout has the same orientation as the main widget
+ LI->setDirection( this->layout()->direction() );
+ //Re-adjust the maximum widget size
+ int sz;
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setMaximumSize( trayIcons.length()*this->height(), 10000);
+ sz = this->height()-2*frame->frameWidth();
+ }else{
+ this->setMaximumSize(10000, trayIcons.length()*this->width());
+ sz = this->width()-2*frame->frameWidth();
+ }
+ for(int i=0; i<trayIcons.length(); i++){
+ trayIcons[i]->setSizeSquare(sz);
+ trayIcons[i]->repaint();
+ }
+ }
+};
+
+#endif
diff --git a/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp b/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp
new file mode 100644
index 00000000..37970051
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemtray/TrayIcon.cpp
@@ -0,0 +1,142 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "TrayIcon.h"
+
+#include <X11/Xlib.h>
+#include <X11/Xutil.h>
+#include <X11/extensions/Xdamage.h>
+
+static Damage dmgID = 0;
+
+TrayIcon::TrayIcon(QWidget *parent) : QWidget(parent){
+ AID = 0; //nothing attached yet
+ IID = 0;
+}
+
+TrayIcon::~TrayIcon(){
+ if(AID!=0){
+ detachApp();
+ }
+}
+
+WId TrayIcon::appID(){
+ return AID;
+}
+
+void TrayIcon::attachApp(WId id){
+ if(id==0){ return; } //nothing to attach
+ else if(AID!=0){ qWarning() << "Tray Icon is already attached to a window!"; return; }
+ AID = id;
+ //qDebug() << "Container:" << this->winId();
+ //qDebug() << " - Tray:" << AID;
+ QTimer::singleShot(0,this,SLOT(slotAttach()) );
+}
+
+void TrayIcon::setSizeSquare(int side){
+ this->setFixedSize( QSize(side, side) );
+}
+
+// ==============
+// PUBLIC SLOTS
+// ==============
+void TrayIcon::detachApp(){
+ if(AID==0){ return; } //already detached
+ qDebug() << "Detach App:" << AID;
+ //Temporarily move the AID, so that internal slots do not auto-run
+ WId tmp = AID;
+ AID = 0;
+ //Now detach the application window and clean up
+ qDebug() << " - Unembed";
+ LX11::UnembedWindow(tmp);
+ if(dmgID!=0){
+ XDamageDestroy(QX11Info::display(), dmgID);
+ }
+ qDebug() << " - finished app:" << tmp;
+ //if(IID!=this->winId()){ LX11::DestroyWindow(IID); }
+ IID = 0;
+ emit AppClosed();
+}
+
+// ==============
+// PRIVATE SLOTS
+// ==============
+void TrayIcon::slotAttach(){
+ IID = this->winId(); //embed directly into this widget
+ //IID = LX11::CreateWindow( this->winId(), this->rect() ); //Create an intermediate window to be the parent
+ if( LX11::EmbedWindow(AID, IID) ){
+ LX11::RestoreWindow(AID); //make it visible
+ //XSelectInput(QX11Info::display(), AID, StructureNotifyMask);
+ dmgID = XDamageCreate( QX11Info::display(), AID, XDamageReportRawRectangles );
+ updateIcon();
+ qDebug() << "New System Tray App:" << AID;
+ emit AppAttached();
+ QTimer::singleShot(500, this, SLOT(updateIcon()) );
+ }else{
+ qWarning() << "Could not Embed Tray Application:" << AID;
+ //LX11::DestroyWindow(IID);
+ IID = 0;
+ AID = 0;
+ emit AppClosed();
+ }
+}
+
+void TrayIcon::updateIcon(){
+ if(AID==0){ return; }
+ //Make sure the icon is square
+ QSize icosize = this->size();
+ LX11::ResizeWindow(AID, icosize.width(), icosize.height());
+}
+
+// =============
+// PROTECTED
+// =============
+void TrayIcon::paintEvent(QPaintEvent *event){
+ QWidget::paintEvent(event); //make sure the background is already painted
+ if(AID!=0){
+ //qDebug() << "Paint Tray:" << AID;
+ QPainter painter(this);
+ //Now paint the tray app on top of the background
+ //qDebug() << " - Draw tray:" << AID << IID << this->winId();
+ //qDebug() << " - - " << event->rect().x() << event->rect().y() << event->rect().width() << event->rect().height();
+ //qDebug() << " - Get image";
+ QPixmap pix = LX11::WindowImage(AID, false);
+ if(pix.isNull()){
+ //Try to grab the window directly with Qt
+ //qDebug() << " - Grab window directly";
+ pix = QPixmap::grabWindow(AID);
+ }
+ //qDebug() << " - Pix size:" << pix.size().width() << pix.size().height();
+ //qDebug() << " - Geom:" << this->geometry().x() << this->geometry().y() << this->geometry().width() << this->geometry().height();
+ painter.drawPixmap(0,0,this->width(), this->height(), pix.scaled(this->size(), Qt::KeepAspectRatio, Qt::SmoothTransformation) );
+ //qDebug() << " - Done";
+ }
+}
+
+/*void TrayIcon::moveEvent(QMoveEvent *event){
+ //Make sure the main Tray window is right underneath the widget
+ //qDebug() << "Move Event:" << event->pos().x() << event->pos().y();
+ LX11::MoveResizeWindow(AID, QRect( this->mapToGlobal(event->pos()), this->size()) );
+ QWidget::moveEvent(event);
+}*/
+
+void TrayIcon::resizeEvent(QResizeEvent *event){
+ //qDebug() << "Resize Event:" << event->size().width() << event->size().height();
+ if(AID!=0){
+ LX11::ResizeWindow(AID, event->size().width(), event->size().height());
+ }
+}
+
+/*bool TrayIcon::x11Event(XEvent *event){
+ qDebug() << "XEvent";
+ if( event->xany.window==AID || event->type==( (int)dmgID+XDamageNotify) ){
+ qDebug() << "Tray X Event:" << AID;
+ this->update(); //trigger a repaint
+ return true;
+ }else{
+ return false; //no special handling
+ }
+}*/
diff --git a/lumina-desktop/panel-plugins/systemtray/TrayIcon.h b/lumina-desktop/panel-plugins/systemtray/TrayIcon.h
new file mode 100644
index 00000000..97f2fdf5
--- /dev/null
+++ b/lumina-desktop/panel-plugins/systemtray/TrayIcon.h
@@ -0,0 +1,60 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// Note: The basic idea behind this class that that it puts the app window
+// in the same spot as the tray icon (to directly pass mouse events and such),
+// while keeping the tray icon visual in sync with the app window
+//===========================================
+#ifndef _LUMINA_PANEL_PLUGIN_SYSTEM_TRAY_ICON_H
+#define _LUMINA_PANEL_PLUGIN_SYSTEM_TRAY_ICON_H
+
+//Qt includes
+#include <QWidget>
+#include <QTimer>
+#include <QPaintEvent>
+#include <QMoveEvent>
+#include <QResizeEvent>
+#include <QPainter>
+#include <QPixmap>
+#include <QImage>
+
+// libLumina includes
+#include <LuminaX11.h>
+
+//Local includes
+
+class TrayIcon : public QWidget{
+ Q_OBJECT
+public:
+ TrayIcon(QWidget* parent = 0);
+ ~TrayIcon();
+
+ WId appID(); //the ID for the attached application
+ void attachApp(WId id);
+ void setSizeSquare(int side);
+
+public slots:
+ void detachApp();
+ void updateIcon();
+
+private:
+ WId IID, AID; //icon ID and app ID
+
+private slots:
+ void slotAttach(); //so that the attachment can be done in a new thread
+
+
+protected:
+ void paintEvent(QPaintEvent *event);
+ //void moveEvent(QMoveEvent *event);
+ void resizeEvent(QResizeEvent *event);
+ //bool x11Event(XEvent *event);
+
+signals:
+ void AppClosed();
+ void AppAttached();
+};
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp b/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp
new file mode 100644
index 00000000..80600488
--- /dev/null
+++ b/lumina-desktop/panel-plugins/taskmanager/LTaskButton.cpp
@@ -0,0 +1,194 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LTaskButton.h"
+
+LTaskButton::LTaskButton(QWidget *parent) : LTBWidget(parent){
+ actMenu = new QMenu(this);
+ winMenu = new QMenu(this);
+ UpdateMenus();
+
+ this->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ this->setAutoRaise(false); //make sure these always look like buttons
+ this->setContextMenuPolicy(Qt::CustomContextMenu);
+ winMenu->setContextMenuPolicy(Qt::CustomContextMenu);
+ connect(this, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(openActionMenu()) );
+ connect(this, SIGNAL(clicked()), this, SLOT(buttonClicked()) );
+ connect(winMenu, SIGNAL(customContextMenuRequested(const QPoint&)), this, SLOT(openActionMenu()) );
+ connect(winMenu, SIGNAL(triggered(QAction*)), this, SLOT(winClicked(QAction*)) );
+}
+
+LTaskButton::~LTaskButton(){
+
+}
+
+//===========
+// PUBLIC
+//===========
+QList<LWinInfo> LTaskButton::windows(){
+ return WINLIST;
+}
+
+QString LTaskButton::classname(){
+ return cname;
+}
+
+void LTaskButton::addWindow(LWinInfo win){
+ WINLIST << win;
+ UpdateButton();
+}
+
+void LTaskButton::rmWindow(LWinInfo win){
+ for(int i=0; i<WINLIST.length(); i++){
+ if(WINLIST[i].windowID() == win.windowID()){
+ WINLIST.removeAt(i);
+ break;
+ }
+ }
+ UpdateButton();
+}
+
+//==========
+// PRIVATE
+//==========
+LWinInfo LTaskButton::currentWindow(){
+ if(WINLIST.length() == 1 || cWin.windowID()==0){
+ return WINLIST[0]; //only 1 window - this must be it
+ }else{
+ return cWin;
+ }
+}
+
+//=============
+// PUBLIC SLOTS
+//=============
+void LTaskButton::UpdateButton(){
+ if(winMenu->isVisible()){ return; } //skip this if the window menu is currently visible for now
+ bool statusOnly = WINLIST.length() == LWINLIST.length();
+ LWINLIST = WINLIST;
+
+ winMenu->clear();
+ Lumina::STATES showstate = Lumina::NOSHOW;
+ for(int i=0; i<WINLIST.length(); i++){
+ if(WINLIST[i].windowID() == 0){
+ WINLIST.removeAt(i);
+ i--;
+ continue;
+ }
+ if(i==0 && !statusOnly){
+ //Update the button visuals from the first window
+ this->setIcon(WINLIST[i].icon());
+ cname = WINLIST[i].Class();
+ if(cname.isEmpty()){
+ //Special case (chrome/chromium does not register *any* information with X except window title)
+ cname = WINLIST[i].text();
+ if(cname.contains(" - ")){ cname = cname.section(" - ",-1); }
+ }
+ this->setToolTip(cname);
+ if(this->icon().isNull()){
+ this->setIcon( LXDG::findIcon(cname.toLower(),"") );
+ if(this->icon().isNull()){
+ this->setIcon( LXDG::findIcon("preferences-system-windows","") );
+ noicon=true;
+ }else{
+ noicon = false;
+ }
+ }else{
+ noicon = false;
+ }
+ }
+ winMenu->addAction( WINLIST[i].icon(), WINLIST[i].text() );
+ Lumina::STATES stat = WINLIST[i].status();
+ if(stat==Lumina::NOTIFICATION){ showstate = stat; } //highest priority
+ else if( stat==Lumina::ACTIVE && showstate != Lumina::NOTIFICATION){ showstate = stat; } //next priority
+ else if( stat==Lumina::Lumina::VISIBLE && showstate != Lumina::NOTIFICATION && showstate != Lumina::ACTIVE){ showstate = stat; }
+ else if(showstate == Lumina::INVISIBLE || showstate == Lumina::NOSHOW){ showstate = stat; } //anything is the same/better
+ }
+ //Now setup the button appropriately
+ // - visibility
+ if(showstate == Lumina::NOSHOW || WINLIST.length() < 1){ this->setVisible(false); }
+ else{ this->setVisible(true); }
+ // - functionality
+ if(WINLIST.length() == 1){
+ //single window
+ this->setPopupMode(QToolButton::DelayedPopup);
+ this->setMenu(actMenu);
+ if(noicon){ this->setText( this->fontMetrics().elidedText(cname, Qt::ElideRight ,80) ); }
+ else{ this->setText(""); }
+ }else if(WINLIST.length() > 1){
+ //multiple windows
+ this->setPopupMode(QToolButton::InstantPopup);
+ this->setMenu(winMenu);
+ if(noicon){ this->setText( this->fontMetrics().elidedText(cname, Qt::ElideRight ,80) +" ("+QString::number(WINLIST.length())+")" ); }
+ else{ this->setText("("+QString::number(WINLIST.length())+")"); }
+ }
+ this->setState(showstate); //Make sure this is after the button setup so that it properly sets the margins/etc
+}
+
+void LTaskButton::UpdateMenus(){
+ //Action menu is very simple right now - can expand it later
+ actMenu->clear();
+ actMenu->addAction( LXDG::findIcon("window-close",""), tr("Close Window"), this, SLOT(closeWindow()) );
+}
+
+//=============
+// PRIVATE SLOTS
+//=============
+void LTaskButton::buttonClicked(){
+ if(WINLIST.length() > 1){
+ winMenu->popup(QCursor::pos());
+ }else{
+ triggerWindow();
+ }
+}
+
+void LTaskButton::closeWindow(){
+ if(winMenu->isVisible()){ winMenu->hide(); }
+ LWinInfo win = currentWindow();
+ LX11::CloseWindow(win.windowID());
+ cWin = LWinInfo(); //clear the current
+}
+
+void LTaskButton::triggerWindow(){
+ LWinInfo win = currentWindow();
+ //Check which state the window is currently in and flip it to the other
+ LX11::WINDOWSTATE state = LX11::GetWindowState(win.windowID());
+ if(state == LX11::ACTIVE){
+ qDebug() << "Minimize Window:" << this->text();
+ LX11::IconifyWindow(win.windowID());
+ }else if(state == LX11::VISIBLE){
+ qDebug() << "Activate Window:" << this->text();
+ LX11::ActivateWindow(win.windowID());
+ }else{
+ qDebug() << "Restore Window:" << this->text();
+ LX11::RestoreWindow(win.windowID());
+ }
+ cWin = LWinInfo(); //clear the current
+}
+
+void LTaskButton::winClicked(QAction* act){
+ //Get the window from the action
+ QString txt = act->text();
+ for(int i=0; i<WINLIST.length(); i++){
+ if(WINLIST[i].text() == txt){ cWin = WINLIST[i]; }
+ }
+ //Now trigger the window
+ triggerWindow();
+}
+
+void LTaskButton::openActionMenu(){
+ //Get the Window the mouse is currently over
+ QAction *act = winMenu->actionAt(QCursor::pos());
+ if( act != 0 && winMenu->isVisible() ){
+ //get the window from the action
+ QString txt = act->text();
+ for(int i=0; i<WINLIST.length(); i++){
+ if(WINLIST[i].text() == txt){ cWin = WINLIST[i]; }
+ }
+ }
+ //Now show the action menu
+ actMenu->popup(QCursor::pos());
+}
diff --git a/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h b/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h
new file mode 100644
index 00000000..22278eba
--- /dev/null
+++ b/lumina-desktop/panel-plugins/taskmanager/LTaskButton.h
@@ -0,0 +1,64 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_TASK_BUTTON_H
+#define _LUMINA_DESKTOP_TASK_BUTTON_H
+
+// Qt includes
+#include <QWidget>
+#include <QList>
+#include <QIcon>
+#include <QCursor>
+#include <QMenu>
+#include <QEvent>
+#include <QAction>
+
+// libLumina includes
+#include <LuminaXDG.h>
+#include <LuminaX11.h>
+
+// Local includes
+#include "LWinInfo.h"
+#include "../LTBWidget.h"
+
+class LTaskButton : public LTBWidget{
+ Q_OBJECT
+public:
+ LTaskButton(QWidget *parent=0);
+ ~LTaskButton();
+
+ //Window Information
+ QList<LWinInfo> windows();
+ QString classname();
+
+ //Window Management
+ void addWindow(LWinInfo win); //Add a window to this button
+ void rmWindow(LWinInfo win); //Remove a window from this button
+
+private:
+ QList<LWinInfo> WINLIST;
+ QList<LWinInfo> LWINLIST;
+ QMenu *actMenu; // action menu (custom context menu)
+ QMenu *winMenu; // window menu (if more than 1)
+ LWinInfo cWin;
+ QString cname; //class name for the entire button
+ bool noicon;
+
+ LWinInfo currentWindow(); //For getting the currently-active window
+
+public slots:
+ void UpdateButton(); //re-sync the current window infomation
+ void UpdateMenus(); //re-create the menus (text + icons)
+
+private slots:
+ void buttonClicked();
+ void closeWindow(); //send the signal to close a window
+ void triggerWindow(); //change b/w visible and invisible
+ void winClicked(QAction*);
+ void openActionMenu();
+
+};
+#endif
diff --git a/lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.cpp b/lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.cpp
new file mode 100644
index 00000000..674c9088
--- /dev/null
+++ b/lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.cpp
@@ -0,0 +1,101 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LTaskManagerPlugin.h"
+#include "../../LSession.h"
+
+LTaskManagerPlugin::LTaskManagerPlugin(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ updating=false;
+ timer = new QTimer(this);
+ timer->setSingleShot(true);
+ timer->setInterval(10); // 1/100 second
+ connect(timer, SIGNAL(timeout()), this, SLOT(UpdateButtons()) );
+ connect(LSession::instance(), SIGNAL(WindowListEvent()), this, SLOT(checkWindows()) );
+ this->layout()->setContentsMargins(0,0,0,0);
+ QTimer::singleShot(0,this, SLOT(UpdateButtons()) ); //perform an initial sync
+ //QTimer::singleShot(100,this, SLOT(OrientationChange()) ); //perform an initial sync
+}
+
+LTaskManagerPlugin::~LTaskManagerPlugin(){
+
+}
+
+//==============
+// PRIVATE SLOTS
+//==============
+void LTaskManagerPlugin::UpdateButtons(){
+ if(updating){ timer->start(); return; } //check again in a moment
+ //Make sure this only runs one at a time
+ updating=true;
+ //Get the current window list
+ QList<WId> winlist = LX11::WindowList();
+ //qDebug() << "Update Buttons:" << winlist;
+ //Now go through all the current buttons first
+ for(int i=0; i<BUTTONS.length(); i++){
+ //Get the windows managed in this button
+ QList<LWinInfo> WI = BUTTONS[i]->windows();
+ bool updated=false;
+ for(int w=0; w<WI.length(); w++){
+ if( winlist.contains( WI[w].windowID() ) ){
+ //Still current window - update it later
+ winlist.removeAll(WI[w].windowID()); //remove this window from the list since it is done
+ }else{
+ //Window was closed - remove it
+ if(WI.length()==1){
+ //Remove the entire button
+ this->layout()->takeAt(i); //remove from the layout
+ delete BUTTONS.takeAt(i);
+ i--;
+ updated = true; //prevent updating a removed button
+ break; //break out of the button->window loop
+ }else{
+ //qDebug() << "Remove Window:" << WI[w].windowID() << "Button:" << w;
+ BUTTONS[i]->rmWindow(WI[w]); // one of the multiple windows for the button
+ WI.removeAt(w); //remove this window from the list
+ w--;
+ }
+ updated=true; //button already changed
+ }
+ }
+ if(!updated){
+ //qDebug() << "Update Button:" << i;
+ QTimer::singleShot(1,BUTTONS[i], SLOT(UpdateButton()) ); //keep moving on
+ }
+ }
+ //Now go through the remaining windows
+ for(int i=0; i<winlist.length(); i++){
+ //New windows, create buttons for each (add grouping later)
+ //Check for a button that this can just be added to
+ QString ctxt = LX11::WindowClass(winlist[i]);
+ bool found = false;
+ for(int b=0; b<BUTTONS.length(); b++){
+ if(BUTTONS[b]->classname()== ctxt){
+ found = true;
+ //qDebug() << "Add Window to Button:" << b;
+ BUTTONS[b]->addWindow(winlist[i]);
+ break;
+ }
+ }
+ if(!found){
+ //No group, create a new button
+ //qDebug() << "New Button";
+ LTaskButton *but = new LTaskButton(this);
+ but->addWindow( LWinInfo(winlist[i]) );
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ but->setIconSize(QSize(this->height(), this->height()));
+ }else{
+ but->setIconSize(QSize(this->width(), this->width()));
+ }
+ this->layout()->addWidget(but);
+ BUTTONS << but;
+ }
+ }
+ updating=false; //flag that we are done updating the buttons
+}
+
+void LTaskManagerPlugin::checkWindows(){
+ timer->start();
+} \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.h b/lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.h
new file mode 100644
index 00000000..ca470da6
--- /dev/null
+++ b/lumina-desktop/panel-plugins/taskmanager/LTaskManagerPlugin.h
@@ -0,0 +1,68 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_TASK_MANAGER_PLUGIN_H
+#define _LUMINA_DESKTOP_TASK_MANAGER_PLUGIN_H
+
+// Qt includes
+#include <QWidget>
+#include <QList>
+#include <QString>
+#include <QDebug>
+#include <QTimer>
+#include <QEvent>
+
+// libLumina includes
+#include <LuminaX11.h>
+
+// Local includes
+#include "LTaskButton.h"
+#include "LWinInfo.h"
+#include "../LPPlugin.h"
+
+class LTaskManagerPlugin : public LPPlugin{
+ Q_OBJECT
+public:
+ LTaskManagerPlugin(QWidget *parent=0, QString id="taskmanager", bool horizontal=true);
+ ~LTaskManagerPlugin();
+
+private:
+ QList<LTaskButton*> BUTTONS; //to keep track of the current buttons
+ QTimer *timer;
+ bool updating; //quick flag for if it is currently working
+
+private slots:
+ void UpdateButtons();
+ void checkWindows();
+
+public slots:
+ void LocaleChange(){
+ UpdateButtons();
+ }
+ void ThemeChange(){
+ UpdateButtons();
+ }
+ void OrientationChange(){
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){ //horizontal
+ this->setSizePolicy(QSizePolicy::Expanding, QSizePolicy::Preferred);
+ this->layout()->setAlignment(Qt::AlignLeft);
+ QSize sz(this->height(), this->height());
+ for(int i=0; i<BUTTONS.length(); i++){
+ BUTTONS[i]->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ BUTTONS[i]->setIconSize(sz);
+ }
+ }else{ //vertical
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::Expanding);
+ this->layout()->setAlignment(Qt::AlignTop);
+ QSize sz(this->width(), this->width());
+ for(int i=0; i<BUTTONS.length(); i++){
+ BUTTONS[i]->setToolButtonStyle(Qt::ToolButtonTextUnderIcon);
+ BUTTONS[i]->setIconSize(sz);
+ }
+ }
+ }
+};
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/taskmanager/LWinInfo.h b/lumina-desktop/panel-plugins/taskmanager/LWinInfo.h
new file mode 100644
index 00000000..1084e6e3
--- /dev/null
+++ b/lumina-desktop/panel-plugins/taskmanager/LWinInfo.h
@@ -0,0 +1,84 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#ifndef _LUMINA_DESKTOP_WINDOW_INFO_H
+#define _LUMINA_DESKTOP_WINDOW_INFO_H
+
+// Qt includes
+#include <QString>
+#include <QPixmap>
+#include <QIcon>
+#include <QPainter>
+
+// libLumina includes
+#include <LuminaX11.h>
+#include <LuminaXDG.h>
+
+// Local includes
+#include "../../Globals.h" //For the STATES enumeration definition
+
+
+class LWinInfo{
+private:
+ WId window;
+
+public:
+ LWinInfo(WId id = 0){
+ window = id;
+ }
+ ~LWinInfo(){};
+
+ //The current window ID
+ WId windowID(){
+ return window;
+ }
+
+ //Information Retrieval
+ // Don't cache these results because they can change regularly
+ QString text(){
+ if(window==0){ return ""; }
+ QString nm = LX11::WindowVisibleIconName(window);
+ if(nm.isEmpty()){ nm = LX11::WindowIconName(window); }
+ if(nm.isEmpty()){ nm = LX11::WindowVisibleName(window); }
+ if(nm.isEmpty()){ nm = LX11::WindowName(window); }
+ return nm;
+ }
+
+ QIcon icon(){
+ if(window==0){ return QIcon(); }
+ //qDebug() << "Check for Window Icon:" << window;
+ QIcon ico = LX11::WindowIcon(window);
+ //Check for a null icon, and supply one if necessary
+ //if(ico.isNull()){ ico = LXDG::findIcon("preferences-system-windows",""); }
+ return ico;
+ }
+
+ QString Class(){
+ return LX11::WindowClass(window);
+ }
+
+ Lumina::STATES status(){
+ if(window==0){ return Lumina::NOSHOW; }
+ LX11::WINDOWSTATE ws = LX11::GetWindowState(window);
+ Lumina::STATES state;
+ switch(ws){
+ case LX11::VISIBLE:
+ state = Lumina::VISIBLE; break;
+ case LX11::INVISIBLE:
+ state = Lumina::INVISIBLE; break;
+ case LX11::ACTIVE:
+ state = Lumina::ACTIVE; break;
+ case LX11::ATTENTION:
+ state = Lumina::NOTIFICATION; break;
+ default:
+ state = Lumina::NOSHOW;
+ }
+ //qDebug() << "Window State:" << ws << state;
+ return state;
+ }
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/userbutton/LUserButton.cpp b/lumina-desktop/panel-plugins/userbutton/LUserButton.cpp
new file mode 100644
index 00000000..74509920
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/LUserButton.cpp
@@ -0,0 +1,45 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "LUserButton.h"
+#include "../../LSession.h"
+
+LUserButtonPlugin::LUserButtonPlugin(QWidget *parent, QString id, bool horizontal) : LPPlugin(parent, id, horizontal){
+ button = new QToolButton(this);
+ button->setAutoRaise(true);
+ button->setToolButtonStyle(Qt::ToolButtonTextBesideIcon);
+ button->setToolTip(QString("Quickly launch applications or open files"));
+ button->setText( SYSTEM::user() );
+ connect(button, SIGNAL(clicked()), this, SLOT(openMenu()));
+ this->layout()->setContentsMargins(0,0,0,0);
+ this->layout()->addWidget(button);
+ menu = new QMenu(this);
+ menu->setContentsMargins(1,1,1,1);
+ usermenu = new UserWidget(this);
+ connect(usermenu, SIGNAL(CloseMenu()), this, SLOT(closeMenu()) );
+ mact = new QWidgetAction(this);
+ mact->setDefaultWidget(usermenu);
+ menu->addAction(mact);
+
+ QTimer::singleShot(0,this, SLOT(OrientationChange())); //Update icons/sizes
+}
+
+LUserButtonPlugin::~LUserButtonPlugin(){
+
+}
+
+// ========================
+// PRIVATE FUNCTIONS
+// ========================
+void LUserButtonPlugin::openMenu(){
+ usermenu->UpdateMenu();
+ menu->popup(this->mapToGlobal(QPoint(0,0)));
+}
+
+void LUserButtonPlugin::closeMenu(){
+ menu->hide();
+}
+
diff --git a/lumina-desktop/panel-plugins/userbutton/LUserButton.h b/lumina-desktop/panel-plugins/userbutton/LUserButton.h
new file mode 100644
index 00000000..e6a1830d
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/LUserButton.h
@@ -0,0 +1,64 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This panel plugin is the main button that allow the user to run
+// applications or logout of the desktop
+//===========================================
+#ifndef _LUMINA_DESKTOP_USER_MENU_PLUGIN_H
+#define _LUMINA_DESKTOP_USER_MENU_PLUGIN_H
+
+// Qt includes
+#include <QMenu>
+#include <QWidgetAction>
+#include <QToolButton>
+#include <QString>
+#include <QWidget>
+
+
+// Lumina-desktop includes
+#include "../../Globals.h"
+#include "../LPPlugin.h" //main plugin widget
+
+// libLumina includes
+#include "LuminaXDG.h"
+
+#include "UserWidget.h"
+
+// PANEL PLUGIN BUTTON
+class LUserButtonPlugin : public LPPlugin{
+ Q_OBJECT
+
+public:
+ LUserButtonPlugin(QWidget *parent = 0, QString id = "userbutton", bool horizontal=true);
+ ~LUserButtonPlugin();
+
+private:
+ QMenu *menu;
+ QWidgetAction *mact;
+ UserWidget *usermenu;
+ QToolButton *button;
+
+
+
+private slots:
+ void openMenu();
+ void closeMenu();
+
+public slots:
+ void OrientationChange(){
+ if(this->layout()->direction()==QBoxLayout::LeftToRight){
+ this->setSizePolicy(QSizePolicy::Preferred, QSizePolicy::MinimumExpanding);
+ button->setIconSize( QSize(this->height(), this->height()) );
+ }else{
+ this->setSizePolicy(QSizePolicy::MinimumExpanding, QSizePolicy::Preferred);
+ button->setIconSize( QSize(this->width(), this->width()) );
+ }
+ button->setIcon( LXDG::findIcon("user-identity", ":/images/default-user.png") ); //force icon refresh
+ this->layout()->update();
+ }
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp b/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp
new file mode 100644
index 00000000..c279a2a4
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/UserItemWidget.cpp
@@ -0,0 +1,111 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "UserItemWidget.h"
+
+UserItemWidget::UserItemWidget(QWidget *parent, QString itemPath, bool isDir) : QFrame(parent){
+ createWidget();
+ //Now fill it appropriately
+ if(itemPath.endsWith(".desktop")){
+ bool ok = false;
+ XDGDesktop item = LXDG::loadDesktopFile(itemPath, ok);
+ if(ok){
+ icon->setPixmap( LXDG::findIcon(item.icon, "preferences-system-windows-actions").pixmap(30,30) );
+ name->setText( item.name );
+ icon->setWhatsThis(item.filePath);
+ }else{
+ icon->setPixmap( LXDG::findIcon("unknown","").pixmap(30,30) );
+ name->setText( itemPath.section("/",-1) );
+ icon->setWhatsThis(itemPath);
+ }
+ }else if(isDir){
+ if(itemPath.endsWith("/")){ itemPath.chop(1); }
+ icon->setPixmap( LXDG::findIcon("folder","").pixmap(30,30) );
+ name->setText( itemPath.section("/",-1) );
+ icon->setWhatsThis(itemPath);
+ }else{
+ if(itemPath.endsWith("/")){ itemPath.chop(1); }
+ icon->setPixmap( LXDG::findMimeIcon(itemPath.section("/",-1).section(".",-1)).pixmap(30,30) );
+ name->setText( itemPath.section("/",-1) );
+ icon->setWhatsThis(itemPath);
+ }
+ if(isDir && !QFile::symLinkTarget(itemPath).isEmpty()){ isDir = false; } //not a real directory - just a sym link
+ isDirectory = isDir; //save this for later
+ //Now setup the button appropriately
+ setupButton();
+}
+
+UserItemWidget::UserItemWidget(QWidget *parent, XDGDesktop item) : QFrame(parent){
+ createWidget();
+ isDirectory = false;
+ //Now fill it appropriately
+ icon->setPixmap( LXDG::findIcon(item.icon,"preferences-system-windows-actions").pixmap(30,30) );
+ name->setText( item.name );
+ icon->setWhatsThis(item.filePath);
+ //Now setup the button appropriately
+ setupButton();
+
+}
+
+UserItemWidget::~UserItemWidget(){
+ delete button;
+ delete icon;
+ delete name;
+}
+
+
+void UserItemWidget::createWidget(){
+ //Initialize the widgets
+ this->setContentsMargins(0,0,0,0);
+ button = new QToolButton(this);
+ button->setIconSize( QSize(14,14) );
+ button->setAutoRaise(true);
+ icon = new QLabel(this);
+ icon->setFixedSize( QSize(30,30) );
+ name = new QLabel(this);
+ //Add them to the layout
+ this->setLayout(new QHBoxLayout());
+ this->layout()->setContentsMargins(1,1,1,1);
+ this->layout()->addWidget(icon);
+ this->layout()->addWidget(name);
+ this->layout()->addWidget(button);
+ //Install the stylesheet
+ this->setStyleSheet("UserItemWidget{ background: transparent; border-radius: 5px;} UserItemWidget::hover{ background: rgba(255,255,255,200); border-radius: 5px; }");
+}
+
+void UserItemWidget::setupButton(){
+ if( !isDirectory && icon->whatsThis().contains("/home/") && icon->whatsThis().contains("/Desktop/")){
+ //This is a current desktop shortcut -- allow the user to remove it
+ button->setWhatsThis("remove");
+ button->setIcon( LXDG::findIcon("list-remove","") );
+ button->setToolTip(tr("Remove Shortcut"));
+ connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked()) );
+ }else if( !isDirectory && !QFile::exists( QDir::homePath()+"/Desktop/"+icon->whatsThis().section("/",-1) ) ){
+ //This file does not have a desktop shortcut yet -- allow the user to add it
+ button->setWhatsThis("add");
+ button->setIcon( LXDG::findIcon("favorites","") );
+ button->setToolTip(tr("Create Shortcut"));
+ connect(button, SIGNAL(clicked()), this, SLOT(buttonClicked()) );
+ }else{
+ //This already has a desktop shortcut -- no special actions
+ button->setVisible(false);
+ }
+}
+
+void UserItemWidget::buttonClicked(){
+ button->setVisible(false);
+ if(button->whatsThis()=="add"){
+ QFile::link(icon->whatsThis(), QDir::homePath()+"/Desktop/"+icon->whatsThis().section("/",-1) );
+ emit NewShortcut();
+ }else if(button->whatsThis()=="remove"){
+ QFile::remove(icon->whatsThis());
+ emit RemovedShortcut();
+ }
+}
+
+void UserItemWidget::ItemClicked(){
+ emit RunItem("lumina-open \""+icon->whatsThis()+"\"" );
+} \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/userbutton/UserItemWidget.h b/lumina-desktop/panel-plugins/userbutton/UserItemWidget.h
new file mode 100644
index 00000000..3a4406ac
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/UserItemWidget.h
@@ -0,0 +1,56 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This item widget manages a single file/directory
+//===========================================
+#ifndef _LUMINA_PANEL_USER_ITEM_WIDGET_H
+#define _LUMINA_PANEL_USER_ITEM_WIDGET_H
+
+#include <QFrame>
+#include <QLabel>
+#include <QToolButton>
+#include <QString>
+#include <QHBoxLayout>
+#include <QSize>
+#include <QDir>
+#include <QFile>
+#include <QMouseEvent>
+
+
+#include <LuminaXDG.h>
+
+class UserItemWidget : public QFrame{
+ Q_OBJECT
+public:
+ UserItemWidget(QWidget *parent=0, QString itemPath="", bool isDir=false);
+ UserItemWidget(QWidget *parent=0, XDGDesktop item= XDGDesktop());
+ ~UserItemWidget();
+
+private:
+ QToolButton *button;
+ QLabel *icon, *name;
+ bool isDirectory;
+
+ void createWidget();
+ void setupButton();
+
+private slots:
+ void buttonClicked();
+ void ItemClicked();
+
+protected:
+ void mouseReleaseEvent(QMouseEvent *event){
+ if(event->button() != Qt::NoButton){ ItemClicked(); }
+ }
+
+signals:
+ void NewShortcut();
+ void RemovedShortcut();
+ void RunItem(QString cmd);
+
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp b/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp
new file mode 100644
index 00000000..f3dcad38
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/UserWidget.cpp
@@ -0,0 +1,215 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+#include "UserWidget.h"
+#include "ui_UserWidget.h"
+#include "../../LSession.h"
+#include "../../AppMenu.h"
+
+UserWidget::UserWidget(QWidget* parent) : QWidget(parent), ui(new Ui::UserWidget){
+ ui->setupUi(this);
+ this->setContentsMargins(0,0,0,0);
+ sysapps = LSession::applicationMenu()->currentAppHash(); //get the raw info
+ //Setup the Icons
+ // - favorites tab
+ ui->tabWidget->setTabIcon(0, LXDG::findIcon("favorites","") );
+ ui->tabWidget->setTabText(0,"");
+ // - apps tab
+ ui->tabWidget->setTabIcon(1, LXDG::findIcon("system-run","") );
+ ui->tabWidget->setTabText(1,"");
+ // - home tab
+ ui->tabWidget->setTabIcon(2, LXDG::findIcon("user-home","") );
+ ui->tabWidget->setTabText(2,"");
+ // - config tab
+ ui->tabWidget->setTabIcon(3, LXDG::findIcon("preferences-system","") );
+ ui->tabWidget->setTabText(3,"");
+ ui->tool_fav_apps->setIcon( LXDG::findIcon("system-run","") );
+ ui->tool_fav_dirs->setIcon( LXDG::findIcon("folder","") );
+ ui->tool_fav_files->setIcon( LXDG::findIcon("document-multiple","") );
+ ui->tool_desktopsettings->setIcon( LXDG::findIcon("preferences-desktop","") );
+ ui->tool_config_screensaver->setIcon( LXDG::findIcon("preferences-desktop-screensaver","") );
+
+ //Connect the signals/slots
+ connect(ui->tool_desktopsettings, SIGNAL(clicked()), this, SLOT(openDeskSettings()) );
+ connect(ui->tool_config_screensaver, SIGNAL(clicked()), this, SLOT(openScreenSaverConfig()) );
+ connect(ui->tool_fav_apps, SIGNAL(clicked()), this, SLOT(FavChanged()) );
+ connect(ui->tool_fav_files, SIGNAL(clicked()), this, SLOT(FavChanged()) );
+ connect(ui->tool_fav_dirs, SIGNAL(clicked()), this, SLOT(FavChanged()) );
+ connect(ui->combo_app_cats, SIGNAL(currentIndexChanged(int)), this, SLOT(updateApps()) );
+ //Setup the special buttons
+ if(QFile::exists(APPSTORE)){
+ //Now load the info
+ bool ok = false;
+ XDGDesktop store = LXDG::loadDesktopFile(APPSTORE, ok);
+ if(ok){
+ ui->tool_app_store->setIcon( LXDG::findIcon(store.icon, "") );
+ ui->tool_app_store->setText( store.name );
+ connect(ui->tool_app_store, SIGNAL(clicked()), this, SLOT(openStore()) );
+ }
+ ui->tool_app_store->setVisible(ok); //availability
+ }else{
+ ui->tool_app_store->setVisible(false); //not available
+ }
+ if(QFile::exists(CONTROLPANEL)){
+ //Now load the info
+ bool ok = false;
+ XDGDesktop cpan = LXDG::loadDesktopFile(CONTROLPANEL, ok);
+ if(ok){
+ ui->tool_controlpanel->setIcon( LXDG::findIcon(cpan.icon, "") );
+ connect(ui->tool_controlpanel, SIGNAL(clicked()), this, SLOT(openControlPanel()) );
+ }
+ ui->tool_controlpanel->setVisible(ok); //availability
+ }else{
+ ui->tool_controlpanel->setVisible(false); //not available
+ }
+ if(QFile::exists(QTCONFIG)){
+ ui->tool_qtconfig->setVisible(true);
+ ui->tool_qtconfig->setIcon( LXDG::findIcon("preferences-desktop-theme","") );
+ connect(ui->tool_qtconfig, SIGNAL(clicked()), this, SLOT(openQtConfig()) );
+ }else{
+ ui->tool_qtconfig->setVisible(false);
+ }
+
+}
+
+UserWidget::~UserWidget(){
+}
+
+//===========
+// PRIVATE
+//===========
+void UserWidget::ClearScrollArea(QScrollArea *area){
+ QWidget *wgt = area->takeWidget();
+ delete wgt; //delete the widget and all children
+ area->setWidget( new QWidget() ); //create a new widget in the scroll area
+ area->widget()->setContentsMargins(0,0,0,0);
+ QVBoxLayout *layout = new QVBoxLayout;
+ layout->setSpacing(2);
+ layout->setContentsMargins(3,1,3,1);
+ layout->setDirection(QBoxLayout::TopToBottom);
+ area->widget()->setLayout(layout);
+}
+
+//============
+// PRIVATE SLOTS
+//============
+void UserWidget::UpdateMenu(){
+ ui->tabWidget->setCurrentWidget(ui->tab_fav);
+ ui->tool_fav_apps->setChecked(true);
+ ui->tool_fav_dirs->setChecked(false);
+ ui->tool_fav_files->setChecked(false);
+ cfav = 0; //favorite apps
+ updateFavItems();
+ updateHome();
+ updateAppCategories();
+ updateApps();
+}
+
+void UserWidget::LaunchItem(QString cmd){
+ if(!cmd.isEmpty()){
+ qDebug() << "Launch Application:" << cmd;
+ LSession::LaunchApplication(cmd);
+ emit CloseMenu(); //so the menu container will close
+ }
+}
+
+void UserWidget::FavChanged(){
+ //uncheck the current item for a moment
+ if(cfav==0){ ui->tool_fav_apps->setChecked(false); }
+ else if(cfav==1){ ui->tool_fav_dirs->setChecked(false); }
+ if(cfav==2){ ui->tool_fav_files->setChecked(false); }
+ //Now check what other item is now the only one checked
+ if(ui->tool_fav_apps->isChecked() && !ui->tool_fav_dirs->isChecked() && !ui->tool_fav_files->isChecked() ){
+ cfav = 0;
+ }else if(!ui->tool_fav_apps->isChecked() && ui->tool_fav_dirs->isChecked() && !ui->tool_fav_files->isChecked() ){
+ cfav = 1;
+ }else if(!ui->tool_fav_apps->isChecked() && !ui->tool_fav_dirs->isChecked() && ui->tool_fav_files->isChecked() ){
+ cfav = 2;
+ }else{
+ //Re-check the old item (something invalid)
+ ui->tool_fav_apps->setChecked(cfav==0);
+ ui->tool_fav_dirs->setChecked(cfav==1);
+ ui->tool_fav_files->setChecked(cfav==2);
+ }
+ updateFavItems();
+}
+
+void UserWidget::updateFavItems(){
+ ClearScrollArea(ui->scroll_fav);
+ QStringList items;
+ QDir homedir = QDir( QDir::homePath()+"/Desktop");
+ if(ui->tool_fav_apps->isChecked()){ items = homedir.entryList(QStringList()<<"*.desktop", QDir::Files | QDir::NoDotAndDotDot, QDir::Name); }
+ else if(ui->tool_fav_dirs->isChecked()){ items = homedir.entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name); }
+ else{
+ //Files
+ items = homedir.entryList(QDir::Files | QDir::NoDotAndDotDot, QDir::Name);
+ for(int i=0; i<items.length(); i++){
+ if(items[i].endsWith(".desktop")){ items.removeAt(i); i--; }
+ }
+ }
+ for(int i=0; i<items.length(); i++){
+ UserItemWidget *it = new UserItemWidget(ui->scroll_fav->widget(), homedir.absoluteFilePath(items[i]), ui->tool_fav_dirs->isChecked());
+ ui->scroll_fav->widget()->layout()->addWidget(it);
+ connect(it, SIGNAL(RunItem(QString)), this, SLOT(LaunchItem(QString)) );
+ connect(it, SIGNAL(NewShortcut()), this, SLOT(updateFavItems()) );
+ connect(it, SIGNAL(RemovedShortcut()), this, SLOT(updateFavItems()) );
+ }
+ static_cast<QBoxLayout*>(ui->scroll_fav->widget()->layout())->addStretch();
+}
+
+//Apps Tab
+void UserWidget::updateAppCategories(){
+ ui->combo_app_cats->clear();
+ QStringList cats = sysapps->keys();
+ cats.sort();
+ for(int i=0; i<cats.length(); i++){
+ QString name, icon;
+ if(cats[i] == "Multimedia"){ name = tr("Multimedia"); icon = "applications-multimedia"; }
+ else if(cats[i] == "Development"){ name = tr("Development"); icon = "applications-development"; }
+ else if(cats[i] == "Education"){ name = tr("Education"); icon = "applications-education"; }
+ else if(cats[i] == "Game"){ name = tr("Games"); icon = "applications-games"; }
+ else if(cats[i] == "Graphics"){ name = tr("Graphics"); icon = "applications-graphics"; }
+ else if(cats[i] == "Network"){ name = tr("Network"); icon = "applications-internet"; }
+ else if(cats[i] == "Office"){ name = tr("Office"); icon = "applications-office"; }
+ else if(cats[i] == "Science"){ name = tr("Science"); icon = "applications-science"; }
+ else if(cats[i] == "Settings"){ name = tr("Settings"); icon = "preferences-system"; }
+ else if(cats[i] == "System"){ name = tr("System"); icon = "applications-system"; }
+ else if(cats[i] == "Utility"){ name = tr("Utility"); icon = "applications-utilities"; }
+ else{ name = tr("Unsorted"); icon = "applications-other"; }
+ ui->combo_app_cats->addItem( LXDG::findIcon(icon,""), name, cats[i] );
+ }
+}
+
+void UserWidget::updateApps(){
+ if(ui->combo_app_cats->currentIndex() < 0){ return; } //no cat
+ QString cat = ui->combo_app_cats->itemData( ui->combo_app_cats->currentIndex() ).toString();
+ QList<XDGDesktop> items = sysapps->value(cat);
+ ClearScrollArea(ui->scroll_apps);
+ for(int i=0; i<items.length(); i++){
+ UserItemWidget *it = new UserItemWidget(ui->scroll_apps->widget(), items[i]);
+ ui->scroll_apps->widget()->layout()->addWidget(it);
+ connect(it, SIGNAL(RunItem(QString)), this, SLOT(LaunchItem(QString)) );
+ connect(it, SIGNAL(NewShortcut()), this, SLOT(updateFavItems()) );
+ connect(it, SIGNAL(RemovedShortcut()), this, SLOT(updateFavItems()) );
+ }
+ static_cast<QBoxLayout*>(ui->scroll_apps->widget()->layout())->addStretch();
+}
+
+//Home Tab
+void UserWidget::updateHome(){
+ ClearScrollArea(ui->scroll_home);
+ QDir homedir = QDir::home();
+ QStringList items = homedir.entryList(QDir::Dirs | QDir::NoDotAndDotDot, QDir::Name);
+ for(int i=0; i<items.length(); i++){
+ //qDebug() << "New Home subdir:" << homedir.absoluteFilePath(items[i]);
+ UserItemWidget *it = new UserItemWidget(ui->scroll_home->widget(), homedir.absoluteFilePath(items[i]), true);
+ ui->scroll_home->widget()->layout()->addWidget(it);
+ connect(it, SIGNAL(RunItem(QString)), this, SLOT(LaunchItem(QString)) );
+ connect(it, SIGNAL(NewShortcut()), this, SLOT(updateFavItems()) );
+ connect(it, SIGNAL(RemovedShortcut()), this, SLOT(updateFavItems()) );
+ }
+ static_cast<QBoxLayout*>(ui->scroll_home->widget()->layout())->addStretch();
+}
diff --git a/lumina-desktop/panel-plugins/userbutton/UserWidget.h b/lumina-desktop/panel-plugins/userbutton/UserWidget.h
new file mode 100644
index 00000000..5bc737a1
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/UserWidget.h
@@ -0,0 +1,82 @@
+//===========================================
+// Lumina-DE source code
+// Copyright (c) 2014, Ken Moore
+// Available under the 3-clause BSD license
+// See the LICENSE file for full details
+//===========================================
+// This panel plugin allows the user to quickly access user favorites and applications
+//===========================================
+#ifndef _LUMINA_PANEL_USER_BUTTON_WIDGET_H
+#define _LUMINA_PANEL_USER_BUTTON_WIDGET_H
+
+#include <QWidget>
+#include <QString>
+#include <QList>
+#include <QHash>
+#include <QVBoxLayout>
+#include <QScrollArea>
+
+#include <LuminaXDG.h>
+
+#include "UserItemWidget.h"
+
+#define APPSTORE QString("/usr/local/share/applications/softmanager.desktop")
+#define CONTROLPANEL QString("/usr/local/share/applications/pccontrol.desktop")
+#define QTCONFIG QString("/usr/local/bin/qtconfig-qt4")
+#define SSAVER QString("xscreensaver-demo")
+
+namespace Ui{
+ class UserWidget;
+};
+
+class UserWidget : public QWidget{
+ Q_OBJECT
+public:
+ UserWidget(QWidget *parent=0);
+ ~UserWidget();
+
+ void UpdateMenu();
+
+private:
+ Ui::UserWidget *ui;
+ QHash<QString, QList<XDGDesktop> > *sysapps;
+ int cfav; //current favorite category
+ void ClearScrollArea(QScrollArea *area);
+
+private slots:
+ void LaunchItem(QString cmd);
+
+ //Favorites Tab
+ void FavChanged(); //for ensuring radio-button-like behaviour
+ void updateFavItems();
+
+ //Apps Tab
+ void updateAppCategories();
+ void updateApps();
+
+ //Home Tab
+ void updateHome();
+
+ //Slots for the special buttons
+ void openStore(){
+ LaunchItem("lumina-open \""+APPSTORE+"\"");
+ }
+ void openControlPanel(){
+ LaunchItem("lumina-open \""+CONTROLPANEL+"\"");
+ }
+ void openDeskSettings(){
+ LaunchItem("lumina-config");
+ }
+ void openQtConfig(){
+ LaunchItem(QTCONFIG);
+ }
+ void openScreenSaverConfig(){
+ LaunchItem(SSAVER);
+ }
+
+signals:
+ void CloseMenu();
+
+};
+
+#endif \ No newline at end of file
diff --git a/lumina-desktop/panel-plugins/userbutton/UserWidget.ui b/lumina-desktop/panel-plugins/userbutton/UserWidget.ui
new file mode 100644
index 00000000..30625735
--- /dev/null
+++ b/lumina-desktop/panel-plugins/userbutton/UserWidget.ui
@@ -0,0 +1,385 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<ui version="4.0">
+ <class>UserWidget</class>
+ <widget class="QWidget" name="UserWidget">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>237</width>
+ <height>300</height>
+ </rect>
+ </property>
+ <property name="windowTitle">
+ <string>Form</string>
+ </property>
+ <property name="styleSheet">
+ <string notr="true">QWidget#UserWidget{background: transparent; }
+QWidget#tab_apps,#tab_fav,#tab_home,#tab_config{background: rgba(192,192,182,100); }</string>
+ </property>
+ <layout class="QVBoxLayout" name="verticalLayout">
+ <item>
+ <widget class="QTabWidget" name="tabWidget">
+ <property name="styleSheet">
+ <string notr="true"/>
+ </property>
+ <property name="currentIndex">
+ <number>0</number>
+ </property>
+ <widget class="QWidget" name="tab_fav">
+ <attribute name="title">
+ <string notr="true">Favorites</string>
+ </attribute>
+ <attribute name="toolTip">
+ <string>Favorites</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_2">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout">
+ <item>
+ <widget class="QToolButton" name="tool_fav_apps">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Favorite Applications</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_fav_dirs">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Favorite Directories</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_fav_files">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Fixed" vsizetype="Fixed">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="toolTip">
+ <string>Favorite FIles</string>
+ </property>
+ <property name="text">
+ <string notr="true"/>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="checkable">
+ <bool>true</bool>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scroll_fav">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>205</width>
+ <height>210</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_apps">
+ <attribute name="title">
+ <string notr="true">Apps</string>
+ </attribute>
+ <attribute name="toolTip">
+ <string>System Applications</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_3">
+ <item>
+ <layout class="QHBoxLayout" name="horizontalLayout_2">
+ <item>
+ <widget class="QComboBox" name="combo_app_cats">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Minimum">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="minimumSize">
+ <size>
+ <width>0</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="horizontalSpacer">
+ <property name="orientation">
+ <enum>Qt::Horizontal</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>40</width>
+ <height>20</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_app_store">
+ <property name="minimumSize">
+ <size>
+ <width>30</width>
+ <height>30</height>
+ </size>
+ </property>
+ <property name="text">
+ <string/>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ </widget>
+ </item>
+ </layout>
+ </item>
+ <item>
+ <widget class="QScrollArea" name="scroll_apps">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_2">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>96</width>
+ <height>26</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_home">
+ <attribute name="title">
+ <string notr="true">Home</string>
+ </attribute>
+ <attribute name="toolTip">
+ <string>Home</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_4">
+ <item>
+ <widget class="QScrollArea" name="scroll_home">
+ <property name="widgetResizable">
+ <bool>true</bool>
+ </property>
+ <widget class="QWidget" name="scrollAreaWidgetContents_3">
+ <property name="geometry">
+ <rect>
+ <x>0</x>
+ <y>0</y>
+ <width>96</width>
+ <height>26</height>
+ </rect>
+ </property>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <widget class="QWidget" name="tab_config">
+ <attribute name="title">
+ <string notr="true">Config</string>
+ </attribute>
+ <attribute name="toolTip">
+ <string>Desktop Preferences</string>
+ </attribute>
+ <layout class="QVBoxLayout" name="verticalLayout_5">
+ <item>
+ <widget class="QToolButton" name="tool_controlpanel">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Control Panel</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_desktopsettings">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Desktop Appearance/Plugins</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_qtconfig">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Application Appearance</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <widget class="QToolButton" name="tool_config_screensaver">
+ <property name="sizePolicy">
+ <sizepolicy hsizetype="Preferred" vsizetype="Preferred">
+ <horstretch>0</horstretch>
+ <verstretch>0</verstretch>
+ </sizepolicy>
+ </property>
+ <property name="text">
+ <string>Screensaver Settings</string>
+ </property>
+ <property name="iconSize">
+ <size>
+ <width>20</width>
+ <height>20</height>
+ </size>
+ </property>
+ <property name="toolButtonStyle">
+ <enum>Qt::ToolButtonTextBesideIcon</enum>
+ </property>
+ </widget>
+ </item>
+ <item>
+ <spacer name="verticalSpacer">
+ <property name="orientation">
+ <enum>Qt::Vertical</enum>
+ </property>
+ <property name="sizeHint" stdset="0">
+ <size>
+ <width>20</width>
+ <height>141</height>
+ </size>
+ </property>
+ </spacer>
+ </item>
+ </layout>
+ </widget>
+ </widget>
+ </item>
+ </layout>
+ </widget>
+ <resources/>
+ <connections/>
+</ui>
diff --git a/lumina-desktop/wallpapers/Lumina_Wispy_gold_1920x1080.jpg b/lumina-desktop/wallpapers/Lumina_Wispy_gold_1920x1080.jpg
new file mode 100644
index 00000000..e7b01b93
--- /dev/null
+++ b/lumina-desktop/wallpapers/Lumina_Wispy_gold_1920x1080.jpg
Binary files differ
diff --git a/lumina-desktop/wallpapers/Lumina_Wispy_green_1920x1080.jpg b/lumina-desktop/wallpapers/Lumina_Wispy_green_1920x1080.jpg
new file mode 100644
index 00000000..56bdd128
--- /dev/null
+++ b/lumina-desktop/wallpapers/Lumina_Wispy_green_1920x1080.jpg
Binary files differ
diff --git a/lumina-desktop/wallpapers/Lumina_Wispy_purple_1920x1080.jpg b/lumina-desktop/wallpapers/Lumina_Wispy_purple_1920x1080.jpg
new file mode 100644
index 00000000..b62946b7
--- /dev/null
+++ b/lumina-desktop/wallpapers/Lumina_Wispy_purple_1920x1080.jpg
Binary files differ
diff --git a/lumina-desktop/wallpapers/Lumina_Wispy_red_1920x1080.jpg b/lumina-desktop/wallpapers/Lumina_Wispy_red_1920x1080.jpg
new file mode 100644
index 00000000..456de652
--- /dev/null
+++ b/lumina-desktop/wallpapers/Lumina_Wispy_red_1920x1080.jpg
Binary files differ
bgstack15