Requires qtermwidget. To build, run:
g++ $(pkg-config --cflags --libs Qt5Widgets qtermwidget5) -fPIC -o restraint restraint.cpp
| # --- special colors --- | |
| [Background] | |
| Color=10,15,20 | |
| [BackgroundIntense] | |
| Color=10,15,20 | |
| [Foreground] | |
| Color=152,209,206 | |
| [ForegroundIntense] | |
| Color=152,209,206 | |
| Bold=true | |
| # --- standard colors --- | |
| [Color0] | |
| Color=10,15,20 | |
| [Color0Intense] | |
| Color=16,21,27 | |
| [Color1] | |
| Color=195,48,39 | |
| [Color1Intense] | |
| Color=210,105,57 | |
| [Color2] | |
| Color=38,169,139 | |
| [Color2Intense] | |
| Color=8,31,45 | |
| [Color3] | |
| Color=237,181,75 | |
| [Color3Intense] | |
| Color=36,83,97 | |
| [Color4] | |
| Color=25,84,101 | |
| [Color4Intense] | |
| Color=9,55,72 | |
| [Color5] | |
| Color=78,81,101 | |
| [Color5Intense] | |
| Color=136,139,165 | |
| [Color6] | |
| Color=51,133,157 | |
| [Color6Intense] | |
| Color=89,156,170 | |
| [Color7] | |
| Color=152,209,206 | |
| [Color7Intense] | |
| Color=211,235,233 | |
| # --- general options --- | |
| [General] | |
| Description=terminal.sexy | |
| Opacity=1 | |
| Wallpaper= | |
| #include <QApplication> | |
| #include <QDesktopServices> | |
| #include <QKeySequence> | |
| #include <QMainWindow> | |
| #include <QShortcut> | |
| #include <QtDebug> | |
| #include "qtermwidget.h" | |
| void activateUrl(const QUrl &url, bool fromContextMenu) { | |
| if (QApplication::keyboardModifiers() & Qt::ControlModifier || | |
| fromContextMenu) { | |
| QDesktopServices::openUrl(url); | |
| } | |
| } | |
| int main(int argc, char *argv[]) { | |
| QApplication app(argc, argv); | |
| QMainWindow *mainWindow = new QMainWindow(); | |
| QCoreApplication::instance()->setAttribute( | |
| Qt::AA_UseHighDpiPixmaps); // Fix for High-DPI systems | |
| setenv("TERM", "xterm-256color", 1); | |
| QTermWidget *console = new QTermWidget(); | |
| QFont font = QApplication::font(); | |
| font.setFamily("Dank Mono"); | |
| font.setPixelSize(22); | |
| font.setWeight(QFont::Normal); | |
| console->setTerminalFont(font); | |
| console->setAutoClose(true); | |
| console->setColorScheme("/home/igneo676/gotham.colorscheme"); | |
| // console->setTerminalOpacity(0.9); | |
| QObject::connect(console, &QTermWidget::urlActivated, mainWindow, | |
| activateUrl); | |
| QObject::connect(new QShortcut(QKeySequence("Ctrl+Shift+V"), mainWindow), | |
| &QShortcut::activated, | |
| [console]() { console->pasteClipboard(); }); | |
| QObject::connect(new QShortcut(QKeySequence("Ctrl+Shift+C"), mainWindow), | |
| &QShortcut::activated, | |
| [console]() { console->copyClipboard(); }); | |
| mainWindow->resize(1800, 3200); | |
| mainWindow->setCentralWidget(console); | |
| QObject::connect(console, SIGNAL(finished()), mainWindow, SLOT(close())); | |
| mainWindow->show(); | |
| return app.exec(); | |
| } |