Compare commits
58 Commits
old-burnin
...
adammathes
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
e7e3dfed00 | ||
|
|
aa82250232 | ||
|
|
88f59d2016 | ||
|
|
8021ff4256 | ||
|
|
32eab18da9 | ||
|
|
52140c4c45 | ||
|
|
6e4d5cfddd | ||
|
|
10fd2a11ee | ||
|
|
749ea88909 | ||
|
|
d81485a8bf | ||
|
|
a9260d956c | ||
|
|
025bb560bc | ||
|
|
cdd1488e13 | ||
|
|
b8b2644969 | ||
|
|
09b5c0a5d0 | ||
|
|
1ed66f3aa2 | ||
|
|
3b4d5d1c3f | ||
|
|
f98fd5a7ad | ||
|
|
b961109623 | ||
|
|
8f0d1023a4 | ||
|
|
79773ba95c | ||
|
|
b026fe357e | ||
|
|
ade36c013b | ||
|
|
54a6a7f590 | ||
|
|
20728e4a0f | ||
|
|
afa456f6b3 | ||
|
|
3fbfb77430 | ||
|
|
051bcb62c6 | ||
|
|
d2c57eed6d | ||
|
|
3f0653106e | ||
|
|
9954fde6f1 | ||
|
|
3ec46ea833 | ||
|
|
4bff6efe97 | ||
|
|
c514dc7a24 | ||
|
|
24754edb6a | ||
|
|
79fbb76524 | ||
|
|
b85aede966 | ||
|
|
c66ca6e44f | ||
|
|
a192024fef | ||
|
|
918df9098a | ||
|
|
c9271bfa36 | ||
|
|
fa162c818b | ||
|
|
ff976e3ec2 | ||
|
|
17c5651305 | ||
|
|
7c7b049ba1 | ||
|
|
0823fe8b3d | ||
|
|
e787fd0fb5 | ||
|
|
650497bff4 | ||
|
|
2f25bd30b0 | ||
|
|
d58157a450 | ||
|
|
9d049bd041 | ||
|
|
988222b711 | ||
|
|
f42bd3036f | ||
|
|
297239fb5c | ||
|
|
dbd46d44aa | ||
|
|
254f4d6e92 | ||
|
|
d59ac20e38 | ||
|
|
7ce6571e1f |
37
.travis.yml
Normal file
37
.travis.yml
Normal file
@@ -0,0 +1,37 @@
|
||||
sudo: required
|
||||
dist: trusty
|
||||
language: c++
|
||||
|
||||
install:
|
||||
- sudo add-apt-repository -y ppa:beineri/opt-qt58-trusty
|
||||
- sudo apt-get update -qq
|
||||
- sudo apt-get -y install build-essential qt58declarative qt58graphicaleffects qt58quickcontrols libgl1-mesa-dev
|
||||
- source /opt/qt*/bin/qt*-env.sh
|
||||
|
||||
script:
|
||||
- qmake CONFIG+=release PREFIX=/usr
|
||||
- make -j$(nproc)
|
||||
- mkdir -p appdir/usr/share/metainfo appdir/usr/bin
|
||||
- cp packaging/appdata/cool-retro-term.appdata.xml appdir/usr/share/metainfo/
|
||||
- cp cool-retro-term appdir/usr/bin/
|
||||
- cp ./cool-retro-term.desktop appdir/
|
||||
- cp ./app/icons/128x128/cool-retro-term.png appdir/
|
||||
- cp -r ./app/qml appdir/usr/
|
||||
- cp -r ./qmltermwidget/QMLTermWidget appdir/usr/qml/ # Workaround for https://github.com/probonopd/linuxdeployqt/issues/78
|
||||
- wget -c https://github.com/probonopd/linuxdeployqt/releases/download/continuous/linuxdeployqt-continuous-x86_64.AppImage
|
||||
- chmod a+x linuxdeployqt-*.AppImage
|
||||
- unset QTDIR; unset QT_PLUGIN_PATH ; unset LD_LIBRARY_PATH
|
||||
- export VERSION=$(git rev-parse --short HEAD) # linuxdeployqt uses this for naming the file
|
||||
- ./linuxdeployqt-*.AppImage appdir/usr/bin/cool-retro-term -qmldir=./app/qml/ -qmldir=./qmltermwidget/ # -verbose=3 2>&1 | grep "path:" -C 3
|
||||
- ./linuxdeployqt-*.AppImage appdir/usr/bin/cool-retro-term -qmldir=./app/qml/ -qmldir=./qmltermwidget/ -verbose=2 -appimage
|
||||
|
||||
after_success:
|
||||
- find appdir -executable -type f -exec ldd {} \; | grep " => /usr" | cut -d " " -f 2-3 | sort | uniq
|
||||
- # curl --upload-file Cool*.AppImage https://transfer.sh/Cool_Retro_Term-git.$(git rev-parse --short HEAD)-x86_64.AppImage
|
||||
- wget -c https://github.com/probonopd/uploadtool/raw/master/upload.sh
|
||||
- bash upload.sh Cool*.AppImage*
|
||||
|
||||
branches:
|
||||
except:
|
||||
- # Do not build tags that we create when we upload to GitHub Releases
|
||||
- /^(?i:continuous)/
|
||||
11
README.md
11
README.md
@@ -20,6 +20,12 @@ This terminal emulator works under Linux and macOS and requires Qt 5.2 or higher
|
||||
## Install
|
||||
Walk the easy way and install cool-retro-term using one of these convenient packages:
|
||||
|
||||
Just grab the latest AppImage from the release page and make it executable and run it:
|
||||
|
||||
wget https://github.com/Swordfish90/cool-retro-term/releases/download/1.1.1/Cool-Retro-Term-1.1.1-x86_64.AppImage
|
||||
chmod a+x Cool-Retro-Term-1.1.1-x86_64.AppImage
|
||||
./Cool-Retro-Term-1.1.1-x86_64.AppImage
|
||||
|
||||
**Fedora** has the `cool-retro-term` in the offcial repositories. All you have to do is `sudo dnf install cool-retro-term`.
|
||||
|
||||
Users of **openSUSE** can grab a package from [Open Build Service](http://software.opensuse.org/package/cool-retro-term).
|
||||
@@ -49,6 +55,11 @@ Users of **Ubuntu 14.04 LTS (Trusty) up to 15.10 (Wily)** can use [this PPA](htt
|
||||
|
||||
**Ubuntu 17.10** can use [this PPA](https://launchpad.net/%7Evantuz/+archive/ubuntu/cool-retro-term)
|
||||
|
||||
**Solus** users can install using `eopg`:
|
||||
```
|
||||
eopkg it cool-retro-term
|
||||
```
|
||||
|
||||
**macOS** users can grab the latest dmg from the release page: https://github.com/Swordfish90/cool-retro-term/releases
|
||||
|
||||
## Build instructions (Linux)
|
||||
|
||||
11
app/main.cpp
11
app/main.cpp
@@ -33,6 +33,10 @@ int main(int argc, char *argv[])
|
||||
// This disables QT appmenu under Ubuntu, which is not working with QML apps.
|
||||
setenv("QT_QPA_PLATFORMTHEME", "", 1);
|
||||
|
||||
#if defined (Q_OS_LINUX)
|
||||
setenv("QSG_RENDER_LOOP", "threaded", 0);
|
||||
#endif
|
||||
|
||||
#if defined(Q_OS_MAC)
|
||||
// This allows UTF-8 characters usage in OSX.
|
||||
setenv("LC_CTYPE", "UTF-8", 1);
|
||||
@@ -70,8 +74,10 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString appVersion("1.1.1");
|
||||
|
||||
if (args.contains("-v") || args.contains("--version")) {
|
||||
qDebug() << "cool-retro-term 1.0.1";
|
||||
qDebug() << ("cool-retro-term " + appVersion).toStdString().c_str();
|
||||
return 0;
|
||||
}
|
||||
|
||||
@@ -82,6 +88,7 @@ int main(int argc, char *argv[])
|
||||
}
|
||||
QVariant command(cmdList.empty() ? QVariant() : cmdList[0]);
|
||||
QVariant commandArgs(cmdList.size() <= 1 ? QVariant() : QVariant(cmdList.mid(1)));
|
||||
engine.rootContext()->setContextProperty("appVersion", appVersion);
|
||||
engine.rootContext()->setContextProperty("defaultCmd", command);
|
||||
engine.rootContext()->setContextProperty("defaultCmdArgs", commandArgs);
|
||||
|
||||
@@ -98,7 +105,7 @@ int main(int argc, char *argv[])
|
||||
importPathList.prepend(QCoreApplication::applicationDirPath() + "/../../../qmltermwidget");
|
||||
engine.setImportPathList(importPathList);
|
||||
|
||||
engine.load(QUrl(QStringLiteral ("qrc:/main.qml")));
|
||||
engine.load(QUrl(QStringLiteral ("qrc:/root.qml")));
|
||||
|
||||
if (engine.rootObjects().isEmpty()) {
|
||||
qDebug() << "Cannot load QML interface";
|
||||
|
||||
@@ -24,7 +24,7 @@ import QtQuick.Controls 1.0
|
||||
import "utils.js" as Utils
|
||||
|
||||
QtObject{
|
||||
readonly property string version: "1.1.0"
|
||||
readonly property string version: appVersion
|
||||
readonly property int profileVersion: 2
|
||||
|
||||
// STATIC CONSTANTS ////////////////////////////////////////////////////////
|
||||
@@ -134,7 +134,7 @@ QtObject{
|
||||
|
||||
property FontLoader fontLoader: FontLoader { }
|
||||
|
||||
onFontScalingChanged: handleFontChanged();
|
||||
onTotalFontScalingChanged: handleFontChanged();
|
||||
onFontWidthChanged: handleFontChanged();
|
||||
|
||||
function getIndexByName(name) {
|
||||
|
||||
@@ -9,6 +9,12 @@ MenuBar {
|
||||
visible: defaultMenuBar.visible
|
||||
MenuItem {action: quitAction}
|
||||
}
|
||||
Menu {
|
||||
title: qsTr("Terminal")
|
||||
visible: defaultMenuBar.visible
|
||||
MenuItem {action: newAction}
|
||||
MenuItem {action: closeAction}
|
||||
}
|
||||
Menu {
|
||||
title: qsTr("Edit")
|
||||
visible: defaultMenuBar.visible && appSettings.showMenubar
|
||||
|
||||
@@ -236,7 +236,9 @@ QtObject{
|
||||
function addSystemFonts() {
|
||||
var families = monospaceSystemFonts;
|
||||
for (var i = 0; i < families.length; i++) {
|
||||
console.log("Adding system font: ", families[i])
|
||||
if (verbose) {
|
||||
console.log("Adding system font: ", families[i])
|
||||
}
|
||||
fontlist.append(convertToListElement(families[i]))
|
||||
}
|
||||
}
|
||||
|
||||
@@ -67,6 +67,22 @@ ApplicationWindow{
|
||||
color: "#00000000"
|
||||
title: terminalContainer.title || qsTr(appSettings.wintitle)
|
||||
|
||||
Action {
|
||||
id: newAction
|
||||
text: qsTr("New Window")
|
||||
shortcut: Qt.platform.os === "osx" ? StandardKey.New : "Ctrl+Shift+N"
|
||||
onTriggered: {
|
||||
root.newWindow()
|
||||
}
|
||||
}
|
||||
Action {
|
||||
id: closeAction
|
||||
text: qsTr("Close Window")
|
||||
shortcut: Qt.platform.os === "osx" ? StandardKey.Close : "Ctrl+Shift+W"
|
||||
onTriggered: {
|
||||
terminalWindow.close()
|
||||
}
|
||||
}
|
||||
Action {
|
||||
id: showMenubarAction
|
||||
text: qsTr("Show Menubar")
|
||||
@@ -157,9 +173,6 @@ ApplicationWindow{
|
||||
}
|
||||
}
|
||||
onClosing: {
|
||||
// OSX Since we are currently supporting only one window
|
||||
// quit the application when it is closed.
|
||||
if (Qt.platform.os === "osx")
|
||||
Qt.quit()
|
||||
root.closeWindow()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -17,6 +17,7 @@
|
||||
<file>InsertNameDialog.qml</file>
|
||||
<file>SettingsEffectsTab.qml</file>
|
||||
<file>main.qml</file>
|
||||
<file>root.qml</file>
|
||||
<file>SettingsTerminalTab.qml</file>
|
||||
<file>FontScanlines.qml</file>
|
||||
<file>fonts/1977-apple2/PrintChar21.ttf</file>
|
||||
|
||||
43
app/qml/root.qml
Normal file
43
app/qml/root.qml
Normal file
@@ -0,0 +1,43 @@
|
||||
/*******************************************************************************
|
||||
* Copyright (c) 2013 "Filippo Scognamiglio"
|
||||
* https://github.com/Swordfish90/cool-retro-term
|
||||
*
|
||||
* This file is part of cool-retro-term.
|
||||
*
|
||||
* cool-retro-term is free software: you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
* the Free Software Foundation, either version 3 of the License, or
|
||||
* (at your option) any later version.
|
||||
*
|
||||
* This program is distributed in the hope that it will be useful,
|
||||
* but WITHOUT ANY WARRANTY; without even the implied warranty of
|
||||
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
|
||||
* GNU General Public License for more details.
|
||||
*
|
||||
* You should have received a copy of the GNU General Public License
|
||||
* along with this program. If not, see <http://www.gnu.org/licenses/>.
|
||||
*******************************************************************************/
|
||||
import QtQuick 2.2
|
||||
import QtQuick.Window 2.1
|
||||
|
||||
QtObject {
|
||||
id: root
|
||||
property int terminalCount
|
||||
|
||||
function newWindow() {
|
||||
var component = Qt.createComponent("main.qml")
|
||||
var window = component.createObject()
|
||||
window.show()
|
||||
terminalCount = terminalCount + 1
|
||||
}
|
||||
function closeWindow() {
|
||||
terminalCount = terminalCount - 1
|
||||
if (terminalCount == 0) {
|
||||
Qt.quit()
|
||||
}
|
||||
}
|
||||
Component.onCompleted: {
|
||||
terminalCount = 0
|
||||
root.newWindow()
|
||||
}
|
||||
}
|
||||
@@ -1,39 +1,53 @@
|
||||
name: cool-retro-term # check to see if it's available
|
||||
version: '1.1.0' # this is freakin' awesome
|
||||
summary: cool-retro-term is a terminal emulator. # 79 char long summary
|
||||
version: '1.1.1' # this is freakin' awesome
|
||||
summary: cool-retro-term is a cool and retro terminal emulator. # 79 char long summary
|
||||
description: |
|
||||
cool-retro-term is a terminal emulator which mimics the look and feel of the old cathode tube screens. It has been designed to be eye-candy, customizable, and reasonably lightweight.
|
||||
grade: stable # must be 'stable' to release into candidate/stable channels
|
||||
confinement: strict # use 'strict' once you have the right plugs
|
||||
confinement: classic # use 'strict' once you have the right plugs
|
||||
|
||||
base: core18
|
||||
|
||||
apps:
|
||||
cool-retro-term:
|
||||
command: desktop-launch $SNAP/usr/bin/cool-retro-term
|
||||
command: bin/desktop-launch $SNAP/usr/bin/cool-retro-term
|
||||
desktop: usr/share/applications/cool-retro-term.desktop
|
||||
plugs:
|
||||
- unity7
|
||||
- x11
|
||||
- desktop
|
||||
- home
|
||||
- network
|
||||
- network-bind
|
||||
- network-manager
|
||||
- password-manager-service
|
||||
- locale-control
|
||||
- gsettings
|
||||
- shutdown
|
||||
- firewall-control
|
||||
- process-control
|
||||
- system-observe
|
||||
environment:
|
||||
QML2_IMPORT_PATH: $SNAP/usr/lib/x86_64-linux-gnu/qt5/qml
|
||||
|
||||
parts:
|
||||
desktop-qt5:
|
||||
source: https://github.com/ubuntu/snapcraft-desktop-helpers.git
|
||||
source-subdir: qt
|
||||
plugin: make
|
||||
make-parameters: ["FLAVOR=qt5"]
|
||||
build-packages:
|
||||
- build-essential
|
||||
- qtbase5-dev
|
||||
- dpkg-dev
|
||||
stage-packages:
|
||||
- libxkbcommon0
|
||||
- ttf-ubuntu-font-family
|
||||
- dmz-cursor-theme
|
||||
- light-themes
|
||||
- adwaita-icon-theme
|
||||
- gnome-themes-standard
|
||||
- shared-mime-info
|
||||
- libqt5gui5
|
||||
- libgdk-pixbuf2.0-0
|
||||
- libqt5svg5 # for loading icon themes which are svg
|
||||
- try: [appmenu-qt5] # not available on core18
|
||||
- locales-all
|
||||
- xdg-user-dirs
|
||||
- fcitx-frontend-qt5
|
||||
|
||||
my-part:
|
||||
source: https://github.com/Swordfish90/cool-retro-term
|
||||
source-type: git
|
||||
plugin: qmake # See 'snapcraft plugins'
|
||||
qt-version: qt5
|
||||
after: [desktop-qt5]
|
||||
|
||||
|
||||
build-packages:
|
||||
- build-essential
|
||||
- qmlscene
|
||||
@@ -44,11 +58,12 @@ parts:
|
||||
stage-packages:
|
||||
- qmlscene
|
||||
- qml-module-qtquick-controls
|
||||
- qtdeclarative5-qtquick2-plugin
|
||||
- libqt5qml-graphicaleffects
|
||||
- qml-module-qtquick2
|
||||
- qml-module-qtgraphicaleffects
|
||||
- qml-module-qtquick-dialogs
|
||||
- qtdeclarative5-localstorage-plugin
|
||||
- qtdeclarative5-window-plugin
|
||||
- qml-module-qtquick-localstorage
|
||||
- qml-module-qtquick-window2
|
||||
- libgl1-mesa-dev
|
||||
- qtdeclarative5-dev-tools
|
||||
- qml-module-qtquick-extras
|
||||
|
||||
|
||||
Reference in New Issue
Block a user