Compare commits
31 Commits
adammathes
...
continuous
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
dac2b4ff16 | ||
|
|
2d12b0c747 | ||
|
|
5fe26edaa6 | ||
|
|
a736cfd548 | ||
|
|
5af4214daa | ||
|
|
98ef7b329a | ||
|
|
b0e1962fa7 | ||
|
|
83684e8882 | ||
|
|
1ed7d077a9 | ||
|
|
ba4b36618f | ||
|
|
af647a4bad | ||
|
|
b719530ef0 | ||
|
|
530d61d67e | ||
|
|
3d76bcb48c | ||
|
|
70ce2f1f3c | ||
|
|
21a190a1aa | ||
|
|
a88d222709 | ||
|
|
b2defceae5 | ||
|
|
8d7565ffc4 | ||
|
|
9960b25dff | ||
|
|
411c116deb | ||
|
|
64e007f1fd | ||
|
|
c62fc365db | ||
|
|
e7e630bd5d | ||
|
|
7d77175fbb | ||
|
|
f033553972 | ||
|
|
ae1ed044ba | ||
|
|
35d601c7a7 | ||
|
|
f89aeec374 | ||
|
|
42c3b4b42e | ||
|
|
322fc31396 |
1
.gitignore
vendored
1
.gitignore
vendored
@@ -18,6 +18,7 @@
|
||||
*.pro.user.*
|
||||
*.moc
|
||||
moc_*.cpp
|
||||
moc_*.h
|
||||
qrc_*.cpp
|
||||
ui_*.h
|
||||
Makefile*
|
||||
|
||||
47
README.md
47
README.md
@@ -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
|
||||

|
||||

|
||||
@@ -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¤cy_code=EUR&bn=PP%2dDonationsBF%3abtn_donate_LG%2egif%3aNonHosted).
|
||||
|
||||
|
||||
43
app/main.cpp
43
app/main.cpp
@@ -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;
|
||||
|
||||
@@ -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){
|
||||
|
||||
@@ -94,6 +94,7 @@ Item{
|
||||
smooth: !appSettings.lowResolutionFont
|
||||
enableBold: false
|
||||
fullCursorHeight: true
|
||||
blinkingCursor: appSettings.blinkingCursor
|
||||
|
||||
session: QMLTermSession {
|
||||
id: ksession
|
||||
|
||||
@@ -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
|
||||
|
||||
Submodule qmltermwidget updated: 48274c7566...59f967d5e1
@@ -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
|
||||
|
||||
|
||||
Reference in New Issue
Block a user