31 Commits

Author SHA1 Message Date
Filippo Scognamiglio
dac2b4ff16 Merge pull request #560 from ayazhafiz/docs/homebrew
Add installation instructions using Homebrew
2020-05-09 17:00:35 +02:00
Filippo Scognamiglio
2d12b0c747 Bump qmltermwidget submodule. 2020-05-09 16:51:36 +02:00
Filippo Scognamiglio
5fe26edaa6 Merge pull request #540 from kklemon/support-blinking-cursor
Add blinking cursor support
2020-05-09 16:37:49 +02:00
Filippo Scognamiglio
a736cfd548 Merge pull request #569 from barak/master
get --help and --version to write to stdout
2020-05-09 16:36:45 +02:00
Filippo Scognamiglio
5af4214daa Merge pull request #566 from tgerczei/master
now packaged in the official repository
2020-05-09 16:32:14 +02:00
Barak A. Pearlmutter
98ef7b329a allow --help/-h/--version/-v options without graphics 2020-05-08 16:29:51 +01:00
Barak A. Pearlmutter
b0e1962fa7 send cool-retro-term --help and --version to stdout 2020-05-08 16:29:51 +01:00
Barak A. Pearlmutter
83684e8882 squelch ugly quotes on 1st line of cool-retro-term --usage 2020-05-08 16:29:51 +01:00
Barak A. Pearlmutter
1ed7d077a9 git ignore app/moc_predefs.h 2020-05-08 16:29:51 +01:00
Filippo Scognamiglio
ba4b36618f Merge pull request #546 from jayk/master
Yaourt is deprecated, use trizen instead for arch instructions
2020-05-06 18:44:52 +02:00
Filippo Scognamiglio
af647a4bad Merge pull request #584 from pwwiur/patch-1
Adding snap install method
2020-05-06 18:34:41 +02:00
Filippo Scognamiglio
b719530ef0 Merge pull request #576 from AutumnalAntlers/ReadMe-Changes
Update Readme.md to include directions to settings
2020-05-06 18:33:33 +02:00
Amir Fo
530d61d67e Adding snap install method
Adding snap install method which is supported in most of the distros and is easy!
2020-05-04 20:58:13 +04:30
AutumnalAntlers
3d76bcb48c Update Readme.md to include directions to settings
Several users of OS's without titlebars or window decor have expressed confusion at how one change's their theme (in this case, via the context menu). Mentioning how to access the menu in the Readme will make the settings more accessible and prevent any future confusion. It might be more appropriate to create a "Use" heading exploring features such as Performance settings, but for the sake of brevity, I've just inserted a mention at the end of the description, before more OS-specific install instructions.
2020-03-22 11:40:40 -07:00
Tamás Gérczei
70ce2f1f3c now packaged in the official repository 2019-12-28 09:35:08 +01:00
ayazhafiz
21a190a1aa Add installation instructions using Homebrew
I was not aware there was a [Homebrew cask](https://github.com/Homebrew/homebrew-cask/blob/master/Casks/cool-retro-term.rb) for this
project, which simplifies installation on macOS. This commit adds
documentation for installing the app via Homebrew.
2019-11-25 10:20:36 -06:00
Jay Kuri
a88d222709 Merge pull request #1 from jayk/trizen-not-yaourt
Update Readme - Trizen for Arch - Yaourt is deprecated.
2019-08-23 13:47:44 -06:00
Jay Kuri
b2defceae5 Update Readme - Trizen for Arch - Yaourt is deprecated.
yaourt is deprecated.  Use trizen instead.  The command line arguments are identical to yaourt, for easy migration.
2019-08-23 13:47:28 -06:00
Kristian
8d7565ffc4 Disable blinking cursor by default 2019-07-20 16:51:10 +02:00
Kristian
9960b25dff Add support for blinking cursor 2019-07-08 15:21:17 +02:00
Kristian
411c116deb Update qmltermwidget submodule 2019-07-08 15:20:56 +02:00
Filippo Scognamiglio
64e007f1fd Update qmltermwidget submodule with CTRL+SPACE fix. 2019-06-18 22:16:23 +02:00
Filippo Scognamiglio
c62fc365db Merge pull request #509 from 0mp/patch-2
Add FreeBSD installation instructions
2019-04-20 23:14:23 +02:00
Filippo Scognamiglio
e7e630bd5d Merge pull request #524 from Haradric/patch-1
Update README.md
2019-04-20 23:13:34 +02:00
Filippo Scognamiglio
7d77175fbb Merge pull request #521 from tgerczei/master
new ebuild available for 1.1.1
2019-04-20 23:12:46 +02:00
Haradric
f033553972 Update README.md
added installation method via Hombrew
2019-04-16 12:27:22 +03:00
Tamás Gérczei
ae1ed044ba new ebuild available for 1.1.1 2019-04-01 21:07:15 +02:00
Filippo Scognamiglio
35d601c7a7 Add two missing qt dependencies to snapcraft.yaml 2019-03-27 18:56:44 +01:00
Filippo Scognamiglio
f89aeec374 Merge pull request #512 from timm0e/patch-1
Fix typo in README.md
2019-02-17 17:35:20 +01:00
timm0e
42c3b4b42e Fix typo in README.md 2019-02-17 15:32:08 +01:00
Mateusz Piotrowski
322fc31396 Add FreeBSD installation instructions 2019-02-12 10:44:58 +01:00
12 changed files with 89 additions and 105 deletions

1
.gitignore vendored
View File

@@ -18,6 +18,7 @@
*.pro.user.*
*.moc
moc_*.cpp
moc_*.h
qrc_*.cpp
ui_*.h
Makefile*

View File

@@ -12,6 +12,8 @@ It uses the QML port of qtermwidget (Konsole) developed by me: https://github.co
This terminal emulator works under Linux and macOS and requires Qt 5.2 or higher.
Settings such as colors, fonts, and effects can be accessed via context menu.
## Screenshots
![Image](<https://i.imgur.com/TNumkDn.png>)
![Image](<https://i.imgur.com/hfjWOM4.png>)
@@ -26,13 +28,13 @@ Just grab the latest AppImage from the release page and make it executable and r
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`.
**Fedora** has the `cool-retro-term` in the official 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).
**Arch** users can install this [package](https://aur.archlinux.org/packages/cool-retro-term-git/) directly via the [AUR](https://aur.archlinux.org):
yaourt -S aur/cool-retro-term-git
trizen -S aur/cool-retro-term-git
or use:
@@ -40,17 +42,6 @@ or use:
to install precompiled from community repository.
**Gentoo** users can now install the third release "1.1.0" from a 3rd-party repository preferably via layman:
USE="git" emerge app-portage/layman
wget https://www.gerczei.eu/files/gerczei.xml -O /etc/layman/overlays/gerczei.xml
layman -f -a qt -a gerczei # those who've added the repo before 27/08/17 should remove, update and add it again as its source has changed
ACCEPT_KEYWORDS="~*" emerge =x11-terms/cool-retro-term-1.1.0::gerczei
The live ebuild (version 9999-r1) tracking the bleeding-edge WIP codebase also remains available.
A word of warning: USE flags and keywords are to be added to portage's configuration files and every emerge operation should be executed with '-p' (short option for --pretend) appended to the command line first as per best practice!
Users of **Ubuntu 14.04 LTS (Trusty) up to 15.10 (Wily)** can use [this PPA](https://launchpad.net/~bugs-launchpad-net-falkensweb).
**Ubuntu 17.10** can use [this PPA](https://launchpad.net/%7Evantuz/+archive/ubuntu/cool-retro-term)
@@ -60,7 +51,23 @@ Users of **Ubuntu 14.04 LTS (Trusty) up to 15.10 (Wily)** can use [this PPA](htt
eopkg it cool-retro-term
```
**macOS** users can grab the latest dmg from the release page: https://github.com/Swordfish90/cool-retro-term/releases
**macOS** users can grab the latest dmg from the [release page](https://github.com/Swordfish90/cool-retro-term/releases) or install via Homebrew:
```
brew cask install cool-retro-term
```
**FreeBSD** users can install cool-retro-term with `pkg`:
pkg install cool-retro-term
## Build instructions (FreeBSD)
Grab a copy of [the FreeBSD Ports Collection](https://www.freebsd.org/doc/en_US.ISO8859-1/books/handbook/ports-using.html), modify [`/usr/ports/x11/cool-retro-term/Makefile`](https://svnweb.freebsd.org/ports/head/x11/cool-retro-term/Makefile?view=markup) as you like, and then run `make install` to build and install the emulator:
```
cd /usr/ports/x11/cool-retro-term
make install
```
## Build instructions (Linux)
@@ -95,6 +102,12 @@ Make sure to install these first.
---
**snapcraft (most of distros)**
sudo snap install cool-retro-term --classic
---
**Debian Jessie and above**
sudo apt install build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev qml-module-qtquick-controls qml-module-qtgraphicaleffects qml-module-qtquick-dialogs qml-module-qtquick-localstorage qml-module-qtquick-window2 qml-module-qt-labs-settings qml-module-qt-labs-folderlistmodel
@@ -186,6 +199,12 @@ cp -r qmltermwidget/QMLTermWidget cool-retro-term.app/Contents/PlugIns
open cool-retro-term.app
```
**Homebrew**
```sh
brew cask install cool-retro-term
```
## Donations
I made this project in my spare time because I love what I'm doing. If you are enjoying it and you want to buy me a beer click [here](https://www.paypal.com/cgi-bin/webscr?cmd=_donations&business=flscogna%40gmail%2ecom&lc=IT&item_name=Filippo%20Scognamiglio&currency_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted).

View File

@@ -42,6 +42,28 @@ int main(int argc, char *argv[])
setenv("LC_CTYPE", "UTF-8", 1);
#endif
if (argc>1 && (!strcmp(argv[1],"-h") || !strcmp(argv[1],"--help"))) {
QTextStream cout(stdout, QIODevice::WriteOnly);
cout << "Usage: " << argv[0] << " [--default-settings] [--workdir <dir>] [--program <prog>] [-p|--profile <prof>] [--fullscreen] [-h|--help]" << endl;
cout << " --default-settings Run cool-retro-term with the default settings" << endl;
cout << " --workdir <dir> Change working directory to 'dir'" << endl;
cout << " -e <cmd> Command to execute. This option will catch all following arguments, so use it as the last option." << endl;
cout << " -T <title> Set window title to 'title'." << endl;
cout << " --fullscreen Run cool-retro-term in fullscreen." << endl;
cout << " -p|--profile <prof> Run cool-retro-term with the given profile." << endl;
cout << " -h|--help Print this help." << endl;
cout << " --verbose Print additional information such as profiles and settings." << endl;
return 0;
}
QString appVersion("1.1.1");
if (argc>1 && (!strcmp(argv[1],"-v") || !strcmp(argv[1],"--version"))) {
QTextStream cout(stdout, QIODevice::WriteOnly);
cout << "cool-retro-term " << appVersion << endl;
return 0;
}
QApplication app(argc, argv);
// set application attributes
// Has no effects, see https://bugreports.qt.io/browse/QTBUG-51293
@@ -59,27 +81,6 @@ int main(int argc, char *argv[])
// Manage command line arguments from the cpp side
QStringList args = app.arguments();
if (args.contains("-h") || args.contains("--help")) {
// BUG: This usage help text goes to stderr, should go to stdout.
// BUG: First line of output is surrounded by double quotes.
qDebug() << "Usage: " + args.at(0) + " [--default-settings] [--workdir <dir>] [--program <prog>] [-p|--profile <prof>] [--fullscreen] [-h|--help]";
qDebug() << " --default-settings Run cool-retro-term with the default settings";
qDebug() << " --workdir <dir> Change working directory to 'dir'";
qDebug() << " -e <cmd> Command to execute. This option will catch all following arguments, so use it as the last option.";
qDebug() << " -T <title> Set window title to 'title'.";
qDebug() << " --fullscreen Run cool-retro-term in fullscreen.";
qDebug() << " -p|--profile <prof> Run cool-retro-term with the given profile.";
qDebug() << " -h|--help Print this help.";
qDebug() << " --verbose Print additional information such as profiles and settings.";
return 0;
}
QString appVersion("1.1.1");
if (args.contains("-v") || args.contains("--version")) {
qDebug() << ("cool-retro-term " + appVersion).toStdString().c_str();
return 0;
}
// Manage default command
QStringList cmdList;
@@ -105,7 +106,7 @@ int main(int argc, char *argv[])
importPathList.prepend(QCoreApplication::applicationDirPath() + "/../../../qmltermwidget");
engine.setImportPathList(importPathList);
engine.load(QUrl(QStringLiteral ("qrc:/root.qml")));
engine.load(QUrl(QStringLiteral ("qrc:/main.qml")));
if (engine.rootObjects().isEmpty()) {
qDebug() << "Cannot load QML interface";

View File

@@ -59,6 +59,8 @@ QtObject{
property real burnInQuality: 0.5
property bool useFastBurnIn: Qt.platform.os === "osx" ? false : true
property bool blinkingCursor: false
onWindowScalingChanged: handleFontChanged();
// PROFILE SETTINGS ///////////////////////////////////////////////////////
@@ -208,7 +210,8 @@ QtObject{
burnInQuality: burnInQuality,
useCustomCommand: useCustomCommand,
customCommand: customCommand,
useFastBurnIn: useFastBurnIn
useFastBurnIn: useFastBurnIn,
blinkingCursor: blinkingCursor
}
return stringify(settings);
}
@@ -296,6 +299,8 @@ QtObject{
customCommand = settings.customCommand !== undefined ? settings.customCommand : customCommand
useFastBurnIn = settings.useFastBurnIn !== undefined ? settings.useFastBurnIn : useFastBurnIn;
blinkingCursor = settings.blinkingCursor !== undefined ? settings.blinkingCursor : blinkingCursor
}
function loadProfileString(profileString){

View File

@@ -9,12 +9,6 @@ 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

@@ -94,6 +94,7 @@ Item{
smooth: !appSettings.lowResolutionFont
enableBold: false
fullCursorHeight: true
blinkingCursor: appSettings.blinkingCursor
session: QMLTermSession {
id: ksession

View File

@@ -114,6 +114,24 @@ Tab{
}
}
}
GroupBox{
title: qsTr("Cursor")
Layout.fillWidth: true
ColumnLayout {
anchors.fill: parent
CheckBox{
id: blinkingCursor
text: qsTr("Blinking Cursor")
checked: appSettings.blinkingCursor
onCheckedChanged: appSettings.blinkingCursor = checked
}
Binding{
target: blinkingCursor
property: "checked"
value: appSettings.blinkingCursor
}
}
}
GroupBox{
title: qsTr("Colors")
Layout.fillWidth: true

View File

@@ -67,22 +67,6 @@ 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")
@@ -173,6 +157,9 @@ ApplicationWindow{
}
}
onClosing: {
root.closeWindow()
// OSX Since we are currently supporting only one window
// quit the application when it is closed.
if (Qt.platform.os === "osx")
Qt.quit()
}
}

View File

@@ -17,7 +17,6 @@
<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>

View File

@@ -1,43 +0,0 @@
/*******************************************************************************
* 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

@@ -66,4 +66,6 @@ parts:
- libgl1-mesa-dev
- qtdeclarative5-dev-tools
- qml-module-qtquick-extras
- qml-module-qt-labs-settings
- qml-module-qt-labs-folderlistmodel