39 Commits

Author SHA1 Message Date
Aric Renzo
c7bb749d3d Updating docker build instructions. 2018-09-17 10:29:25 -04:00
Aric Renzo
8e5bc2ffca Updating README to use user settings in cool-retro-term. 2018-09-17 10:27:42 -04:00
Aric Renzo
a445ab4b86 removing extraneous comments and debugging. 2018-09-14 15:34:30 -04:00
Aric Renzo
90060c8d1f Cleaning up the Dockerfile. 2018-09-14 15:00:56 -04:00
Aric Renzo
af317fe39a Adding documentation and a cleaner dockerfile. 2018-09-14 15:00:44 -04:00
Aric Renzo
d25346e814 Adding initial commit for containerizing cool-retro-term 2018-09-13 15:37:05 -04:00
Filippo Scognamiglio
1cf6e2743b Merge pull request #432 from picospuch/master
Refine alt(meta) and ctrl behaviour for emacs on macos
2018-04-28 00:00:40 +02:00
spuch
68a5f0dd4b update submodule 2018-03-08 20:00:15 +08:00
spuch
654f8d0761 fix alt(meta), ctrl for emacs on macos 2018-03-06 17:33:30 +08:00
Filippo Scognamiglio
dd799cf5c0 Merge pull request #375 from tgerczei/master
Gentoo package version bump announced
2018-02-25 12:24:57 +01:00
Filippo Scognamiglio
b8be28619a Merge pull request #380 from leereilly/macOS-updated
macOS updates
2018-02-25 12:22:28 +01:00
Filippo Scognamiglio
ca012a1c80 Merge pull request #390 from suve/fixes-image-sizes-in-appdata-file
Make screenshot sizes in appdata XML match actual image sizes
2018-02-25 12:09:22 +01:00
Filippo Scognamiglio
50de42ec9f Merge pull request #391 from suve/improves-manpage
Improve manpage
2018-02-25 12:08:01 +01:00
Filippo Scognamiglio
38c9dd50ff Merge pull request #400 from hroncok/patch-1
cool-retro-term made it to Fedora official repos
2018-02-25 12:04:30 +01:00
Filippo Scognamiglio
27e4e3444a Merge pull request #401 from ways/master
Instrucitons for ubuntu 17.10. Fixes https://github.com/Swordfish90/c…
2018-02-25 12:03:41 +01:00
Filippo Scognamiglio
a8935da416 Merge branch 'master' into master 2018-02-25 12:03:13 +01:00
Filippo Scognamiglio
beb56c527b Merge pull request #405 from maiki/patch-1
Fix bad spacing and punctuation in readme
2018-02-25 11:55:31 +01:00
Filippo Scognamiglio
5e3caedaf6 Merge pull request #407 from mason1920/patch-1
Change apt-get to apt, and added stretch.
2018-02-25 11:54:23 +01:00
Filippo Scognamiglio
0be17716f5 Merge pull request #409 from haesbaert/master
Add a -T option that sets window title.
2018-02-25 11:53:42 +01:00
Filippo Scognamiglio
dda5fbc330 Increase baseScaling font for knight profile to improve consistency. 2018-02-25 11:50:23 +01:00
Filippo Scognamiglio
ffc16c6814 Merge branch 'larsbrinkhoff-knight' 2018-02-25 11:47:51 +01:00
Filippo Scognamiglio
705371d7ee Merge branch 'knight' of https://github.com/larsbrinkhoff/cool-retro-term into larsbrinkhoff-knight 2018-02-25 11:37:11 +01:00
Filippo Scognamiglio
7c7810836e Merge pull request #414 from avh-on1/patch-1
Add Debian Stretch build and run dependencies
2018-02-22 09:17:20 +01:00
Filippo Scognamiglio
af9c039dcb Merge pull request #419 from tomchiverton/patch-3
Ubuntu 17.10 PPA
2018-02-22 09:15:14 +01:00
Tom Chiverton
7325835c3f Ubuntu 17.10 PPA 2018-02-10 14:40:56 +00:00
Lars Brinkhoff
e7aa72a7ab Add a Knight TV profile. 2018-01-25 06:27:21 +01:00
Lars Brinkhoff
35c48de638 Add Knight TV font. As used by the MIT AI Lab. 2018-01-25 06:27:11 +01:00
Alex Von Hoene
ae50ed980f Added Debian Stretch dependencies
In addition to what Debian Jessie needs, Stretch also needs qml-module-qt-labs-settings and qml-module-qt-labs-folderlistmodel
These packages are not needed to build cool-retro-term, but they are needed to run it.
2018-01-15 16:43:55 -05:00
Alex Von Hoene
1d6f0445f7 add Debian Stretch to dependency instructions
I've confirmed that the same instructions for Jessie also work for Stretch
2018-01-15 16:31:30 -05:00
Christiano Haesbaert
799ef63b81 Add a -T option that sets window title.
`cool-retro-term -T myretrosession` sets window name to 'myretrosession'

