58 Commits

Author SHA1 Message Date
Adam Mathes
e7e3dfed00 spacing 2019-02-09 20:49:31 -08:00
Adam Mathes
aa82250232 tabs -> spaces 2019-02-09 20:25:36 -08:00
Adam Mathes
88f59d2016 fix spacing 2019-02-09 20:23:51 -08:00
Adam Mathes
8021ff4256 Merge branch 'master' of https://github.com/Swordfish90/cool-retro-term 2019-02-09 20:16:27 -08:00
Adam Mathes
32eab18da9 cean closewindow 2019-02-09 19:56:43 -08:00
Adam Mathes
52140c4c45 count child terminals, qt.quit when none left 2019-02-09 19:30:29 -08:00
Filippo Scognamiglio
6e4d5cfddd Merge pull request #503 from mclang/patch-1
Adds installation instruction for Solus
2019-02-02 17:44:58 +01:00
Adam Mathes
10fd2a11ee qml 2019-02-02 08:01:05 -08:00
Adam Mathes
749ea88909 upstream merge 2019-02-02 07:42:21 -08:00
mclang
d81485a8bf Adds installation instruction for Solus 2019-02-01 15:09:17 +02:00
Filippo Scognamiglio
a9260d956c Remove snapcraft plugs. Not used for classic confinement. 2019-01-30 20:05:53 +01:00
Filippo Scognamiglio
025bb560bc Update README.md 2019-01-22 21:49:21 +01:00
Filippo Scognamiglio
cdd1488e13 Print system font log only when verbose is enabled. 2019-01-19 21:08:57 +01:00
Filippo Scognamiglio
b8b2644969 Fix snap package launcher and expose in path qml directory. 2019-01-19 15:03:58 +01:00
Filippo Scognamiglio
09b5c0a5d0 Update snap package to use core18. 2019-01-18 00:34:34 +01:00
Filippo Scognamiglio
1ed66f3aa2 Update snapcraft file. 2019-01-17 22:47:38 +01:00
Filippo Scognamiglio
3b4d5d1c3f Bump version number. 2019-01-17 22:24:32 +01:00
Filippo Scognamiglio
f98fd5a7ad Fix font slider misbehaving. 2019-01-17 22:23:54 +01:00
Filippo Scognamiglio
b961109623 Use a single version name. 2019-01-17 22:03:25 +01:00
Filippo Scognamiglio
8f0d1023a4 Use threaded renderer by default in linux. This improves performances. 2019-01-17 21:47:59 +01:00
Filippo Scognamiglio
79773ba95c Merge pull request #499 from Swordfish90/old-burnin
Reintroduce optional old burnin and improve highdpi support.
2019-01-17 21:35:24 +01:00
Filippo Scognamiglio
b026fe357e Merge pull request #495 from refacto/master
correct version number output with --version
2019-01-07 21:33:47 +01:00
Sascha Paunovic
ade36c013b correct version number output with --version 2019-01-07 12:24:53 +01:00
Filippo Scognamiglio
54a6a7f590 Merge pull request #494 from probonopd/patch-2
Update usr/share/metainfo
2019-01-04 22:46:58 +01:00
probonopd
20728e4a0f usr/share/metainfo
As per https://www.freedesktop.org/software/appstream/docs/chap-Quickstart.html#sect-Quickstart-DesktopApps, usr/share/metainfo should be used
2019-01-04 18:53:09 +00:00
Filippo Scognamiglio
afa456f6b3 Merge pull request #493 from probonopd/patch-2
Fix #336 and upload to GitHub Releases
2019-01-04 19:29:25 +01:00
probonopd
3fbfb77430 Upload to GitHub Releases
Need to set a GITHUB_TOKEN environment variable in https://travis-ci.org/Swordfish90/cool-retro-term/settings
2019-01-03 11:04:35 +00:00
probonopd
051bcb62c6 Fix #336 2019-01-03 10:54:43 +00:00
Filippo Scognamiglio
d2c57eed6d Merge pull request #336 from probonopd/patch-1
Generate AppImage of each build on Travis CI
2019-01-02 23:58:39 +01:00
Adam Mathes
3f0653106e Merge branch 'master' of https://github.com/Swordfish90/cool-retro-term 2018-03-04 13:33:37 -08:00
Adam Mathes
9954fde6f1 qmlterm update 2017-12-17 19:06:35 -08:00
Adam Mathes
3ec46ea833 Merge remote-tracking branch 'upstream/master' 2017-10-18 17:05:54 -07:00
probonopd
4bff6efe97 Update .travis.yml 2017-04-03 23:07:30 +02:00
probonopd
c514dc7a24 See if we still need 2 runs 2017-04-03 22:55:45 +02:00
probonopd
24754edb6a Use linuxdeployqt-continuous-x86_64.AppImage for now 2017-03-17 21:05:44 +01:00
probonopd
79fbb76524 Try to reduce workarounds fpr 2017-03-17 21:02:20 +01:00
probonopd
b85aede966 Update .travis.yml 2017-02-25 01:27:19 +01:00
probonopd
c66ca6e44f Update .travis.yml 2017-02-25 01:20:00 +01:00
probonopd
a192024fef Update .travis.yml 2017-02-25 01:12:13 +01:00
probonopd
918df9098a Update .travis.yml 2017-02-25 01:06:42 +01:00
probonopd
c9271bfa36 Update .travis.yml 2017-02-25 01:01:39 +01:00
probonopd
fa162c818b Update .travis.yml 2017-02-25 00:56:00 +01:00
probonopd
ff976e3ec2 Update .travis.yml 2017-02-25 00:55:46 +01:00
probonopd
17c5651305 Update .travis.yml 2017-02-25 00:50:41 +01:00
probonopd
7c7b049ba1 Update .travis.yml 2017-02-25 00:49:16 +01:00
probonopd
0823fe8b3d find /opt/qt58/ | grep QtGraphicalEffects 2017-02-19 21:43:34 +01:00
probonopd
e787fd0fb5 Update .travis.yml 2017-02-19 20:11:53 +01:00
probonopd
650497bff4 Debug why some qml imports do not get deployed 2017-02-19 18:45:29 +01:00
probonopd
2f25bd30b0 linuxdeployqt-3-x86_64.AppImage 2017-02-19 18:38:16 +01:00
probonopd
d58157a450 -qmldir=./app/qml/ -qmldir=./qmltermwidget/ 2017-02-19 18:32:44 +01:00
probonopd
9d049bd041 Use linuxdeployqt-3-x86_64.AppImage 2017-02-19 18:24:35 +01:00
probonopd
988222b711 Upload to transfer.sh 2017-02-19 18:23:31 +01:00
probonopd
f42bd3036f Install libgl1-mesa-dev 2017-02-19 18:08:53 +01:00
probonopd
297239fb5c Install libgl-dev 2017-02-19 18:05:37 +01:00
probonopd
dbd46d44aa Update .travis.yml 2017-02-19 18:01:29 +01:00
probonopd
254f4d6e92 Create .travis.yml 2017-02-19 17:56:57 +01:00
Adam Mathes
d59ac20e38 merge multiterm branch 2017-01-11 17:36:37 -08:00
Adam Mathes
7ce6571e1f change to point to qmlterm fork 2017-01-10 21:21:18 -08:00
10 changed files with 168 additions and 33 deletions

37
.travis.yml Normal file
View 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)/

View File

@@ -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)

View File

@@ -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";

View File

@@ -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) {

View File

@@ -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

View File

@@ -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]))
}
}

View File

@@ -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()
}
}

View File

@@ -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
View 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()
}
}

View File

@@ -1,32 +1,46 @@
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
@@ -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