remove all unneeded module listed from Niklas

This commit is contained in:
berrux-dev committed 2026-09-14 21:15:42 +02:00
1 parent be912de9d6
commit 92ad7d4686
895 files changed
-327561

No files matched your search

@@ -1,44 +0,0 @@
#
# Tool to easily & quickly configure customer X server screen positions
#
# $Id$
# $HeadURL$
# $Author$
#
# Created by Mike Wille, NLSE, 2018-02-02
#
# Make ${Qt6_Widgets} optional
if(QT6_GUI_AVAILABLE AND TARGET Qt6::Widgets)
set(Qt6_Widgets ${Qt6_Widgets})
else()
set(Qt6_Widgets "")
endif()
IF(NOT WIN32)
SET(ConfigX_SRCS
main.cpp
configurator.h
configurator.cpp
guez2018/guez2018.h
guez2018/guez2018.cpp
)
SET(ConfigX_UICS
guez2018/guez2018.ui
)
QT5_ADD_RESOURCES(ConfigX_SRCS resources.qrc)
NGL_WRAP_UI(ConfigX_SRCS ${ConfigX_UICS})
NGL_ADD_EXECUTABLE(WS ConfigX NO_TRANSLATION ${ConfigX_SRCS} ${ConfigX_UICS})
if(QT6_GUI_AVAILABLE)
NGL_TARGET_LINK_LIBRARIES(ConfigX
${Qt6_Widgets}
)
endif()
NGL_INSTALL_TARGET(ConfigX)
ENDIF(NOT WIN32)
@@ -1,199 +0,0 @@
#include "configurator.h"
#include "guez2018/guez2018.h"
#include <QtWidgets/QApplication>
#include <QScreen>
#include <QPushButton>
#include <QtWidgets/QMessageBox>
#include <QStyle>
#include <QtCore/QFile>
#include <QCheckBox>
#include <QProcess>
#include <QtCore/QDebug>
Configurator::Configurator(const QString &filename)
: QWidget(nullptr)
, m_uiIfc(nullptr)
, m_currentScreen(nullptr)
, m_mainScreen(nullptr)
, m_filename(filename)
, m_cbMainScreen(nullptr)
{
int index = projectNames().indexOf(m_filename);
switch (index)
{
case 0: // guez2018
{
m_uiIfc = new Guez2018(this);
break;
}
default:
{
QMessageBox::critical(this, QString(), QStringLiteral("Ui implementation missing for this project - aborting."));
QCoreApplication::quit();
return;
}
}
m_cbMainScreen = findChild<QCheckBox *>(QStringLiteral("cbMainScreen"));
if (m_cbMainScreen == nullptr)
{
qWarning() << "Developer: there is no ui element 'cbMainScreen' !";
QCoreApplication::quit();
return;
}
m_screensToTest = QGuiApplication::screens();
QList<QPushButton *> screenButtons = findChildren<QPushButton *>();
for (auto i = screenButtons.constBegin(); i != screenButtons.constEnd(); ++i)
{
QPushButton *btn = *i;
btn->setStyleSheet(QStringLiteral("QPushButton:hover { padding: 4px; border: 1px solid; border-color: #009933; border-radius: 2px; background-color: #99ff99; outline: none; } "
"QPushButton { padding: 4px; border: 1px solid; border-color: #66ff66; border-radius: 2px; background-color: #ccffcc; outline: none; } "
"QPushButton:disabled { padding: 4px; border: 1px solid; border-color: #000000; border-radius: 2px; background-color: #b3b3b3; outline: none; }"));
connect(btn, &QPushButton::clicked,
this, &Configurator::slotScreenClicked);
}
slotGo();
}
Configurator::~Configurator()
{
delete m_uiIfc;
}
void Configurator::slotScreenClicked()
{
//QMap<QString, QPoint> m_config;
QPushButton *screenButton = qobject_cast<QPushButton *>(sender());
screenButton->setEnabled(false); // already selected now
if (m_cbMainScreen->isChecked())
{
m_mainScreen = m_currentScreen;
m_cbMainScreen->setEnabled(false); // cannot set more than one main screen :)
m_cbMainScreen->setChecked(false); // there is already the main screen
}
m_config.insert(m_currentScreen->name(),
QPoint(screenButton->property("screenX").toInt(),
screenButton->property("screenY").toInt()));
slotGo(); // next !
}
void Configurator::slotGo()
{
if (m_screensToTest.isEmpty())
{
done();
return;
}
m_currentScreen = m_screensToTest.takeFirst();
setGeometry(QStyle::alignedRect(Qt::LeftToRight, Qt::AlignCenter, size(), m_currentScreen->availableGeometry()));
}
void Configurator::done()
{
hide();
slotSave();
}
void Configurator::slotSave()
{
if (m_mainScreen == nullptr)
{
QMessageBox::critical(this, QString(), QStringLiteral("You did not specify the main screen - aborting."));
QCoreApplication::quit();
return;
}
QFile f(QStringLiteral(":/%1.conf").arg(m_filename));
if (!f.open(QFile::ReadOnly))
{
QMessageBox::critical(this, QString(), QStringLiteral("Cannot open project template file from resources - aborting."));
QCoreApplication::quit();
return;
}
QString config = QString::fromUtf8(f.readAll());
int index = projectNames().indexOf(m_filename);
switch (index)
{
case 0: // guez2018
{
QStringList metamodes;
for (auto i = m_config.constBegin(); i != m_config.constEnd(); ++i)
{
const QString &interfaceName = i.key();
const QPoint &screenPos = i.value();
metamodes.append(QStringLiteral("%1: nvidia-auto-select +%2+%3").arg(interfaceName).arg(screenPos.x()).arg(screenPos.y()));
}
config = config.arg(m_mainScreen->name(), metamodes.join(QStringLiteral(", ")));
break;
}
default:
{
QMessageBox::critical(this, QString(), QStringLiteral("Save implementation missing for this project - aborting."));
QCoreApplication::quit();
return;
}
}
QString configFileName(QStringLiteral("/etc/X11/xorg.conf.d/50-nvidia.conf"));
if (QFile::remove(QStringLiteral("/etc/X11/xorg.conf")))
qWarning() << "xorg.conf deleted as this file is non-sense..";
QFile configFile(configFileName);
if (!configFile.open(QFile::WriteOnly))
{
QMessageBox::critical(this, QString(), QStringLiteral("Cannot write to config file '%1'.\n%2.\nAborting.").arg(configFileName, configFile.errorString()));
QCoreApplication::quit();
return;
}
configFile.write(config.toUtf8());
if (QMessageBox::question(this, QString(),
QStringLiteral("Config file '%1' was successfully written.\nDo you want to restart the X server now?").arg(configFileName),
QMessageBox::StandardButton::Yes | QMessageBox::StandardButton::No) == QMessageBox::StandardButton::Yes)
{
QProcess::startDetached(QStringLiteral("systemctl restart display-manager"));
}
QCoreApplication::quit(); // done!
}
void Configurator::closeEvent(QCloseEvent */*event*/)
{
QCoreApplication::quit();
}
@@ -1,49 +0,0 @@
#pragma once
#include <QtWidgets/QWidget>
#include <QtCore/QMap>
namespace Ui
{
class Configurator;
}
class QCheckBox;
class UiInterface
{
public:
virtual ~UiInterface() = default;
};
class Configurator : public QWidget
{
Q_OBJECT
public:
Configurator(const QString &filename);
~Configurator();
bool init();
static const QStringList projectNames() { return { QStringLiteral("guez2018") }; }
private slots:
void slotSave();
void slotGo();
void slotScreenClicked();
private:
void closeEvent(QCloseEvent *event) override;
void done();
UiInterface *m_uiIfc;
QList<QScreen *> m_screensToTest;
QScreen *m_currentScreen;
QScreen *m_mainScreen;
QMap<QString, QPoint> m_config;
QString m_filename;
QCheckBox *m_cbMainScreen;
};
@@ -1,48 +0,0 @@
# Config created by Lts/Tools/ConfigX
# ConfigX created by Mike Wille, NLSE, 2018-02-02
# nvidia-settings version: version 384.69 (buildd@lgw01-amd64-056) Tue Oct 10 10:21:06 UTC 2017
# Guez 2018
# Machine: HP Z640
# Screens: 4x 1920x1080
Section "ServerLayout"
Identifier "Layout0"
Screen 0 "Screen0" 0 0
Option "Xinerama" "0"
EndSection
Section "Monitor"
# HorizSync source: edid, VertRefresh source: edid
Identifier "Monitor0"
VendorName "Unknown"
ModelName "FUS B24-8 TE Pro"
HorizSync 30.0 - 82.0
VertRefresh 48.0 - 76.0
Option "DPMS"
EndSection
Section "Device"
Identifier "Device0"
Driver "nvidia"
VendorName "NVIDIA Corporation"
BoardName "Quadro K1200"
EndSection
Section "Screen"
Identifier "Screen0"
Device "Device0"
Monitor "Monitor0"
DefaultDepth 24
Option "Stereo" "0"
Option "nvidiaXineramaInfoOrder" "%1"
Option "metamodes" "%2"
Option "SLI" "Off"
Option "MultiGPU" "Off"
Option "BaseMosaic" "off"
SubSection "Display"
Depth 24
EndSubSection
EndSection
@@ -1,15 +0,0 @@
#include "guez2018.h"
#include "ui_guez2018.h"
Guez2018::Guez2018(QWidget *setupUi)
: m_ui(new Ui::Configurator)
{
m_ui->setupUi(setupUi);
}
Guez2018::~Guez2018()
{
delete m_ui;
}
@@ -1,22 +0,0 @@
#pragma once
#include "configurator.h"
#include <QtWidgets/QWidget>
namespace Ui
{
class Configurator;
}
class Guez2018 : public UiInterface
{
public:
Guez2018(QWidget *setupUi);
~Guez2018();
private:
Ui::Configurator *m_ui;
};
@@ -1,145 +0,0 @@
<?xml version="1.0" encoding="UTF-8"?>
<ui version="4.0">
<class>Configurator</class>
<widget class="QWidget" name="Configurator">
<property name="geometry">
<rect>
<x>0</x>
<y>0</y>
<width>226</width>
<height>278</height>
</rect>
</property>
<property name="sizePolicy">
<sizepolicy hsizetype="Maximum" vsizetype="Maximum">
<horstretch>0</horstretch>
<verstretch>0</verstretch>
</sizepolicy>
</property>
<property name="windowTitle">
<string notr="true">ConfigX</string>
</property>
<layout class="QVBoxLayout" name="verticalLayout">
<item>
<widget class="QLabel" name="label">
<property name="text">
<string>Which Screen is this?</string>
</property>
</widget>
</item>
<item>
<layout class="QGridLayout" name="gridLayout">
<item row="1" column="0">
<widget class="QPushButton" name="screen2">
<property name="minimumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="screenX" stdset="0">
<number>0</number>
</property>
<property name="screenY" stdset="0">
<number>1080</number>
</property>
</widget>
</item>
<item row="0" column="0">
<widget class="QPushButton" name="screen0">
<property name="minimumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="screenX" stdset="0">
<number>0</number>
</property>
<property name="screenY" stdset="0">
<number>0</number>
</property>
</widget>
</item>
<item row="0" column="1">
<widget class="QPushButton" name="screen1">
<property name="minimumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="screenX" stdset="0">
<number>1920</number>
</property>
<property name="screenY" stdset="0">
<number>0</number>
</property>
</widget>
</item>
<item row="1" column="1">
<widget class="QPushButton" name="screen3">
<property name="minimumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="maximumSize">
<size>
<width>100</width>
<height>100</height>
</size>
</property>
<property name="text">
<string/>
</property>
<property name="screenX" stdset="0">
<number>1920</number>
</property>
<property name="screenY" stdset="0">
<number>1080</number>
</property>
</widget>
</item>
</layout>
</item>
<item>
<widget class="QCheckBox" name="cbMainScreen">
<property name="text">
<string>This is the main screen</string>
</property>
</widget>
</item>
</layout>
</widget>
<resources/>
<connections/>
</ui>
@@ -1,53 +0,0 @@
#include "configurator.h"
#include <unistd.h>
#include <QtWidgets/QApplication>
#include <QtWidgets/QMessageBox>
#include <QProcess>
#include <QtCore/QDebug>
int main(int argc, char **argv)
{
QApplication app(argc, argv);
QStringList arguments = app.arguments();
if (arguments.count() < 2)
{
qWarning() << "usage:" << arguments.at(0)
<< "<project name (" << Configurator::projectNames().join(QStringLiteral(", ")) << ")>";
return -1;
}
QString projectName = arguments.at(1);
if (!Configurator::projectNames().contains(projectName))
{
QMessageBox::critical(nullptr, QString(),
QStringLiteral("Unknown project. Available project names: %1").arg(
Configurator::projectNames().join(QStringLiteral(", "))));
return -2;
}
bool isDebug = (arguments.count() > 2 && arguments.at(2) == QStringLiteral("debug"));
if (!isDebug)
{
// restart if not root
uid_t uid = getuid();
if (uid != 0) // root
{
QProcess::startDetached(QStringLiteral("xgd-su -c %1 %2").arg(arguments.at(0), projectName));
//qWarning() << "wrong uid" << uid;
return 0;
}
}
Configurator *c = new Configurator(projectName);
c->show();
return app.exec();
}
@@ -1,5 +0,0 @@
<RCC>
<qresource prefix="/">
<file alias="guez2018.conf">guez2018/guez2018.conf</file>
</qresource>
</RCC>