This is useful especially for people who rely on wmctrl to change windows, now I
can do `wmctrl -a myretrocession` to focus on cool-retro-term.

-T was chosen since it matches classic xterm(1) and other terminal emulators
2018-01-06 20:20:45 +01:00
mason1920
6b22a0c03a Change apt-get to apt, and added stretch. 2018-01-02 11:45:08 -05:00
maiki
2d54638f49 Update readme
Periods, amirite?
2017-12-21 21:17:45 -08:00
Lars Falk-Petersen
8adec835f6 Instrucitons for ubuntu 17.10. Fixes https://github.com/Swordfish90/cool-retro-term/issues/396 2017-12-12 15:24:20 +01:00
Miro Hrončok
a34654a9a9 cool-retro-term made it to Fedora official repos 2017-12-12 00:37:25 +01:00
suve
b7c8108ad5 Improve manpage: add description and missing options, improve formatting 2017-11-06 21:51:16 +01:00
suve
c34c3c3654 Make screenshot sizes in appdata XML match actual image sizes 2017-11-05 00:04:45 +01:00
Lee Reilly
88988dd3e1 Add some GIFs? 2017-10-29 16:07:24 -07:00
Lee Reilly
351b98189f Updated OS X → macOS 2017-10-29 16:04:23 -07:00
Tamás Gérczei
e6a049c214 Gentoo package version bump announced 2017-10-27 21:00:53 +02:00
11 changed files with 138 additions and 38 deletions

14
Dockerfile Normal file
View File

@@ -0,0 +1,14 @@
FROM ubuntu:18.04
#TODO: Clean up after installation and building
RUN apt-get update && apt-get install -y 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
COPY . /app
WORKDIR /app
RUN qmake && make
RUN adduser user --home /home/user
WORKDIR /app
RUN chmod +x /app/cool-retro-term
USER user
ENTRYPOINT ["./cool-retro-term"]

View File

