Compare commits
6 Commits
1.2.0-beta
...
1.2.0
| Author | SHA1 | Date | |
|---|---|---|---|
|
|
74ae511f92 | ||
|
|
a3fbafe4ae | ||
|
|
8a45fbe9ed | ||
|
|
01c7929ee3 | ||
|
|
2261af17d7 | ||
|
|
41f34c3992 |
192
README.md
192
README.md
@@ -8,9 +8,9 @@
|
||||
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.
|
||||
|
||||
It uses the QML port of qtermwidget (Konsole) developed by me: https://github.com/Swordfish90/qmltermwidget.
|
||||
It uses the QML port of qtermwidget (Konsole): https://github.com/Swordfish90/qmltermwidget.
|
||||
|
||||
This terminal emulator works under Linux and macOS and requires Qt 5.2 or higher.
|
||||
This terminal emulator works under Linux and macOS and requires Qt5. It's suggested that you stick to the latest LTS version.
|
||||
|
||||
Settings such as colors, fonts, and effects can be accessed via context menu.
|
||||
|
||||
@@ -20,191 +20,11 @@ Settings such as colors, fonts, and effects can be accessed via context menu.
|
||||

|
||||
|
||||
## 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:
|
||||
If you want to get a hold of the latest version, just go to the Releases page and grab the latest AppImage (Linux) or dmg (macOS).
|
||||
|
||||
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
|
||||
Alternatively, most distributions such as Ubuntu, Fedora or Arch already package cool-retro-term in their official repositories.
|
||||
|
||||
**Fedora** has the `cool-retro-term` in the official repositories. All you have to do is `sudo dnf install cool-retro-term`.
|
||||
## Building
|
||||
|
||||
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):
|
||||
|
||||
trizen -S aur/cool-retro-term-git
|
||||
|
||||
or use:
|
||||
|
||||
pacman -S cool-retro-term
|
||||
|
||||
to install precompiled from community repository.
|
||||
|
||||
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)
|
||||
|
||||
**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) or install via Homebrew or MacPorts:
|
||||
```
|
||||
brew install cool-retro-term --cask
|
||||
```
|
||||
or
|
||||
```
|
||||
port 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)
|
||||
|
||||
Build cool-retro-term yourself, you know, the retro way.
|
||||
|
||||
## Dependencies
|
||||
Make sure to install these first.
|
||||
|
||||
---
|
||||
|
||||
**Ubuntu 14.04**
|
||||
|
||||
sudo apt-get install build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev qtdeclarative5-controls-plugin qtdeclarative5-qtquick2-plugin libqt5qml-graphicaleffects qtdeclarative5-dialogs-plugin qtdeclarative5-localstorage-plugin qtdeclarative5-window-plugin
|
||||
|
||||
---
|
||||
|
||||
**Ubuntu 16.10**
|
||||
|
||||
sudo apt-get install build-essential qmlscene qt5-qmake qt5-default qtdeclarative5-dev qml-module-qtquick-controls qtdeclarative5-qtquick2-plugin libqt5qml-graphicaleffects qml-module-qtquick-dialogs qtdeclarative5-localstorage-plugin qtdeclarative5-window-plugin
|
||||
|
||||
---
|
||||
|
||||
**Ubuntu 17.04**
|
||||
|
||||
sudo apt install build-essential libqt5qml-graphicaleffects qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtquick-controls qml-module-qtquick-dialogs qmlscene qt5-default qt5-qmake qtdeclarative5-dev qtdeclarative5-localstorage-plugin qtdeclarative5-qtquick2-plugin qtdeclarative5-window-plugin
|
||||
|
||||
---
|
||||
|
||||
**Ubuntu 17.10**
|
||||
|
||||
sudo apt-get install build-essential qml-module-qtgraphicaleffects qml-module-qt-labs-folderlistmodel qml-module-qt-labs-settings qml-module-qtquick-controls qml-module-qtquick-dialogs qmlscene qt5-default qt5-qmake qtdeclarative5-dev qtdeclarative5-localstorage-plugin qtdeclarative5-qtquick2-plugin qtdeclarative5-window-plugin
|
||||
|
||||
---
|
||||
|
||||
**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
|
||||
|
||||
---
|
||||
|
||||
**Fedora**
|
||||
This command should install the known fedora dependencies:
|
||||
|
||||
sudo yum -y install qt5-qtbase qt5-qtbase-devel qt5-qtdeclarative qt5-qtdeclarative-devel qt5-qtgraphicaleffects qt5-qtquickcontrols redhat-rpm-config
|
||||
|
||||
or:
|
||||
|
||||
sudo dnf -y install qt5-qtbase qt5-qtbase-devel qt5-qtdeclarative qt5-qtdeclarative-devel qt5-qtgraphicaleffects qt5-qtquickcontrols redhat-rpm-config
|
||||
|
||||
---
|
||||
|
||||
**Arch Linux**
|
||||
|
||||
sudo pacman -S qt5-base qt5-declarative qt5-quickcontrols qt5-graphicaleffects
|
||||
|
||||
---
|
||||
|
||||
**openSUSE**
|
||||
|
||||
Add repository with latest Qt 5 (this is only needed on openSUSE 13.1, Factory already has it):
|
||||
|
||||
sudo zypper ar http://download.opensuse.org/repositories/KDE:/Qt5/openSUSE_13.1/ KDE:Qt5
|
||||
|
||||
Install dependencies:
|
||||
|
||||
sudo zypper install libqt5-qtbase-devel libqt5-qtdeclarative-devel libqt5-qtquickcontrols libqt5-qtgraphicaleffects
|
||||
|
||||
---
|
||||
|
||||
**Anyone else**
|
||||
|
||||
Install Qt directly from here http://qt-project.org/downloads . Once done export them in you path (replace "_/opt/Qt5.3.1/5.3/gcc_64/bin_" with your correct folder):
|
||||
|
||||
export PATH=/opt/Qt5.3.1/5.3/gcc_64/bin/:$PATH
|
||||
---
|
||||
|
||||
### Compile
|
||||
Once you installed all dependencies (Qt is installed and in your path) you need to compile and run the application:
|
||||
|
||||
```bash
|
||||
# Get it from GitHub
|
||||
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
|
||||
|
||||
# Build it
|
||||
cd cool-retro-term
|
||||
|
||||
# Compile (Fedora and OpenSUSE user should use qmake-qt5 instead of qmake)
|
||||
qmake && make
|
||||
|
||||
# Have fun!
|
||||
./cool-retro-term
|
||||
```
|
||||
|
||||
## Build instructions (macOS)
|
||||
|
||||
1. Install [Xcode](https://developer.apple.com/xcode/) and agree to the licence agreement
|
||||
2. Enter the following commands into the terminal:
|
||||
|
||||
**Brew**
|
||||
|
||||
```sh
|
||||
brew install qt5
|
||||
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
|
||||
export CPPFLAGS="-I/usr/local/opt/qt5/include"
|
||||
export LDFLAGS="-L/usr/local/opt/qt5/lib"
|
||||
export PATH=/usr/local/opt/qt5/bin:$PATH
|
||||
cd cool-retro-term
|
||||
qmake && make
|
||||
mkdir cool-retro-term.app/Contents/PlugIns
|
||||
cp -r qmltermwidget/QMLTermWidget cool-retro-term.app/Contents/PlugIns
|
||||
open cool-retro-term.app
|
||||
```
|
||||
|
||||
**MacPorts**
|
||||
|
||||
```sh
|
||||
sudo port install qt5
|
||||
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
|
||||
cd cool-retro-term
|
||||
/opt/local/libexec/qt5/bin/qmake && make
|
||||
mkdir cool-retro-term.app/Contents/PlugIns
|
||||
cp -r qmltermwidget/QMLTermWidget cool-retro-term.app/Contents/PlugIns
|
||||
open cool-retro-term.app
|
||||
```
|
||||
|
||||
**Homebrew**
|
||||
|
||||
```sh
|
||||
brew install cool-retro-term --cask
|
||||
```
|
||||
Check out the wiki and follow the instructions on how to build it on [Linux](https://github.com/Swordfish90/cool-retro-term/wiki/Build-Instructions-(Linux)) and [macOS](https://github.com/Swordfish90/cool-retro-term/wiki/Build-Instructions-(macOS)).
|
||||
|
||||
@@ -47,9 +47,6 @@ int main(int argc, char *argv[])
|
||||
setenv("LC_CTYPE", "UTF-8", 1);
|
||||
#endif
|
||||
|
||||
// Force fusion style on every platform
|
||||
QQuickStyle::setStyle("Fusion");
|
||||
|
||||
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;
|
||||
@@ -64,7 +61,7 @@ int main(int argc, char *argv[])
|
||||
return 0;
|
||||
}
|
||||
|
||||
QString appVersion("1.2.0-beta1");
|
||||
QString appVersion("1.2.0");
|
||||
|
||||
if (argc>1 && (!strcmp(argv[1],"-v") || !strcmp(argv[1],"--version"))) {
|
||||
QTextStream cout(stdout, QIODevice::WriteOnly);
|
||||
|
||||
@@ -76,7 +76,7 @@ Loader {
|
||||
Connections {
|
||||
target: kterminal
|
||||
|
||||
function onImagePainted() {
|
||||
onImagePainted: {
|
||||
completelyUpdate()
|
||||
}
|
||||
}
|
||||
@@ -84,19 +84,19 @@ Loader {
|
||||
Connections {
|
||||
target: appSettings
|
||||
|
||||
function onBurnInChanged() {
|
||||
onBurnInChanged: {
|
||||
burnInEffect.restartBlurSource()
|
||||
}
|
||||
|
||||
function onTerminalFontChanged() {
|
||||
onTerminalFontChanged: {
|
||||
burnInEffect.restartBlurSource()
|
||||
}
|
||||
|
||||
function onRasterizationChanged() {
|
||||
onRasterizationChanged: {
|
||||
burnInEffect.restartBlurSource()
|
||||
}
|
||||
|
||||
function onBurnInQualityChanged() {
|
||||
onBurnInQualityChanged: {
|
||||
burnInEffect.restartBlurSource()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -47,14 +47,14 @@ Item{
|
||||
Connections {
|
||||
target: copyAction
|
||||
|
||||
function onTriggered() {
|
||||
onTriggered: {
|
||||
kterminal.copyClipboard()
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: pasteAction
|
||||
|
||||
function onTriggered() {
|
||||
onTriggered: {
|
||||
kterminal.pasteClipboard()
|
||||
}
|
||||
}
|
||||
@@ -63,29 +63,29 @@ Item{
|
||||
Connections {
|
||||
target: appSettings
|
||||
|
||||
function onFontScalingChanged() {
|
||||
onFontScalingChanged: {
|
||||
terminalContainer.updateSources()
|
||||
}
|
||||
|
||||
function onFontWidthChanged() {
|
||||
onFontWidthChanged: {
|
||||
terminalContainer.updateSources()
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: terminalContainer
|
||||
|
||||
function onWidthChanged() {
|
||||
onWidthChanged: {
|
||||
terminalContainer.updateSources()
|
||||
}
|
||||
|
||||
function onHeightChanged() {
|
||||
onHeightChanged: {
|
||||
terminalContainer.updateSources()
|
||||
}
|
||||
}
|
||||
Connections {
|
||||
target: terminalWindow
|
||||
|
||||
function onActiveChanged() {
|
||||
onActiveChanged: {
|
||||
kterminal.forceActiveFocus()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -89,7 +89,7 @@ ColumnLayout {
|
||||
}
|
||||
}
|
||||
|
||||
Label {
|
||||
SizedLabel {
|
||||
text: appSettings.fps !== 0 ? appSettings.fps : qsTr("Max")
|
||||
}
|
||||
Label {
|
||||
@@ -109,7 +109,7 @@ ColumnLayout {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
Label {
|
||||
SizedLabel {
|
||||
text: Math.round(txtslider.value * 100) + "%"
|
||||
}
|
||||
|
||||
@@ -130,7 +130,7 @@ ColumnLayout {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
Label {
|
||||
SizedLabel {
|
||||
text: Math.round(bloomSlider.value * 100) + "%"
|
||||
}
|
||||
|
||||
@@ -151,7 +151,7 @@ ColumnLayout {
|
||||
enabled = true
|
||||
}
|
||||
}
|
||||
Label {
|
||||
SizedLabel {
|
||||
text: Math.round(burnInSlider.value * 100) + "%"
|
||||
}
|
||||
}
|
||||
|
||||
@@ -69,7 +69,7 @@ ColumnLayout {
|
||||
Connections {
|
||||
target: appSettings
|
||||
|
||||
function onTerminalFontChanged() {
|
||||
onTerminalFontChanged: {
|
||||
fontChanger.updateIndex()
|
||||
}
|
||||
}
|
||||
|
||||
@@ -27,8 +27,8 @@ import QtQuick.Dialogs 1.1
|
||||
Window {
|
||||
id: settings_window
|
||||
title: qsTr("Settings")
|
||||
width: 600
|
||||
height: 480
|
||||
width: 640
|
||||
height: 640
|
||||
|
||||
property int tabmargins: 15
|
||||
|
||||
|
||||
Reference in New Issue
Block a user