aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKen Moore <moorekou@gmail.com>2014-10-06 07:57:49 -0400
committerKen Moore <moorekou@gmail.com>2014-10-06 07:57:49 -0400
commit9bd9f99eccc775e5fc3c1196c48a404c0c10c5e6 (patch)
treee031e5e8b0b362a33e5429fda2c18bfd4bbfa32c
parentAdd the template for the new LuminaThemes library class (not integrated into ... (diff)
parentupdate debian/changelog (diff)
downloadlumina-9bd9f99eccc775e5fc3c1196c48a404c0c10c5e6.tar.gz
lumina-9bd9f99eccc775e5fc3c1196c48a404c0c10c5e6.tar.bz2
lumina-9bd9f99eccc775e5fc3c1196c48a404c0c10c5e6.zip
Merge pull request #14 from Nanolx/master
proper prefix handling
-rw-r--r--.gitignore2
-rw-r--r--debian/changelog6
-rw-r--r--debian/libluminautils-dev.install4
-rw-r--r--debian/libluminautils1.install6
-rw-r--r--debian/lumina-config.install2
-rw-r--r--debian/lumina-core.install8
-rw-r--r--debian/lumina-fm.install6
-rw-r--r--debian/lumina-open.install2
-rw-r--r--debian/lumina-screenshot.install4
-rwxr-xr-xdebian/rules11
-rw-r--r--debian/source/format2
-rw-r--r--libLumina/LuminaOS-Linux.cpp10
-rw-r--r--libLumina/libLumina.pro20
-rw-r--r--lumina-config/lumina-config.pro11
-rw-r--r--lumina-config/main.cpp9
-rw-r--r--lumina-config/mainUI.cpp133
-rw-r--r--lumina-config/mainUI.h23
-rw-r--r--lumina-desktop/AppMenu.cpp11
-rw-r--r--lumina-desktop/Globals.h15
-rw-r--r--lumina-desktop/LDesktop.cpp43
-rw-r--r--lumina-desktop/LSession.cpp31
-rw-r--r--lumina-desktop/Lumina-DE.desktop4
-rw-r--r--lumina-desktop/SystemWindow.cpp5
-rw-r--r--lumina-desktop/lumina-desktop.pro19
-rw-r--r--lumina-desktop/main.cpp5
-rw-r--r--lumina-desktop/panel-plugins/battery/LBattery.cpp2
-rw-r--r--lumina-desktop/panel-plugins/userbutton/UserWidget.h11
-rw-r--r--lumina-fm/lumina-fm.pro15
-rw-r--r--lumina-fm/main.cpp11
-rw-r--r--lumina-open/lumina-open.pro11
-rw-r--r--lumina-open/main.cpp61
-rw-r--r--lumina-screenshot/lumina-screenshot.pro15
-rw-r--r--lumina-screenshot/main.cpp9
-rw-r--r--lumina.pro6
-rwxr-xr-xmake-global-h.sh7
35 files changed, 287 insertions, 253 deletions
diff --git a/.gitignore b/.gitignore
new file mode 100644
index 00000000..629d4dd3
--- /dev/null
+++ b/.gitignore
@@ -0,0 +1,2 @@
+global.h
+*.qm
diff --git a/debian/changelog b/debian/changelog
index f54fa6fe..d8282f03 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+lumina-desktop (0.6.3.99-1nano) unstable; urgency=low
+
+ * new GIT snapshot
+
+ -- Christopher Roy Bratusek <nano@jpberlin.de> Sun, 05 Oct 2014 20:18:23 +0200
+
lumina-desktop (0.6.2.14-1nano) unstable; urgency=low
* Initial release
diff --git a/debian/libluminautils-dev.install b/debian/libluminautils-dev.install
index d3a27604..b205e6c3 100644
--- a/debian/libluminautils-dev.install
+++ b/debian/libluminautils-dev.install
@@ -1,2 +1,2 @@
-usr/local/lib/libLuminaUtils.so
-usr/local/include/*.h
+usr/lib/libLuminaUtils.so
+usr/include/*.h
diff --git a/debian/libluminautils1.install b/debian/libluminautils1.install
index 49146ecf..91a71aac 100644
--- a/debian/libluminautils1.install
+++ b/debian/libluminautils1.install
@@ -1,3 +1,3 @@
-usr/local/lib/libLuminaUtils.so.1
-usr/local/lib/libLuminaUtils.so.1.0
-usr/local/lib/libLuminaUtils.so.1.0.0
+usr/lib/libLuminaUtils.so.1
+usr/lib/libLuminaUtils.so.1.0
+usr/lib/libLuminaUtils.so.1.0.0
diff --git a/debian/lumina-config.install b/debian/lumina-config.install
index f56549f5..4ed57486 100644
--- a/debian/lumina-config.install
+++ b/debian/lumina-config.install
@@ -1 +1 @@
-usr/local/bin/lumina-config
+usr/bin/lumina-config
diff --git a/debian/lumina-core.install b/debian/lumina-core.install
index 5ccc752e..093cee7f 100644
--- a/debian/lumina-core.install
+++ b/debian/lumina-core.install
@@ -1,5 +1,5 @@
-usr/local/bin/Lumina-DE
-usr/local/share/pixmaps/Lumina-DE.png
-usr/local/share/Lumina-DE/
-usr/local/share/wallpapers/Lumina-DE/
+usr/bin/Lumina-DE
+usr/share/pixmaps/Lumina-DE.png
+usr/share/Lumina-DE/
+usr/share/wallpapers/Lumina-DE/
usr/share/xsessions/Lumina-DE.desktop
diff --git a/debian/lumina-fm.install b/debian/lumina-fm.install
index 1dc751d3..b0e21dbd 100644
--- a/debian/lumina-fm.install
+++ b/debian/lumina-fm.install
@@ -1,3 +1,3 @@
-usr/local/bin/lumina-fm
-usr/local/share/pixmaps/Insight-FileManager.png
-usr/local/share/applications/lumina-fm.desktop
+usr/bin/lumina-fm
+usr/share/pixmaps/Insight-FileManager.png
+usr/share/applications/lumina-fm.desktop
diff --git a/debian/lumina-open.install b/debian/lumina-open.install
index a4a8e633..401cd57a 100644
--- a/debian/lumina-open.install
+++ b/debian/lumina-open.install
@@ -1 +1 @@
-usr/local/bin/lumina-open
+usr/bin/lumina-open
diff --git a/debian/lumina-screenshot.install b/debian/lumina-screenshot.install
index 41ade964..2b426b55 100644
--- a/debian/lumina-screenshot.install
+++ b/debian/lumina-screenshot.install
@@ -1,2 +1,2 @@
-usr/local/bin/lumina-screenshot
-usr/local/share/applications/lumina-screenshot.desktop
+usr/bin/lumina-screenshot
+usr/share/applications/lumina-screenshot.desktop
diff --git a/debian/rules b/debian/rules
index af0d1ff9..e0bb817b 100755
--- a/debian/rules
+++ b/debian/rules
@@ -8,17 +8,14 @@ export DEB_BUILD_MAINT_OPTIONS = hardening=+all
export DEB_CFLAGS_MAINT_APPEND = -Wall -pedantic
export DEB_LDFLAGS_MAINT_APPEND = -Wl,--as-needed
+DEB_PREF = $(shell gcc -print-multiarch)
+USER_QMAKE_FLAGS = PREFIX=/usr LIBPREFIX=/usr/lib/$(DEB_PEF)
+
%:
dh $@
build:
- qmake-qt4
- (cd libLumina && qmake-qt4)
- (cd lumina-config && qmake-qt4)
- (cd lumina-desktop && qmake-qt4)
- (cd lumina-fm && qmake-qt4)
- (cd lumina-open && qmake-qt4)
- (cd lumina-screenshot && qmake-qt4)
+ qmake-qt4 $(USER_QMAKE_FLAGS)
override_dh_auto_clean:
-$(MAKE) distclean
diff --git a/debian/source/format b/debian/source/format
index 163aaf8d..af745b31 100644
--- a/debian/source/format
+++ b/debian/source/format
@@ -1 +1 @@
-3.0 (quilt)
+3.0 (git)
diff --git a/libLumina/LuminaOS-Linux.cpp b/libLumina/LuminaOS-Linux.cpp
index bdd16fac..acece864 100644
--- a/libLumina/LuminaOS-Linux.cpp
+++ b/libLumina/LuminaOS-Linux.cpp
@@ -20,7 +20,7 @@ QString LOS::SysPrefix(){ return "/usr/"; } //Prefix for system
//OS-specific application shortcuts (*.desktop files)
QString LOS::ControlPanelShortcut(){ return ""; } //system control panel
QString LOS::AppStoreShortcut(){ return ""; } //graphical app/pkg manager
-QString LOS::QtConfigShortcut(){ return "/usr/bin/qtconfig-qt4"; } //qtconfig binary (NOT *.desktop file)
+QString LOS::QtConfigShortcut(){ return LOS::AppPrefix() + "/bin/qtconfig-qt4"; } //qtconfig binary (NOT *.desktop file)
// ==== ExternalDevicePaths() ====
QStringList LOS::ExternalDevicePaths(){
@@ -122,12 +122,12 @@ void LOS::changeAudioVolume(int percentdiff){
//Check if a graphical audio mixer is installed
bool LOS::hasMixerUtility(){
- return QFile::exists("/usr/bin/pavucontrol");
+ return QFile::exists(LOS::AppPrefix() + "bin/pavucontrol");
}
//Launch the graphical audio mixer utility
void LOS::startMixerUtility(){
- QProcess::startDetached("/usr/bin/pavucontrol");
+ QProcess::startDetached(LOS::AppPrefix() + "bin/pavucontrol");
}
//Check for user system permission (shutdown/restart)
@@ -150,7 +150,7 @@ bool LOS::hasBattery(){
QString my_status = LUtils::getCmdOutput("acpi -b").join("");
bool no_battery = my_status.contains("No support");
if (no_battery) return false;
- return true;
+ return true;
}
//Battery Charge Level
@@ -173,7 +173,7 @@ int LOS::batteryCharge(){ //Returns: percent charge (0-100), anything outside th
// these include "Unknown, Full and No support.
// However, it seems just one status is returned when running
// on battery and that is "Discharging". So if the value we get
-// is NOT Discharging then we assume the batter yis charging.
+// is NOT Discharging then we assume the battery is charging.
bool LOS::batteryIsCharging(){
QString my_status = LUtils::getCmdOutput("acpi -b").join("");
bool discharging = my_status.contains("Discharging");
diff --git a/libLumina/libLumina.pro b/libLumina/libLumina.pro
index 45a310b7..72fa6f6c 100644
--- a/libLumina/libLumina.pro
+++ b/libLumina/libLumina.pro
@@ -2,7 +2,15 @@
QT += core
TARGET=LuminaUtils
-target.path = /usr/local/lib
+
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+
+isEmpty(LIBPREFIX) {
+ LIBPREFIX = $$PREFIX/lib
+}
+target.path = $$LIBPREFIX
DESTDIR= $$_PRO_FILE_PWD_/
@@ -17,7 +25,7 @@ HEADERS += LuminaXDG.h \
SOURCES += LuminaXDG.cpp \
LuminaUtils.cpp \
- LuminaX11.cpp \
+ LuminaX11.cpp \
LuminaOS-FreeBSD.cpp \
LuminaOS-DragonFly.cpp \
LuminaOS-OpenBSD.cpp \
@@ -25,16 +33,16 @@ SOURCES += LuminaXDG.cpp \
LuminaOS-kFreeBSD.cpp
# new OS support can be added here
-INCLUDEPATH += /usr/local/include
+INCLUDEPATH += $$PREFIX/include
LIBS += -lX11 -lXrender -lXcomposite
-include.path=/usr/local/include/
+include.path=$$PREFIX/include/
include.files=LuminaXDG.h \
LuminaUtils.h \
LuminaX11.h \
LuminaOS.h
-INSTALLS += target include
+INSTALLS += target include
-QMAKE_LIBDIR = /usr/local/lib/qt4 /usr/local/lib
+QMAKE_LIBDIR = $$LIBPREFIX/qt4 $$LIBPREFIX
diff --git a/lumina-config/lumina-config.pro b/lumina-config/lumina-config.pro
index 01203a36..ae063bed 100644
--- a/lumina-config/lumina-config.pro
+++ b/lumina-config/lumina-config.pro
@@ -2,7 +2,10 @@
QT += core gui
TARGET = lumina-config
-target.path = /usr/local/bin
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+target.path = $$PREFIX/bin
TEMPLATE = app
@@ -22,7 +25,7 @@ FORMS += mainUI.ui \
# RESOURCES+= lumina-config.qrc
-INCLUDEPATH += ../libLumina /usr/local/include
+INCLUDEPATH += ../libLumina $$PREFIX/include
LIBS += -L../libLumina -lLuminaUtils
freebsd-* {
@@ -104,7 +107,7 @@ TRANSLATIONS = i18n/lumina-config_af.ts \
i18n/lumina-config_zh_TW.ts \
i18n/lumina-config_zu.ts
-dotrans.path=/usr/local/share/Lumina-DE/i18n/
-dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/Lumina-DE/i18n/
+dotrans.path=$$PREFIX/share/Lumina-DE/i18n/
+dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$$PREFIX/share/Lumina-DE/i18n/
INSTALLS += target dotrans
diff --git a/lumina-config/main.cpp b/lumina-config/main.cpp
index d1cb2004..65f2bf08 100644
--- a/lumina-config/main.cpp
+++ b/lumina-config/main.cpp
@@ -8,10 +8,7 @@
#include <QFile>
#include "mainUI.h"
-
-#ifndef PREFIX
-#define PREFIX QString("/usr/local")
-#endif
+#include "../global.h"
int main(int argc, char ** argv)
{
@@ -25,12 +22,12 @@ int main(int argc, char ** argv)
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
+
if ( ! QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-config_" + langCode + ".qm" ) ) langCode.truncate(langCode.indexOf("_"));
translator.load( QString("lumina-config_") + langCode, PREFIX + "/share/i18n/Lumina-DE/" );
a.installTranslator( &translator );
qDebug() << "Locale:" << langCode;
-
+
MainUI w;
QObject::connect(&a, SIGNAL(messageReceived(const QString&)), &w, SLOT(slotSingleInstance()) );
diff --git a/lumina-config/mainUI.cpp b/lumina-config/mainUI.cpp
index a29de699..cd3ae0a9 100644
--- a/lumina-config/mainUI.cpp
+++ b/lumina-config/mainUI.cpp
@@ -8,12 +8,13 @@
#include "ui_mainUI.h" //the designer *.ui file
#include <LuminaOS.h>
+#include "../global.h"
MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){
ui->setupUi(this); //load the designer file
this->setWindowIcon( LXDG::findIcon("preferences-desktop-display","") );
PINFO = new LPlugins(); //load the info class
-
+
//Be careful about the QSettings setup, it must match the lumina-desktop setup
QSettings::setPath(QSettings::NativeFormat, QSettings::UserScope, QDir::homePath()+"/.lumina");
settings = new QSettings( QSettings::UserScope, "LuminaDE", "desktopsettings", this);
@@ -27,7 +28,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){
ui->spin_screen->setValue(desktop->primaryScreen()+1); //have the current screen auto-selected
//qDebug() << "Number of Screens:" << desktop->screenCount();
sysApps = LXDG::sortDesktopNames( LXDG::systemDesktopFiles() );
-
+
//Now finish setting up the UI
setupIcons();
setupMenus();
@@ -44,7 +45,7 @@ MainUI::MainUI() : QMainWindow(), ui(new Ui::MainUI()){
}
MainUI::~MainUI(){
-
+
}
void MainUI::slotSingleInstance(){
@@ -59,7 +60,7 @@ void MainUI::slotSingleInstance(){
//================
void MainUI::setupIcons(){
//Pull all the icons from the current theme using libLumina (LXDG)
-
+
//General UI
ui->actionDesktop->setIcon( LXDG::findIcon("preferences-desktop-wallpaper","") );
ui->actionPanels->setIcon( LXDG::findIcon("configure-toolbars","") );
@@ -67,14 +68,14 @@ void MainUI::setupIcons(){
ui->actionShortcuts->setIcon( LXDG::findIcon("configure-shortcuts","") );
ui->actionDefaults->setIcon( LXDG::findIcon("preferences-desktop-filetype-association","") );
ui->actionSession->setIcon( LXDG::findIcon("preferences-system-session-services","") );
- ui->push_save->setIcon( LXDG::findIcon("document-save","") );
-
-
+ ui->push_save->setIcon( LXDG::findIcon("document-save","") );
+
+
//Desktop Page
ui->tool_desk_addbg->setIcon( LXDG::findIcon("list-add","") );
ui->tool_desk_rmbg->setIcon( LXDG::findIcon("list-remove","") );
ui->tool_desk_addplug->setIcon( LXDG::findIcon("list-add","") );
-
+
//Panels Page
ui->tool_panel1_add->setIcon( LXDG::findIcon("list-add","") );
ui->tool_panel1_rm->setIcon( LXDG::findIcon("list-remove","") );
@@ -101,23 +102,23 @@ void MainUI::setupIcons(){
ui->tool_menu_up->setIcon( LXDG::findIcon("go-up","") );
ui->tool_menu_dn->setIcon( LXDG::findIcon("go-down","") );
ui->tool_menu_findterm->setIcon( LXDG::findIcon("system-search","") );
-
+
//Shortcuts Page
ui->tool_shortcut_set->setIcon( LXDG::findIcon("input-keyboard","") );
ui->tool_shortcut_clear->setIcon( LXDG::findIcon("edit-clear","") );
-
+
//Defaults Page
ui->tool_defaults_addextension->setIcon( LXDG::findIcon("list-add","") );
ui->tool_defaults_addgroup->setIcon( LXDG::findIcon("list-add","") );
ui->tool_defaults_clear->setIcon( LXDG::findIcon("edit-clear","") );
ui->tool_defaults_set->setIcon( LXDG::findIcon("system-run","") );
-
+
//Session Page
ui->tool_session_rmapp->setIcon( LXDG::findIcon("list-remove","") );
ui->tool_session_addapp->setIcon( LXDG::findIcon("system-run","") );
ui->tool_session_addbin->setIcon( LXDG::findIcon("system-search","") );
ui->tool_session_addfile->setIcon( LXDG::findIcon("run-build-file","") );
-
+
}
void MainUI::setupConnections(){
@@ -130,7 +131,7 @@ void MainUI::setupConnections(){
connect(ui->actionSession, SIGNAL(triggered(bool)), this, SLOT( slotChangePage(bool)) );
connect(ui->push_save, SIGNAL(clicked()), this, SLOT(saveCurrentSettings()) );
connect(ui->spin_screen, SIGNAL(valueChanged(int)), this, SLOT(slotChangeScreen()) );
-
+
//Desktop Page
connect(ui->combo_desk_plugs, SIGNAL(currentIndexChanged(int)), this, SLOT(deskplugchanged()) );
connect(ui->combo_desk_bg, SIGNAL(currentIndexChanged(int)), this, SLOT(deskbgchanged()) );
@@ -139,7 +140,7 @@ void MainUI::setupConnections(){
connect(ui->tool_desk_addbg, SIGNAL(clicked()), this, SLOT(deskbgadded()) );
connect(ui->tool_desk_rmbg, SIGNAL(clicked()), this, SLOT(deskbgremoved()) );
connect(ui->spin_desk_min, SIGNAL(valueChanged(int)), this, SLOT(desktimechanged()) );
-
+
//Panels Page
connect(ui->tool_panel1_add,SIGNAL(clicked()), this, SLOT(addpanel1()) );
connect(ui->tool_panel2_add,SIGNAL(clicked()), this, SLOT(addpanel2()) );
@@ -170,18 +171,18 @@ void MainUI::setupConnections(){
connect(ui->tool_menu_findterm, SIGNAL(clicked()), this, SLOT(findmenuterminal()) );
connect(ui->list_menu, SIGNAL(currentRowChanged(int)), this, SLOT(checkmenuicons()) );
connect(ui->line_menu_term, SIGNAL(textChanged(QString)), this, SLOT(checkmenuicons()) );
-
+
//Shortcuts Page
connect(ui->tool_shortcut_clear, SIGNAL(clicked()), this, SLOT(clearKeyBinding()) );
connect(ui->tool_shortcut_set, SIGNAL(clicked()), this, SLOT(getKeyPress()) );
-
+
//Defaults Page
connect(ui->tool_defaults_addextension, SIGNAL(clicked()), this, SLOT(adddefaultextension()) );
connect(ui->tool_defaults_addgroup, SIGNAL(clicked()), this, SLOT(adddefaultgroup()) );
connect(ui->tool_defaults_clear, SIGNAL(clicked()), this, SLOT(cleardefaultitem()) );
connect(ui->tool_defaults_set, SIGNAL(clicked()), this, SLOT(setdefaultitem()) );
connect(ui->tree_defaults, SIGNAL(itemSelectionChanged()), this, SLOT(checkdefaulticons()) );
-
+
//Session Page
connect(ui->tool_session_addapp, SIGNAL(clicked()), this, SLOT(addsessionstartapp()) );
connect(ui->tool_session_addbin, SIGNAL(clicked()), this, SLOT(addsessionstartbin()) );
@@ -201,13 +202,13 @@ void MainUI::setupMenus(){
//Desktop Plugin Menu
ui->combo_desk_plugs->clear();
QStringList plugs = PINFO->desktopPlugins();
- for(int i=0; i<plugs.length(); i++){
+ for(int i=0; i<plugs.length(); i++){
LPI info = PINFO->desktopPluginInfo(plugs[i]);
ui->combo_desk_plugs->addItem( LXDG::findIcon(info.icon,""), info.name, plugs[i]);
}
ui->tool_desk_addplug->setEnabled(!plugs.isEmpty());
deskplugchanged(); //make sure it loads the right info
-
+
//Panel locations
ui->combo_panel1_loc->clear();
ui->combo_panel2_loc->clear();
@@ -231,8 +232,8 @@ void MainUI::setupMenus(){
for(int i=0; i<fbstyles.length(); i++){
ui->combo_session_wtheme->addItem(fbstyles[i], fbdir.absoluteFilePath(fbstyles[i]));
}
-
-
+
+
}
int MainUI::currentDesktop(){
@@ -264,7 +265,7 @@ QString MainUI::getNewPanelPlugin(){
bool ok = false;
QString sel = QInputDialog::getItem(this, tr("New Panel Plugin"), tr("Add Plugin:"), names, 0, false, &ok);
if(ok && !sel.isEmpty()){
- out = plugs[ names.indexOf(sel) ];
+ out = plugs[ names.indexOf(sel) ];
}
return out;
}
@@ -283,7 +284,7 @@ XDGDesktop MainUI::getSysApp(){
AppDialog dlg(this, sysApps);
dlg.exec();
return dlg.appselected;
-
+
}
//Convert to/from fluxbox key codes
@@ -314,7 +315,7 @@ QString MainUI::fluxToDispKeys(QString in){
//in.replace("Insert", "Ins"); //the "Insert" is better looking
in.replace("XF86AudioRaiseVolume", "Volume Up"); //multimedia key
in.replace("XF86AudioLowerVolume", "Volume Down"); //multimedia key
- return in;
+ return in;
}
//Read/overwrite a text file
@@ -341,7 +342,7 @@ bool MainUI::overwriteFile(QString path, QStringList contents){
file.close();
return true;
}
- return false;
+ return false;
}
//================
@@ -361,7 +362,7 @@ void MainUI::slotChangePage(bool enabled){
ui->actionSession->setChecked(ui->stackedWidget->currentWidget()==ui->page_session);
showScreen = (ui->actionDesktop->isChecked() || ui->actionPanels->isChecked());
//Ask if they want to reset any changes on the current page
-
+
}else{
//uncheck the button associated with the currently open page
if(ui->stackedWidget->currentWidget()==ui->page_desktop){ ui->actionDesktop->setChecked(false); }
@@ -380,7 +381,7 @@ void MainUI::slotChangePage(bool enabled){
}
ui->group_screen->setVisible(showScreen && (ui->spin_screen->maximum()>1) );
if(ui->page_panels->isVisible()){ checkpanels(); }
-
+
}
void MainUI::slotChangeScreen(){
@@ -399,7 +400,7 @@ void MainUI::slotChangeScreen(){
void MainUI::saveAndQuit(){
saveCurrentSettings();
- this->close();
+ this->close();
}
//General Utility Functions
@@ -410,7 +411,7 @@ void MainUI::loadCurrentSettings(bool screenonly){
int cdesk = currentDesktop();
QString DPrefix = "desktop-"+QString::number(cdesk)+"/";
bool primary = (desktop->screenGeometry(cdesk).x()==0);
-
+
//Desktop Page
QStringList bgs = settings->value(DPrefix+"background/filelist", QStringList()<<"default").toStringList();
ui->combo_desk_bg->clear();
@@ -424,7 +425,7 @@ void MainUI::loadCurrentSettings(bool screenonly){
ui->spin_desk_min->setValue( settings->value(DPrefix+"background/minutesToChange", 5).toInt() );
desktimechanged(); //ensure the display gets updated (in case the radio selection did not change);
ui->label_desk_res->setText( tr("Screen Resolution:")+"\n"+QString::number(desktop->screenGeometry(cdesk).width())+"x"+QString::number(desktop->screenGeometry(cdesk).height()) );
-
+
//Panels Page
int panels = settings->value(DPrefix+"panels",-1).toInt();
if(panels==-1 && primary){ panels=1; }
@@ -499,8 +500,8 @@ void MainUI::loadCurrentSettings(bool screenonly){
ui->label_panel2_sample->setStyleSheet("background: rgba(255,255,255,160)");
}
checkpanels(); //make sure buttons are updated
-
-
+
+
if(!screenonly){
// Menu Page
//Default terminal binary
@@ -537,13 +538,13 @@ void MainUI::loadCurrentSettings(bool screenonly){
}
//Shortcuts Page
if(!screenonly){ loadKeyboardShortcuts(); }
-
+
//Defaults Page
if(!screenonly){ loadDefaultSettings(); }
-
+
//Session Page
if(!screenonly){ loadSessionSettings(); }
-
+
//Now disable the save button since nothing has changed yet
loading = false;
moddesk = modpan =false;
@@ -568,7 +569,7 @@ void MainUI::saveCurrentSettings(bool screenonly){
settings->setValue(DPrefix+"background/filelist", bgs);
settings->setValue(DPrefix+"background/minutesToChange", ui->spin_desk_min->value());
}
-
+
// Panels Page
if(modpan){
settings->setValue(DPrefix+"panels", panelnumber);
@@ -586,7 +587,7 @@ void MainUI::saveCurrentSettings(bool screenonly){
plugs << ui->list_panel1_plugins->item(i)->whatsThis();
}
settings->setValue(PPrefix+"pluginlist",plugs);
-
+
}else{
//Clear that panel's saved settings
QStringList keys = settings->allKeys().filter("panel"+QString::number(currentDesktop())+".0/");
@@ -622,22 +623,22 @@ void MainUI::saveCurrentSettings(bool screenonly){
}
settings->setValue("menu/itemlist", items);
}
-
+
//Shortcuts page
if(modshort && !screenonly){
saveKeyboardShortcuts();
}
-
+
//Defaults page
if(moddef && !screenonly){
saveDefaultSettings();
}
-
+
//Session Page
if(modses && !screenonly){
saveSessionSettings();
}
-
+
//All done - make sure the changes get saved to file right now
settings->sync();
appsettings->sync();
@@ -692,7 +693,7 @@ void MainUI::deskbgchanged(){
ui->radio_desk_multi->setEnabled(true);
ui->spin_desk_min->setEnabled(ui->radio_desk_multi->isChecked());
}
-
+
//Disable the bg remove button if no backgrounds loaded
ui->tool_desk_rmbg->setEnabled(ui->combo_desk_bg->count()>0);
}
@@ -711,7 +712,7 @@ void MainUI::deskbgremoved(){
void MainUI::deskbgadded(){
//Prompt the user to find an image file to use for a background
- QString dir = "/usr/local/share/wallpapers/Lumina-DE";
+ QString dir = PREFIX + "/share/wallpapers/Lumina-DE";
if( !QFile::exists(dir) ){ dir = QDir::homePath(); }
QStringList bgs = QFileDialog::getOpenFileNames(this, tr("Find Background Image(s)"), dir, "Images (*.png *.xpm *.jpg)");
if(bgs.isEmpty()){ return; }
@@ -756,7 +757,7 @@ void MainUI::addpanel1(){
void MainUI::addpanel2(){
ui->toolBox_panel2->setVisible(true);
- checkpanels();
+ checkpanels();
ui->push_save->setEnabled(true);
modpan = true;
panelnumber = 2;
@@ -764,7 +765,7 @@ void MainUI::addpanel2(){
void MainUI::rmpanel1(){
ui->toolBox_panel1->setVisible(false);
- checkpanels();
+ checkpanels();
ui->push_save->setEnabled(true);
modpan = true;
panelnumber = 0;
@@ -772,7 +773,7 @@ void MainUI::rmpanel1(){
void MainUI::rmpanel2(){
ui->toolBox_panel2->setVisible(false);
- checkpanels();
+ checkpanels();
ui->push_save->setEnabled(true);
modpan = true;
panelnumber = 1;
@@ -800,7 +801,7 @@ void MainUI::checkpanels(){
if(ui->tool_panel2_add->isVisible()){ panelnumber = 1; }
else{panelnumber = 2; }
}
-
+
}
void MainUI::adjustpanel1(){
@@ -839,7 +840,7 @@ void MainUI::adjustpanel2(){
if(!loading){ ui->push_save->setEnabled(true); modpan = true; }
}
-
+
void MainUI::getpanel1color(){
QString color = getColorStyle(ui->label_panel1_sample->whatsThis());
if(color.isEmpty()){ return; } //nothing selected
@@ -909,7 +910,7 @@ void MainUI::uppanel1plugin(){
void MainUI::uppanel2plugin(){
int row = ui->list_panel2_plugins->currentRow();
if( row <= 0){ return; }
- ui->list_panel2_plugins->insertItem(row-1, ui->list_panel2_plugins->takeItem(row));
+ ui->list_panel2_plugins->insertItem(row-1, ui->list_panel2_plugins->takeItem(row));
ui->list_panel2_plugins->setCurrentRow(row-1);
if(!loading){ ui->push_save->setEnabled(true); modpan = true; }
}
@@ -925,7 +926,7 @@ void MainUI::dnpanel1plugin(){
void MainUI::dnpanel2plugin(){
int row = ui->list_panel2_plugins->currentRow();
if( row < 0 || row >= (ui->list_panel2_plugins->count()-1) ){ return; }
- ui->list_panel2_plugins->insertItem(row+1, ui->list_panel2_plugins->takeItem(row));
+ ui->list_panel2_plugins->insertItem(row+1, ui->list_panel2_plugins->takeItem(row));
ui->list_panel2_plugins->setCurrentRow(row+1);
if(!loading){ ui->push_save->setEnabled(true); modpan = true; }
}
@@ -992,11 +993,11 @@ void MainUI::downmenuplugin(){
}
void MainUI::findmenuterminal(){
- QString chkpath = "/usr/local/bin";
+ QString chkpath = PREFIX + "/bin";
if(!QFile::exists(chkpath)){ chkpath = QDir::homePath(); }
QString bin = QFileDialog::getOpenFileName(this, tr("Set Default Terminal Application"), chkpath, tr("Application Binaries (*)") );
if( bin.isEmpty() || !QFile::exists(bin) ){ return; } //cancelled
- if( !QFileInfo(bin).isExecutable() ){
+ if( !QFileInfo(bin).isExecutable() ){
QMessageBox::warning(this, tr("Invalid Binary"), tr("The selected file is not executable!"));
return;
}
@@ -1009,7 +1010,7 @@ void MainUI::checkmenuicons(){
ui->tool_menu_up->setEnabled( ui->list_menu->currentRow() > 0 );
ui->tool_menu_dn->setEnabled( ui->list_menu->currentRow() < (ui->list_menu->count()-1) );
ui->tool_menu_rm->setEnabled( ui->list_menu->currentRow() >=0 );
- if(settings->value("default-terminal","").toString()!=ui->line_menu_term->text()){
+ if(settings->value("default-terminal","").toString()!=ui->line_menu_term->text()){
ui->push_save->setEnabled(true);
modmenu = true;
}
@@ -1060,7 +1061,7 @@ void MainUI::saveKeyboardShortcuts(){
QTreeWidgetItem *it = ui->tree_shortcut->topLevelItem(i);
current << it->whatsThis(1)+" :"+it->whatsThis(0); //Full Fluxbox command line
}
-
+
QStringList info = readFile(QDir::homePath()+"/.lumina/fluxbox-keys");
for(int i=0; i<info.length(); i++){
if(info[i].isEmpty() || info[i].startsWith("#") || info[i].startsWith("!")){ continue; }
@@ -1202,7 +1203,7 @@ void MainUI::adddefaultgroup(){
QString name = QInputDialog::getText(this, tr("New Application Group"), tr("Name:"), QLineEdit::Normal, "", &ok);
if(name.isEmpty() || !ok){ return; } //cancelled
//Make sure that name is not already taken
-
+
//Add it as a new top-level item
ui->tree_defaults->addTopLevelItem( new QTreeWidgetItem( QStringList() << name << "" ) );
ui->push_save->setEnabled(true);
@@ -1219,7 +1220,7 @@ void MainUI::adddefaultextension(){
QString name = QInputDialog::getText(this, tr("New File Extension"), tr("Extension:"), QLineEdit::Normal, "", &ok);
if(name.isEmpty() || !ok){ return; } //cancelled
//Make sure that name is not already taken
-
+
//Add it as a new child of this group item
it->addChild( new QTreeWidgetItem( QStringList() << name << "" ) );
ui->push_save->setEnabled(true);
@@ -1273,7 +1274,7 @@ void MainUI::checkdefaulticons(){
if(it!=0){
if(it->text(0)=="Uncategorized"){
ui->tool_defaults_set->setEnabled(false);
- ui->tool_defaults_clear->setEnabled(false);
+ ui->tool_defaults_clear->setEnabled(false);
}
}
}
@@ -1297,19 +1298,19 @@ void MainUI::loadSessionSettings(){
index = ui->combo_session_wfocus->findData(val);
if(index<0){ index = 0;} //use the default
ui->combo_session_wfocus->setCurrentIndex(index);
-
+
//Do the window theme
val = FB.filter("session.styleFile:").join("").section(":",1,1).simplified();
//qDebug() << "Window Theme:" << val;
index = ui->combo_session_wtheme->findData(val);
if(index<0){ index = 0;} //use the default
ui->combo_session_wtheme->setCurrentIndex(index);
-
+
//Now the number of workspaces
val = FB.filter("session.screen0.workspaces:").join("").section(":",1,1).simplified();
//qDebug() << "Number of Workspaces:" << val;
if(!val.isEmpty()){ ui->spin_session_wkspaces->setValue(val.toInt()); }
-
+
//Now do the startup applications
QStringList STARTUP = readFile(QDir::homePath()+"/.lumina/startapps");
ui->list_session_start->clear();
@@ -1338,12 +1339,12 @@ void MainUI::loadSessionSettings(){
ui->list_session_start->addItem(it);
}
}
-
+
//Now do the general session options
ui->check_session_numlock->setChecked( sessionsettings->value("EnableNumlock", true).toBool() );
ui->check_session_playloginaudio->setChecked( sessionsettings->value("PlayStartupAudio",true).toBool() );
ui->check_session_playlogoutaudio->setChecked( sessionsettings->value("PlayLogoutAudio",true).toBool() );
-
+
sessionstartchanged(); //make sure to update buttons
}
@@ -1381,7 +1382,7 @@ void MainUI::saveSessionSettings(){
}
ok = overwriteFile(QDir::homePath()+"/.lumina/startapps", STARTUP);
if(!ok){ qDebug() << "Warning: Could not save ~/.lumina/startapps"; }
-
+
//Now do the general session options
sessionsettings->setValue("EnableNumlock", ui->check_session_numlock->isChecked());
sessionsettings->setValue("PlayStartupAudio", ui->check_session_playloginaudio->isChecked());
@@ -1406,11 +1407,11 @@ void MainUI::addsessionstartapp(){
}
void MainUI::addsessionstartbin(){
- QString chkpath = "/usr/local/bin";
+ QString chkpath = PREFIX + "/bin";
if(!QFile::exists(chkpath)){ chkpath = QDir::homePath(); }
QString bin = QFileDialog::getOpenFileName(this, tr("Select Binary"), chkpath, tr("Application Binaries (*)") );
if( bin.isEmpty() || !QFile::exists(bin) ){ return; } //cancelled
- if( !QFileInfo(bin).isExecutable() ){
+ if( !QFileInfo(bin).isExecutable() ){
QMessageBox::warning(this, tr("Invalid Binary"), tr("The selected file is not executable!"));
return;
}
@@ -1448,7 +1449,7 @@ void MainUI::sessionthemechanged(){
}else{
ui->label_session_wpreview->setText(tr("No Preview Available"));
}
- sessionoptchanged();
+ sessionoptchanged();
}
void MainUI::sessionstartchanged(){
diff --git a/lumina-config/mainUI.h b/lumina-config/mainUI.h
index 24e7f72c..28e38984 100644
--- a/lumina-config/mainUI.h
+++ b/lumina-config/mainUI.h
@@ -26,8 +26,9 @@
#include "LPlugins.h"
#include "KeyCatch.h"
#include "AppDialog.h"
+#include "../global.h"
-#define DEFAULTBG QString("/usr/local/share/Lumina-DE/desktop-background.jpg")
+#define DEFAULTBG QString(PREFIX + "/share/Lumina-DE/desktop-background.jpg")
//namespace for using the *.ui file
namespace Ui{
@@ -65,15 +66,15 @@ private:
//Get an application on the system
XDGDesktop getSysApp();
-
+
//Convert to/from fluxbox keyboard shortcuts
QString dispToFluxKeys(QString);
QString fluxToDispKeys(QString);
-
+
//Read/overwrite a text file
QStringList readFile(QString path);
bool overwriteFile(QString path, QStringList contents);
-
+
private slots:
void slotSingleInstance();
@@ -100,11 +101,11 @@ private slots:
void addpanel2();
void rmpanel1();
void rmpanel2();
-
+
void checkpanels();
void adjustpanel1();
void adjustpanel2();
-
+
void getpanel1color();
void getpanel2color();
void addpanel1plugin();
@@ -115,7 +116,7 @@ private slots:
void uppanel2plugin();
void dnpanel1plugin();
void dnpanel2plugin();
-
+
//Menu Page
void addmenuplugin();
void rmmenuplugin();
@@ -123,13 +124,13 @@ private slots:
void downmenuplugin();
void findmenuterminal();
void checkmenuicons();
-
+
//Shortcuts Page
void loadKeyboardShortcuts();
void saveKeyboardShortcuts();
void clearKeyBinding();
void getKeyPress();
-
+
//Defaults Page
void loadDefaultSettings();
void saveDefaultSettings();
@@ -138,7 +139,7 @@ private slots:
void cleardefaultitem();
void setdefaultitem();
void checkdefaulticons();
-
+
//Session Page
void loadSessionSettings();
void saveSessionSettings();
@@ -151,4 +152,4 @@ private slots:
void sessionstartchanged();
};
-#endif \ No newline at end of file
+#endif
diff --git a/lumina-desktop/AppMenu.cpp b/lumina-desktop/AppMenu.cpp
index bf7f6d6f..8893c629 100644
--- a/lumina-desktop/AppMenu.cpp
+++ b/lumina-desktop/AppMenu.cpp
@@ -6,10 +6,11 @@
//===========================================
#include "AppMenu.h"
#include "LSession.h"
+#include "../global.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
+ appstorelink = PREFIX + "/share/applications/softmanager.desktop"; //Default application "store" to display (AppCafe in PC-BSD)
+ controlpanellink = PREFIX + "/share/applications/pccontrol.desktop"; //Default control panel
APPS.clear();
watcher = new QFileSystemWatcher(this);
connect(watcher, SIGNAL(directoryChanged(QString)), this, SLOT(watcherUpdate()) );
@@ -42,12 +43,12 @@ void AppMenu::updateAppList(){
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){
+ 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){
+ if(ok){
this->addAction( LXDG::findIcon(store.icon, ""), tr("Control Panel"), this, SLOT(launchControlPanel()) );
}
this->addSeparator();
@@ -70,7 +71,7 @@ void AppMenu::updateAppList(){
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*)) );
diff --git a/lumina-desktop/Globals.h b/lumina-desktop/Globals.h
index 64b1e438..b2cac1eb 100644
--- a/lumina-desktop/Globals.h
+++ b/lumina-desktop/Globals.h
@@ -8,6 +8,7 @@
#define _LUMINA_DESKTOP_GLOBALS_H
#include <LuminaUtils.h>
+#include "../global.h"
#include <unistd.h>
#include <stdio.h>
@@ -26,11 +27,11 @@ public:
class SYSTEM{
public:
//Installation location for finding default files
- static QString installDir(){ return "/usr/local/share/Lumina-DE/"; }
+ static QString installDir(){ return PREFIX + "/share/Lumina-DE/"; }
//Current Username
static QString user(){ return QString::fromLocal8Bit(getlogin()); }
//Current Hostname
- static QString hostname(){
+ static QString hostname(){
char name[BUFSIZ];
int count = gethostname(name,sizeof(name));
if (count < 0) {
@@ -46,25 +47,25 @@ public:
#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
+ 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();
diff --git a/lumina-desktop/LDesktop.cpp b/lumina-desktop/LDesktop.cpp
index 2b661110..e555fac2 100644
--- a/lumina-desktop/LDesktop.cpp
+++ b/lumina-desktop/LDesktop.cpp
@@ -6,9 +6,10 @@
//===========================================
#include "LDesktop.h"
#include "LSession.h"
+#include "../global.h"
LDesktop::LDesktop(int deskNum) : QObject(){
-
+
DPREFIX = "desktop-"+QString::number(deskNum)+"/";
desktopnumber = deskNum;
desktop = QApplication::desktop();
@@ -35,7 +36,7 @@ LDesktop::LDesktop(int deskNum) : QObject(){
//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);
@@ -45,7 +46,7 @@ LDesktop::LDesktop(int deskNum) : QObject(){
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()) );
@@ -63,7 +64,7 @@ LDesktop::~LDesktop(){
}
int LDesktop::Screen(){
- return desktopnumber;
+ return desktopnumber;
}
void LDesktop::show(){
@@ -75,20 +76,20 @@ void LDesktop::show(){
void LDesktop::hide(){
bgWindow->hide();
bgDesktop->hide();
- for(int i=0; i<PANELS.length(); i++){ PANELS[i]->hide(); }
+ for(int i=0; i<PANELS.length(); i++){ PANELS[i]->hide(); }
}
-void LDesktop::SystemLogout(){
- LSession::systemWindow();
+void LDesktop::SystemLogout(){
+ LSession::systemWindow();
}
-void LDesktop::SystemTerminal(){
+void LDesktop::SystemTerminal(){
QString term = settings->value("default-terminal","xterm").toString();
LSession::LaunchApplication(term);
}
void LDesktop::SystemFileManager(){
- LSession::LaunchApplication("lumina-fm");
+ LSession::LaunchApplication("lumina-fm");
}
void LDesktop::SystemApplication(QAction* act){
@@ -114,7 +115,7 @@ void LDesktop::CreateDesktopPluginContainer(LDPlugin *plug){
}
// =====================
-// PRIVATE SLOTS
+// PRIVATE SLOTS
// =====================
void LDesktop::SettingsChanged(){
if(changingsettings || issyncing){ return; } //don't refresh for internal modifications to the fil
@@ -130,7 +131,7 @@ void LDesktop::SettingsChanged(){
void LDesktop::UpdateMenu(bool fast){
//qDebug() << " - Update Menu:" << desktopnumber;
- //Put a label at the top
+ //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>"); }
@@ -161,7 +162,7 @@ void LDesktop::UpdateMenu(bool fast){
}
//Now add the system quit options
deskMenu->addSeparator();
- if(!desktoplocked){
+ 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()) ); }
@@ -213,13 +214,13 @@ void LDesktop::UpdateDesktop(){
//Now create the plugin (will load existing settings if possible)
qDebug() << " -- New Plugin:" << plugins[i];
plug = NewDP::createPlugin(plugins[i], bgDesktop);
- if(plug != 0){
+ 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)
@@ -246,7 +247,7 @@ void LDesktop::ToggleDesktopLock(){
CreateDesktopPluginContainer(PLUGINS[i]);
}
bgDesktop->update(); //refresh visuals
- UpdateMenu(false);
+ UpdateMenu(false);
}
void LDesktop::AlignDesktopPlugins(){
@@ -282,7 +283,7 @@ void LDesktop::AlignDesktopPlugins(){
//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() ); }
@@ -318,7 +319,7 @@ void LDesktop::DesktopPluginRemoved(QString ID){
}
//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);
@@ -374,7 +375,7 @@ void LDesktop::UpdateDesktopPluginArea(){
//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;
@@ -385,8 +386,8 @@ void LDesktop::UpdateBackground(){
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--; }
+ 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);
@@ -400,7 +401,7 @@ void LDesktop::UpdateBackground(){
//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"; }
+ if( (bgFile.toLower()=="default")){ bgFile = PREFIX + "/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);
diff --git a/lumina-desktop/LSession.cpp b/lumina-desktop/LSession.cpp
index f551b2d1..f58b83fe 100644
--- a/lumina-desktop/LSession.cpp
+++ b/lumina-desktop/LSession.cpp
@@ -5,6 +5,7 @@
// See the LICENSE file for full details
//===========================================
#include "LSession.h"
+#include "../global.h"
#include <Phonon/MediaObject>
#include <Phonon/AudioOutput>
@@ -64,15 +65,15 @@ void LSession::setupSession(){
//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();
@@ -91,7 +92,7 @@ void LSession::setupSession(){
mediaObj->moveToThread(audioThread);
audioOut->moveToThread(audioThread);
}*/
-
+
//Now setup the system watcher for changes
qDebug() << " - Initialize file system watcher";
watcher = new QFileSystemWatcher(this);
@@ -99,7 +100,7 @@ void LSession::setupSession(){
//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)) );
@@ -130,10 +131,10 @@ void LSession::launchStartupApps(){
qDebug() << "Launching startup applications";
for(int i=0; i<2; i++){
QString startfile;
- if(i==0){startfile = "/usr/local/share/Lumina-DE/startapps"; }
+ if(i==0){startfile = PREFIX + "/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);
@@ -149,7 +150,7 @@ void LSession::launchStartupApps(){
}
//Now play the login music
if(sessionsettings->value("PlayStartupAudio",true).toBool()){
- LSession::playAudioFile("/usr/local/share/Lumina-DE/Login.ogg");
+ LSession::playAudioFile(PREFIX + "/share/Lumina-DE/Login.ogg");
}
if(sessionsettings->value("EnableNumlock",true).toBool()){
QProcess::startDetached("numlockx on");
@@ -189,7 +190,7 @@ void LSession::checkUserFiles(){
QFile::setPermissions(dset, QFile::ReadUser | QFile::WriteUser | QFile::ReadOwner | QFile::WriteOwner);
}
}
-
+
}
//Check the fluxbox configuration files
dset = QDir::homePath()+"/.lumina/";
@@ -204,14 +205,14 @@ void LSession::checkUserFiles(){
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());
}
@@ -229,7 +230,7 @@ void LSession::loadStyleSheet(){
//Now fix/apply the sheet
sheet.replace("\n"," "); //make sure there are no newlines
this->setStyleSheet(sheet);
- }
+ }
}
void LSession::refreshWindowManager(){
@@ -282,7 +283,7 @@ bool LSession::x11EventFilter(XEvent *event){
|| 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;
}
// -----------------------
diff --git a/lumina-desktop/Lumina-DE.desktop b/lumina-desktop/Lumina-DE.desktop
index 49b012b6..ca043ab4 100644
--- a/lumina-desktop/Lumina-DE.desktop
+++ b/lumina-desktop/Lumina-DE.desktop
@@ -1,6 +1,6 @@
[Desktop Entry]
-Exec=/usr/local/bin/Lumina-DE
-TryExec=/usr/local/bin/Lumina-DE
+Exec=Lumina-DE
+TryExec=Lumina-DE
Icon=/usr/local/share/pixmaps/Lumina-DE.png
Type=Application
Name=Lumina
diff --git a/lumina-desktop/SystemWindow.cpp b/lumina-desktop/SystemWindow.cpp
index 10d44524..55f1e4a4 100644
--- a/lumina-desktop/SystemWindow.cpp
+++ b/lumina-desktop/SystemWindow.cpp
@@ -2,6 +2,7 @@
#include "ui_SystemWindow.h"
#include "LSession.h"
+#include "../global.h"
#include <unistd.h> //for usleep() usage
SystemWindow::SystemWindow() : QDialog(), ui(new Ui::SystemWindow){
@@ -32,12 +33,12 @@ SystemWindow::SystemWindow() : QDialog(), ui(new Ui::SystemWindow){
}
SystemWindow::~SystemWindow(){
-
+
}
void SystemWindow::closeAllWindows(){
if( LSession::sessionSettings()->value("PlayLogoutAudio",true).toBool() ){
- LSession::playAudioFile("/usr/local/share/Lumina-DE/Logout.ogg");
+ LSession::playAudioFile(PREFIX + "/share/Lumina-DE/Logout.ogg");
}
QList<WId> WL = LX11::WindowList();
for(int i=0; i<WL.length(); i++){
diff --git a/lumina-desktop/lumina-desktop.pro b/lumina-desktop/lumina-desktop.pro
index 69c81b86..708e2046 100644
--- a/lumina-desktop/lumina-desktop.pro
+++ b/lumina-desktop/lumina-desktop.pro
@@ -2,7 +2,10 @@
QT += core gui network phonon
TARGET = Lumina-DE
-target.path = /usr/local/bin
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+target.path = $$PREFIX/bin
LIBS += -L../libLumina -lLuminaUtils -lXdamage -lX11
QMAKE_LIBDIR = ../libLumina
@@ -84,25 +87,25 @@ FORMS += SystemWindow.ui \
RESOURCES+= Lumina-DE.qrc
-INCLUDEPATH += ../libLumina /usr/local/include
+INCLUDEPATH += ../libLumina $$PREFIX/include
desktop.files = Lumina-DE.desktop
linux-* {
desktop.path = /usr/share/xsessions
} else {
-desktop.path = /usr/local/share/xsessions
+desktop.path = $$PREFIX/share/xsessions
}
icons.files = Lumina-DE.png \
Insight-FileManager.png
-icons.path = /usr/local/share/pixmaps
+icons.path = $$PREFIX/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
+wallpapers.path = $$PREFIX/share/wallpapers/Lumina-DE
defaults.files = defaults/desktop-background.jpg \
defaults/defaultapps.conf \
@@ -110,7 +113,7 @@ defaults.files = defaults/desktop-background.jpg \
defaults/stylesheet.qss \
audiofiles/Logout.ogg \
audiofiles/Login.ogg
-defaults.path = /usr/local/share/Lumina-DE/
+defaults.path = $$PREFIX/share/Lumina-DE/
TRANSLATIONS = i18n/lumina-desktop_af.ts \
i18n/lumina-desktop_ar.ts \
@@ -175,7 +178,7 @@ TRANSLATIONS = i18n/lumina-desktop_af.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} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/Lumina-DE/i18n/
+dotrans.path=$$PREFIX/share/Lumina-DE/i18n/
+dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$$PREFIX/share/Lumina-DE/i18n/
INSTALLS += target desktop icons wallpapers defaults dotrans
diff --git a/lumina-desktop/main.cpp b/lumina-desktop/main.cpp
index 1ae8cb51..3339e9ed 100644
--- a/lumina-desktop/main.cpp
+++ b/lumina-desktop/main.cpp
@@ -20,13 +20,10 @@
//#include "LDesktop.h"
#include "LSession.h"
#include "Globals.h"
+#include "../global.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;
diff --git a/lumina-desktop/panel-plugins/battery/LBattery.cpp b/lumina-desktop/panel-plugins/battery/LBattery.cpp
index b80a4d05..dda32ecd 100644
--- a/lumina-desktop/panel-plugins/battery/LBattery.cpp
+++ b/lumina-desktop/panel-plugins/battery/LBattery.cpp
@@ -103,4 +103,4 @@ QString LBattery::getRemainingTime(){
rem.append(QString::number(secs)+"s");
}
return rem;
-} \ No newline at end of file
+}
diff --git a/lumina-desktop/panel-plugins/userbutton/UserWidget.h b/lumina-desktop/panel-plugins/userbutton/UserWidget.h
index da149c42..1b1405b3 100644
--- a/lumina-desktop/panel-plugins/userbutton/UserWidget.h
+++ b/lumina-desktop/panel-plugins/userbutton/UserWidget.h
@@ -23,10 +23,11 @@
#include <LuminaXDG.h>
#include <LuminaOS.h>
#include "UserItemWidget.h"
+#include "../../../global.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 APPSTORE QString(PREFIX + "/share/applications/softmanager.desktop")
+//#define CONTROLPANEL QString(PREFIX + "/share/applications/pccontrol.desktop")
+//#define QTCONFIG QString(PREFIX + "/bin/qtconfig-qt4")
#define SSAVER QString("xscreensaver-demo")
namespace Ui{
@@ -60,7 +61,7 @@ private slots:
//Apps Tab
void updateAppCategories();
void updateApps();
-
+
//Home Tab
void updateHome();
void slotGoToDir(QString dir);
@@ -92,4 +93,4 @@ signals:
};
-#endif \ No newline at end of file
+#endif
diff --git a/lumina-fm/lumina-fm.pro b/lumina-fm/lumina-fm.pro
index afe46993..a192d3d7 100644
--- a/lumina-fm/lumina-fm.pro
+++ b/lumina-fm/lumina-fm.pro
@@ -2,7 +2,10 @@
QT += core gui phonon
TARGET = lumina-fm
-target.path = /usr/local/bin
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+target.path = $$PREFIX/bin
TEMPLATE = app
@@ -22,9 +25,9 @@ FORMS += MainUI.ui \
# RESOURCES+= lumina-fm.qrc
-INCLUDEPATH += ../libLumina /usr/local/include
+INCLUDEPATH += ../libLumina $$PREFIX/include
- LIBS += -L../libLumina -lLuminaUtils
+ LIBS += -L../libLumina -lLuminaUtils
freebsd-* {
LIBS += -lQtSolutions_SingleApplication-head
}
@@ -101,10 +104,10 @@ TRANSLATIONS = i18n/lumina-fm_af.ts \
i18n/lumina-fm_zh_TW.ts \
i18n/lumina-fm_zu.ts
-dotrans.path=/usr/local/share/Lumina-DE/i18n/
-dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/Lumina-DE/i18n/
+dotrans.path=$$PREFIX/share/Lumina-DE/i18n/
+dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$$PREFIX/share/Lumina-DE/i18n/
desktop.files=lumina-fm.desktop
-desktop.path=/usr/local/share/applications/
+desktop.path=$$PREFIX/share/applications/
INSTALLS += target dotrans desktop
diff --git a/lumina-fm/main.cpp b/lumina-fm/main.cpp
index 4c23366a..267e6e68 100644
--- a/lumina-fm/main.cpp
+++ b/lumina-fm/main.cpp
@@ -8,10 +8,7 @@
#include <QTextCodec>
#include "MainUI.h"
-
-#ifndef PREFIX
-#define PREFIX QString("/usr/local")
-#endif
+#include "../global.h"
int main(int argc, char ** argv)
{
@@ -33,16 +30,16 @@ int main(int argc, char ** argv)
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
+
if ( ! QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-fm_" + langCode + ".qm" ) ) langCode.truncate(langCode.indexOf("_"));
translator.load( QString("lumina-fm_") + langCode, PREFIX + "/share/i18n/Lumina-DE/" );
a.installTranslator( &translator );
qDebug() << "Locale:" << langCode;
-
+
//Load current encoding for this locale
QTextCodec::setCodecForTr( QTextCodec::codecForLocale() ); //make sure to use the same codec
qDebug() << "Locale Encoding:" << QTextCodec::codecForLocale()->name();
-
+
MainUI w;
QObject::connect(&a, SIGNAL(messageReceived(const QString&)), &w, SLOT(slotSingleInstance(const QString&)) );
w.OpenDirs(in);
diff --git a/lumina-open/lumina-open.pro b/lumina-open/lumina-open.pro
index 34e76d54..b70d6b27 100644
--- a/lumina-open/lumina-open.pro
+++ b/lumina-open/lumina-open.pro
@@ -2,7 +2,10 @@
QT += core gui
TARGET = lumina-open
-target.path = /usr/local/bin
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+target.path = $$PREFIX/bin
TEMPLATE = app
@@ -15,7 +18,7 @@ FORMS += LFileDialog.ui
RESOURCES+= lumina-open.qrc
-INCLUDEPATH += ../libLumina /usr/local/include
+INCLUDEPATH += ../libLumina $$PREFIX/include
LIBS += -L../libLumina -lLuminaUtils
QMAKE_LIBDIR = ../libLumina
DEPENDPATH += ../libLumina
@@ -89,7 +92,7 @@ TRANSLATIONS = i18n/lumina-open_af.ts \
i18n/lumina-open_zh_TW.ts \
i18n/lumina-open_zu.ts
-dotrans.path=/usr/local/share/Lumina-DE/i18n/
-dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/Lumina-DE/i18n/
+dotrans.path=$$PREFIX/share/Lumina-DE/i18n/
+dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$$PREFIX/share/Lumina-DE/i18n/
INSTALLS += target dotrans
diff --git a/lumina-open/main.cpp b/lumina-open/main.cpp
index 339446b9..427dbe04 100644
--- a/lumina-open/main.cpp
+++ b/lumina-open/main.cpp
@@ -25,24 +25,21 @@
#include <QTextCodec>
#include "LFileDialog.h"
+#include "../global.h"
#include <LuminaXDG.h>
#include <LuminaOS.h>
-#ifndef PREFIX
-#define PREFIX QString("/usr/local")
-#endif
-
void printUsageInfo(){
qDebug() << "lumina-open: Application launcher for the Lumina Desktop Environment";
- qDebug() << "Description: Given a file (with absolute path) or URL, this utility will try to find the appropriate application with which to open the file. If the file is a *.desktop application shortcut, it will just start the application appropriately. It can also perform a few specific system operations if given special flags.";
+ qDebug() << "Description: Given a file (with absolute path) or URL, this utility will try to find the appropriate application with which to open the file. If the file is a *.desktop application shortcut, it will just start the application appropriately. It can also perform a few specific system operations if given special flags.";
qDebug() << "Usage: lumina-open [-select] <absolute file path or URL>";
qDebug() << " lumina-open [-volumeup, -volumedown, -brightnessup, -brightnessdown]";
qDebug() << " [-select] (optional) flag to bypass any default application settings and show the application selector window";
qDebug() << "Special Flags:";
qDebug() << " \"-volume[up/down]\" Flag to increase/decrease audio volume by 5%";
qDebug() << " \"-brightness[up/down]\" Flag to increase/decrease screen brightness by 5%";
- exit(1);
+ exit(1);
}
/*QApplication setupApplication(int argc, char **argv){
@@ -50,9 +47,9 @@ void printUsageInfo(){
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
- if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
- langCode.truncate( langCode.indexOf("_") );
+
+ if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
+ langCode.truncate( langCode.indexOf("_") );
}
translator.load( QString("lumina-open_") + langCode, PREFIX + "/share/Lumina-DE/i18n/" );
App.installTranslator( &translator );
@@ -69,9 +66,9 @@ void showOSD(int argc, char **argv, QString message){
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
- if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
- langCode.truncate( langCode.indexOf("_") );
+
+ if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
+ langCode.truncate( langCode.indexOf("_") );
}
translator.load( QString("lumina-open_") + langCode, PREFIX + "/share/Lumina-DE/i18n/" );
App.installTranslator( &translator );
@@ -106,7 +103,7 @@ QString cmdFromUser(int argc, char **argv, QString inFile, QString extension, QS
if(ok){
QString exec = LXDG::getDesktopExec(DF);
if(!exec.isEmpty()){
- qDebug() << "[lumina-open] Using default application:" << DF.name << "File:" << inFile;
+ qDebug() << "[lumina-open] Using default application:" << DF.name << "File:" << inFile;
if(!DF.path.isEmpty()){ path = DF.path; }
return exec;
}
@@ -120,18 +117,18 @@ QString cmdFromUser(int argc, char **argv, QString inFile, QString extension, QS
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
- if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
- langCode.truncate( langCode.indexOf("_") );
+
+ if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
+ langCode.truncate( langCode.indexOf("_") );
}
translator.load( QString("lumina-open_") + langCode, PREFIX + "/share/Lumina-DE/i18n/" );
App.installTranslator( &translator );
qDebug() << "Locale:" << langCode;
-
+
//Load current encoding for this locale
QTextCodec::setCodecForTr( QTextCodec::codecForLocale() ); //make sure to use the same codec
qDebug() << "Locale Encoding:" << QTextCodec::codecForLocale()->name();
-
+
LFileDialog w;
if(inFile.startsWith(extension)){
//URL
@@ -141,7 +138,7 @@ QString cmdFromUser(int argc, char **argv, QString inFile, QString extension, QS
if(inFile.endsWith("/")){ inFile.chop(1); }
w.setFileInfo(inFile.section("/",-1), extension, true);
}
-
+
w.show();
App.exec();
@@ -160,7 +157,7 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
//Get the input file
QString inFile;
bool showDLG = false; //flag to bypass any default application setting
- if(argc > 1){
+ if(argc > 1){
for(int i=1; i<argc; i++){
if(QString(argv[i]).simplified() == "-select"){
showDLG = true;
@@ -209,7 +206,7 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
if( !isFile && !isUrl ){ qDebug() << "Error: Invalid file or URL"; return;}
//Determing the type of file (extension)
QString extension;
- if(isFile){
+ if(isFile){
QFileInfo info(inFile);
extension=info.completeSuffix();
if(info.isDir()){ extension="directory"; }
@@ -221,7 +218,7 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
if(extension=="directory" && !showDLG){
cmd = "lumina-fm";
useInputFile=true;
- }else if(extension=="desktop" && !showDLG){
+ }else if(extension=="desktop" && !showDLG){
bool ok = false;
XDGDesktop DF = LXDG::loadDesktopFile(inFile, ok);
if(!ok){
@@ -230,10 +227,10 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
}
switch(DF.type){
case XDGDesktop::APP:
- if(!DF.exec.isEmpty()){
+ if(!DF.exec.isEmpty()){
cmd = LXDG::getDesktopExec(DF);
if(!DF.path.isEmpty()){ path = DF.path; }
- }else{
+ }else{
qDebug() << "[ERROR] Input *.desktop application file is missing the Exec line:" << inFile;
exit(1);
}
@@ -246,7 +243,7 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
extension = inFile.section(":",0,0);
}else{
qDebug() << "[ERROR] Input *.desktop link file is missing the URL line:" << inFile;
- exit(1);
+ exit(1);
}
break;
case XDGDesktop::DIR:
@@ -257,7 +254,7 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
extension = "directory";
}else{
qDebug() << "[ERROR] Input *.desktop directory file is missing the Path line:" << inFile;
- exit(1);
+ exit(1);
}
break;
default:
@@ -283,7 +280,7 @@ void getCMD(int argc, char ** argv, QString& binary, QString& args, QString& pat
int main(int argc, char **argv){
//Run all the actual code in a separate function to have as little memory usage
// as possible aside from the main application when running
-
+
//Make sure the XDG environment variables exist first
LXDG::setEnvironmentVars();
//now get the command
@@ -306,7 +303,7 @@ int main(int argc, char **argv){
qDebug() << "[lumina-open] Application did not startup properly:"<<cmd+" "+args;
return p->exitCode();
}else if(p->state() == QProcess::Running){
- //This just missed the "started" signal - continue
+ //This just missed the "started" signal - continue
break;
}
}
@@ -315,16 +312,16 @@ int main(int argc, char **argv){
if(p->state() != QProcess::Running){ break; } //somehow missed the finished signal
}
int retcode = p->exitCode();*/
- if(retcode!=0){
+ if(retcode!=0){
qDebug() << "[lumina-open] Application Error:" << retcode;
//Setup the application
QApplication App(argc, argv);
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
- if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
- langCode.truncate( langCode.indexOf("_") );
+
+ if(!QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-open_" + langCode + ".qm") ){
+ langCode.truncate( langCode.indexOf("_") );
}
translator.load( QString("lumina-open_") + langCode, PREFIX + "/share/Lumina-DE/i18n/" );
App.installTranslator( &translator );
diff --git a/lumina-screenshot/lumina-screenshot.pro b/lumina-screenshot/lumina-screenshot.pro
index 7b647386..1681a12b 100644
--- a/lumina-screenshot/lumina-screenshot.pro
+++ b/lumina-screenshot/lumina-screenshot.pro
@@ -2,7 +2,10 @@
QT += core gui
TARGET = lumina-screenshot
-target.path = /usr/local/bin
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+target.path = $$PREFIX/bin
TEMPLATE = app
@@ -13,9 +16,9 @@ HEADERS += MainUI.h
FORMS += MainUI.ui
-INCLUDEPATH += ../libLumina /usr/local/include
+INCLUDEPATH += ../libLumina $$PREFIX/include
- LIBS += -L../libLumina -lLuminaUtils
+ LIBS += -L../libLumina -lLuminaUtils
freebsd-* {
LIBS += -lQtSolutions_SingleApplication-head
}
@@ -92,10 +95,10 @@ TRANSLATIONS = i18n/lumina-screenshot_af.ts \
i18n/lumina-screenshot_zh_TW.ts \
i18n/lumina-screenshot_zu.ts
-dotrans.path=/usr/local/share/Lumina-DE/i18n/
-dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)/usr/local/share/Lumina-DE/i18n/
+dotrans.path=$$PREFIX/share/Lumina-DE/i18n/
+dotrans.extra=cd i18n && $${LRELEASE} -nounfinished *.ts && cp *.qm $(INSTALL_ROOT)$$PREFIX/share/Lumina-DE/i18n/
desktop.files=lumina-screenshot.desktop
-desktop.path=/usr/local/share/applications/
+desktop.path=$$PREFIX/share/applications/
INSTALLS += target dotrans desktop
diff --git a/lumina-screenshot/main.cpp b/lumina-screenshot/main.cpp
index 12258548..40d7242d 100644
--- a/lumina-screenshot/main.cpp
+++ b/lumina-screenshot/main.cpp
@@ -4,10 +4,7 @@
#include <QFile>
#include "MainUI.h"
-
-#ifndef PREFIX
-#define PREFIX QString("/usr/local")
-#endif
+#include "../global.h"
int main(int argc, char ** argv)
{
@@ -16,12 +13,12 @@ int main(int argc, char ** argv)
QTranslator translator;
QLocale mylocale;
QString langCode = mylocale.name();
-
+
if ( ! QFile::exists(PREFIX + "/share/Lumina-DE/i18n/lumina-screenshot_" + langCode + ".qm" ) ) langCode.truncate(langCode.indexOf("_"));
translator.load( QString("lumina-screenshot_") + langCode, PREFIX + "/share/i18n/Lumina-DE/" );
a.installTranslator( &translator );
qDebug() << "Locale:" << langCode;
-
+
MainUI w;
w.show();
diff --git a/lumina.pro b/lumina.pro
index 011a8f9c..c709ccd0 100644
--- a/lumina.pro
+++ b/lumina.pro
@@ -1,3 +1,9 @@
+isEmpty(PREFIX) {
+ PREFIX = /usr/local
+}
+
+system(make-global-h.sh $$PREFIX)
+
TEMPLATE = subdirs
SUBDIRS+= libLumina \
diff --git a/make-global-h.sh b/make-global-h.sh
new file mode 100755
index 00000000..f6457848
--- /dev/null
+++ b/make-global-h.sh
@@ -0,0 +1,7 @@
+#!/bin/sh
+
+# create global.h
+
+echo "#ifndef PREFIX
+ #define PREFIX QString(\"${1}\")
+#endif" > global.h
bgstack15