@@ -1,12 +1,16 @@
# cool-retro-term
|> Default Amber|C:\ IBM DOS|$ Default Green|
|---|---|---|
|![Default Amber Cool Retro Term](https://user-images.githubusercontent.com/121322/32070717-16708784-ba42-11e7-8572-a8fcc10d7f7d.gif)|![IBM DOS](https://user-images.githubusercontent.com/121322/32070716-16567e5c-ba42-11e7-9e64-ba96dfe9b64d.gif)|![Default Green Cool Retro Term](https://user-images.githubusercontent.com/121322/32070715-163a1c94-ba42-11e7-80bb-41fbf10fc634.gif)|
## 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.
It uses the QML port of qtermwidget (Konsole) developed by me: https://github.com/Swordfish90/qmltermwidget .
This terminal emulator works under Linux and OSX and requires Qt 5.2 or higher.
This terminal emulator works under Linux and macOS and requires Qt 5.2 or higher.
## Screenshots
![Image](<http://i.imgur.com/I6wq1cC.png>)
@@ -16,7 +20,9 @@ This terminal emulator works under Linux and OSX and requires Qt 5.2 or higher.
## Get cool-retro-term
You can either build cool-retro-term yourself (see below) or walk the easy way and install one of these packages:
Users of Fedora and openSUSE can grab a package from [Open Build Service](http://software.opensuse.org/package/cool-retro-term).
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).
Arch users can install this [package](https://aur.archlinux.org/packages/cool-retro-term-git/) directly via the [AUR](https://aur.archlinux.org):
@@ -28,20 +34,22 @@ or use:
to install precompiled from community repository.
Gentoo users can now install the first release "1.0" from a 3rd-party repository preferably via layman:
Gentoo users can now install the second release "1.0.1" 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.0.0-r1::gerczei
ACCEPT_KEYWORDS="~*" emerge =x11-terms/cool-retro-term-1.0.1::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!
Ubuntu users of 14.04 LTS (Trusty) up to 15.10 (Wily) can use [this PPA](https://launchpad.net/~bugs-launchpad-net-falkensweb)
Ubuntu users of 14.04 LTS (Trusty) up to 15.10 (Wily) can use [this PPA](https://launchpad.net/~bugs-launchpad-net-falkensweb).
OSX users can grab the latest dmg from the release page: https://github.com/Swordfish90/cool-retro-term/releases
Ubuntu 17.10 can use [this PPA](https://launchpad.net/%7Evantuz/+archive/ubuntu/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)
@@ -64,13 +72,25 @@ Make sure to install these first.
**Ubuntu 17.04**
sudo apt-get 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
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
---
**Debian Jessie**
**Ubuntu 17.10**
sudo apt-get 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
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
---
**Debian Stretch and Jessie**
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
---
**Debian Stretch**
sudo apt-get 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
---
@@ -102,6 +122,16 @@ Install dependencies:
sudo zypper install libqt5-qtbase-devel libqt5-qtdeclarative-devel libqt5-qtquickcontrols libqt5-qtgraphicaleffects
---
**Docker**
Docker users running X-Server can run cool-retro-term in an isolated Docker container using the following command. Please note that hardware and x-server resources need to be mounted inside the container in order for the container to have access to hardware acceleration and X-server resources. Furthermore, preserving user profile settings within the cool-retro-term container requires a volume mount from your local home directory to the `user` home directory within the container:
```sh
#Create the application settings directory:
mkdir -p ~/.local/share/cool-retro-term
#Run cool-retro-term:
docker run -it --privileged --rm -e DISPLAY=$DISPLAY -e XDG_RUNTIME_DIR=/run/user/1000 -e XAUTHORITY=$XAUTHORITY -v /run/user/1000:/run/user/1000 -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/dri:/dev/dri -v ~/.local/share/cool-retro-term:/home/user/.local/share/cool-retro-term quay.io/aric49/crt:latest
```
**Anyone else**
@@ -127,7 +157,7 @@ qmake && make
./cool-retro-term
```
## Build instructions (OSX)
## 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:
@@ -159,6 +189,21 @@ cp -r qmltermwidget/QMLTermWidget cool-retro-term.app/Contents/PlugIns
open cool-retro-term.app
```
## Build Instructions Docker
Clone the primary repository with the `--recursive` flag, and perform a Docker build. Docker will automatically compile the code inside a Docker container. To run the docker container, you need to mount X-Server resources and your video card inside the Docker container so that Docker can initiate the GUI and successfully start cool-retro-term with hardware acceleration:
```sh
#Git clone
git clone --recursive https://github.com/Swordfish90/cool-retro-term.git
#Docker Build
docker build -t cool-retro-term:1
#Run the built image.
docker run -it --privileged --rm -e DISPLAY=$DISPLAY -e XDG_RUNTIME_DIR=/run/user/1000 -e XAUTHORITY=$XAUTHORITY -v /run/user/1000:/run/user/1000 -v /tmp/.X11-unix:/tmp/.X11-unix -v /dev/dri:/dev/dri -v ~/.local/share/cool-retro-term:/home/user/.local/share/cool-retro-term cool-retro-term:1
```
## 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

@@ -36,6 +36,10 @@ int main(int argc, char *argv[])
#endif
QApplication app(argc, argv);
// set application attributes
// Has no effects, see https://bugreports.qt.io/browse/QTBUG-51293
// app.setAttribute(Qt::AA_MacDontSwapCtrlAndMeta, true);
QQmlApplicationEngine engine;
FileIO fileIO;
@@ -54,6 +58,7 @@ int main(int argc, char *argv[])
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.";

View File

@@ -41,6 +41,8 @@ QtObject{
property bool fullscreen: false
property bool showMenubar: true
property string wintitle: "cool-retro-term"
property real windowOpacity: 1.0
property real ambientLight: 0.2
property real contrast: 0.85
@@ -439,6 +441,11 @@ QtObject{
obj_string: '{"ambientLight":0.1,"backgroundColor":"#000000","bloom":0.15,"brightness":0.5,"flickering":0,"contrast":0.85,"fontName":"IBM_3278","fontColor":"#0ccc68","frameName":"SIMPLE_WHITE_FRAME","glowingLine":0,"horizontalSync":0,"jitter":0,"burnIn":0.6,"staticNoise":0,"rasterization":0,"screenCurvature":0.1,"windowOpacity":1,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
builtin: true
}
ListElement{
text: "Knight TV"
obj_string: '{"ambientLight":0.16,"backgroundColor":"#000000","bloom":0.45,"brightness":0.5,"burnIn":0.3,"chromaColor":0,"contrast":0.85,"customCommand":"","flickering":0.1,"fontColor":"#0ccc68","fontName":"Knight_TV","fontWidth":1,"frameName":"SIMPLE_WHITE_FRAME","glowingLine":0,"horizontalSync":0.16,"jitter":0,"rasterization":0,"rbgShift":0,"saturationColor":0,"screenCurvature":0.07,"staticNoise":0,"useCustomCommand":false,"windowOpacity":1}'
builtin: true
}
ListElement{
text: "Transparent Green"
obj_string: '{"ambientLight":0.2,"backgroundColor":"#000000","bloom":0.45,"brightness":0.5,"flickering":0.20,"contrast":0.85,"fontName":"TERMINUS_SCALED","fontColor":"#0ccc68","frameName":"NO_FRAME","glowingLine":0.16,"horizontalSync":0.1,"jitter":0.20,"burnIn":0.25,"staticNoise":0.20,"rasterization":0,"screenCurvature":0.05,"windowOpacity":0.60,"chromaColor":0,"saturationColor":0,"rbgShift":0,"fontWidth":1.0,"useCustomCommand":false,"customCommand":""}'
@@ -480,6 +487,10 @@ QtObject{
showMenubar = false;
}
if (args.indexOf("-T") !== -1) {
wintitle = args[args.indexOf("-T") + 1]
}
initializedSettings();
}
Component.onDestruction: {

View File

@@ -204,5 +204,15 @@ QtObject{
fontWidth: 1.0
lowResolutionFont: false
}
ListElement{
name: "Knight_TV"
text: "Knight TV (1975)"
source: "fonts/1975-knight-tv/KnightTVMedium.ttf"
lineSpacing: 0.2
pixelSize: 10
fontWidth: 1.0
baseScaling: 3.0
lowResolutionFont: true
}
}
}

Binary file not shown.

View File

@@ -62,8 +62,10 @@ ApplicationWindow{
__contentItem.visible: mainMenu.visible
}
property string wintitle: appSettings.wintitle
color: "#00000000"
title: terminalContainer.title || qsTr("cool-retro-term")
title: terminalContainer.title || qsTr(appSettings.wintitle)
Action {
id: showMenubarAction
@@ -101,12 +103,12 @@ ApplicationWindow{
Action{
id: copyAction
text: qsTr("Copy")
shortcut: Qt.platform.os === "osx" ? StandardKey.Copy : "Ctrl+Shift+C"
shortcut: "Ctrl+Shift+C"
}
Action{
id: pasteAction
text: qsTr("Paste")
shortcut: Qt.platform.os === "osx" ? StandardKey.Paste : "Ctrl+Shift+V"
shortcut: "Ctrl+Shift+V"
}
Action{
id: zoomIn

View File

@@ -31,6 +31,7 @@
<file>fonts/1982-commodore64/C64_Pro_Mono_v1.0-STYLE.ttf</file>
<file>fonts/1977-apple2/PrintChar21.ttf</file>
<file>fonts/1971-ibm-3278/3270Medium.ttf</file>
<file>fonts/1975-knight-tv/KnightTVMedium.ttf</file>
<file>fonts/1985-atari-st/AtariST8x16SystemFont.ttf</file>
<file>fonts/modern-terminus/TerminusTTF-4.38.2.ttf</file>
<file>fonts/1977-commodore-pet/COMMODORE_PET.ttf</file>

View File

@@ -16,11 +16,11 @@
<screenshots>
<screenshot type="default">
<caption>Default amber look</caption>
<image width="768" height="595">https://camo.githubusercontent.com/2443e662e95733ba6ae331f391f6ec036d1ee7fd/687474703a2f2f692e696d6775722e636f6d2f4e5566766e6c752e706e67</image>
<image width="1022" height="791">https://camo.githubusercontent.com/2443e662e95733ba6ae331f391f6ec036d1ee7fd/687474703a2f2f692e696d6775722e636f6d2f4e5566766e6c752e706e67</image>
</screenshot>
<screenshot>
<caption>Apple II look</caption>
<image width="768" height="595">https://camo.githubusercontent.com/44a19842d532555c7b02bf6b4b4684add9edf18c/687474703a2f2f692e696d6775722e636f6d2f4d4d6d4d3648742e706e67</image>
<image width="1024" height="796">https://camo.githubusercontent.com/44a19842d532555c7b02bf6b4b4684add9edf18c/687474703a2f2f692e696d6775722e636f6d2f4d4d6d4d3648742e706e67</image>
</screenshot>
</screenshots>

View File

@@ -1,31 +1,43 @@
.TH cool-retro-term 1 "August 22 2016"
.TH "COOL-RETRO-TERM" 1 "2017-11-06"
.SH NAME
cool-retro-term \- terminal emulator mimicking the old cathode display
cool\-retro\-term \- terminal emulator mimicking an old cathode display
.SH SYNOPSIS
"Usage: ./cool\-retro\-term [\-\-default\-settings] [\-\-workdir <dir>] [\-\-program <prog>] [\-p|\-\-profile <prof>] [\-\-fullscreen] [\-h|\-\-help]"
\fBcool\-retro\-term\fR [\fIOPTIONS\fR]
.br
\fBcool\-retro\-term\fR [\fIOPTIONS\fR] -e \fICOMMAND\fR [\fIARGUMENT\fR...]
.SH DESCRIPTION
This manual page documents briefly the
.B cool-retro-term
command.
This manual page documents briefly the \fBcool\-retro\-term\fR command.
.PP
\fBcool\-retro\-term\fR 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.
.SH OPTIONS
.TP
\fB\-\-default\-settings\fR
Run cool\-retro\-term with the default settings
Run with the default settings.
.TP
\fB\-\-workdir\fR <dir>
Change working directory to 'dir'
.TP
\fB\-e\fR <cmd>
Command to execute. This option will catch all following arguments, so use it as the last option.
\fB\-e\fR \fICOMMAND\fR
Command to execute. This should be used as the last option.
All the arguments following \fICOMMAND\fR will be passed to said command.
.TP
\fB\-\-fullscreen\fR
Run cool\-retro\-term in fullscreen.
.HP
\fB\-p\fR|\-\-profile <prof> Run cool\-retro\-term with the given profile.
Run in fullscreen mode.
.TP
\fB\-h\fR|\-\-help
Print this help.
\fB\-h\fR, \fB\-\-help\fR
Print a help screen and exit.
.TP
\fB\-p\fR \fIPROFILE\fR, \fB\-\-profile\fR \fIPROFILE\fR
Run with the given profile.
.TP
\fB\-\-workdir\fR \fIDIR\fR
Start with \fIDIR\fR as the working directory.
.TP
\fB\-\-verbose\fR
Print additional information such as profiles and settings.
.PP
.TP
\fB\-v\fR, \fB\-\-version\fR
Print the version number and exit.
.SH LICENCE
This program is available under the terms of the GNU General Public License,
version 3 or any later version, as published by the Free Software Foundation.