33 Commits

Author SHA1 Message Date
Filippo Scognamiglio
6446f1d1bc Merge pull request #213 from Swordfish90/unstable
Mege latest changes for final version.
2015-01-24 18:16:52 +00:00
Filippo Scognamiglio
01f391dea3 Fix: wrong default font. 2015-01-24 19:11:54 +01:00
Filippo Scognamiglio
5b635abb38 Update README.md with new screenshots and bump version to 1.0.0. 2015-01-24 18:54:08 +01:00
Filippo Scognamiglio
54c52b230a Reorganize FPS slider. 2015-01-24 18:06:37 +01:00
Filippo Scognamiglio
40eb51e5eb Improve look of glow line. 2015-01-22 01:44:30 +01:00
Filippo Scognamiglio
546c4f36f0 Fix scanlines on high-dpi screens. 2015-01-20 03:35:47 +01:00
Filippo Scognamiglio
2911960482 Fix merge conflicts. 2015-01-20 01:14:51 +01:00
Filippo Scognamiglio
265e19def8 Revert invisibility of spacing item in settings dialog. 2015-01-20 01:05:27 +01:00
Filippo Scognamiglio
2bc88768b6 Reduce minimum scaling value and fix aliasing issues with small fonts and rasterization. 2015-01-20 00:57:23 +01:00
Filippo Scognamiglio
32f7923652 Fix: use arrow cursor when terminal application uses mouse. 2015-01-19 18:20:23 +01:00
Filippo Scognamiglio
e379f05aca Merge pull request #212 from Swordfish90/fast-burnin-3
Improved burnin. This is a very important optimizatoin for mesa linux ma...
2015-01-19 17:17:21 +00:00
Filippo Scognamiglio
a7bab660e9 Improved burnin. This is a very important optimizatoin for mesa linux machines. 2015-01-19 17:31:37 +01:00
Filippo Scognamiglio
1bcb85968b Merge pull request #211 from rbanffy/master
Correct rendering issue in 3270 font.
2015-01-17 10:24:46 +00:00
Ricardo Bánffy
4adf13539a Correct rendering issue (see https://raw.githubusercontent.com/wiki/rbanffy/3270font/aepw.png) 2015-01-16 21:44:34 -02:00
Filippo Scognamiglio
8b47c5633a Merge pull request #210 from KAMiKAZOW/patch-2
rm pixmap
2015-01-14 17:08:31 +00:00
KAMiKAZOW
cb1e3f1b76 rm pixmap
because it's redundant
2015-01-14 01:17:49 +01:00
Filippo Scognamiglio
92ef89d5d2 Merge pull request #207 from KAMiKAZOW/patch-1
Install icon
2015-01-13 21:38:06 +00:00
Filippo Scognamiglio
b8fd9d6c45 Merge pull request #209 from Swordfish90/install-icons
Install icons
2015-01-13 21:37:39 +00:00
Filippo Scognamiglio
0c17ca115e Set window application icon. 2015-01-12 22:35:49 +01:00
Filippo Scognamiglio
505a840574 Install icons. 2015-01-12 21:51:27 +01:00
KAMiKAZOW
56d742c1d2 Install icon
Install CRT icon, minor other things
2015-01-12 15:46:52 +01:00
Filippo Scognamiglio
28c66fa689 Merge pull request #204 from tomchiverton/patch-1
Add link to Ubuntu 14.04 PPA to readmd
2015-01-10 17:59:32 +00:00
Tom Chiverton
ceea1339d0 Add link to Ubuntu 14.04 PPA 2015-01-10 16:54:23 +00:00
Filippo Scognamiglio
8aea50fd2b Merge branch 'unstable' of https://github.com/Swordfish90/cool-retro-term into unstable 2015-01-08 03:56:06 +01:00
Filippo Scognamiglio
166e1f40fe Misc fixes in settings dialog. 2015-01-08 03:55:19 +01:00
Filippo Scognamiglio
415dcafee3 Merge pull request #201 from Swordfish90/unstable
Unstable
2015-01-07 11:43:09 +01:00
Filippo Scognamiglio
0399a6eb3c Adjust fixedsys-excelsior baseScaling. 2015-01-07 11:23:59 +01:00
Filippo Scognamiglio
ac70da5b38 Add Fixedsys Excelsior font. 2015-01-07 11:16:09 +01:00
Filippo Scognamiglio
5ad20f6b4e Merge pull request #200 from Swordfish90/unstable
Unstable
2015-01-06 02:37:22 +01:00
Filippo Scognamiglio
283aa92579 Merge pull request #199 from Swordfish90/improve-burn-in
Burnin is now subtractive. Better looking and more predictable.
2015-01-06 02:30:18 +01:00
Filippo Scognamiglio
9364aa3536 Merge pull request #195 from Swordfish90/unstable
Added profiles import/export, reorganized settings, fixes, fixes and fixes
2014-12-26 23:43:50 +01:00
Filippo Scognamiglio
e0708e519c Merge pull request #193 from Swordfish90/unstable
Some fixes, bit of refactoring and plenty of new fonts.
2014-12-23 02:37:22 +01:00
Filippo Scognamiglio
ebbb1f82fe Merge pull request #192 from Swordfish90/unstable
Disable antialias when using rasterization. Fix windows raise behavior, OSX build issue with Qt 5.4 and OSX quit behavior.
2014-12-22 23:30:22 +01:00
24 changed files with 197 additions and 92 deletions

View File

@@ -4,14 +4,14 @@
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) developed by me: https://github.com/Swordfish90/qmltermwidget .
This terminal emulator requires Qt 5.2 or higher to run.
This terminal emulator works under Linux and OSX and requires Qt 5.2 or higher.
##Screenshots
![Image](<http://i.imgur.com/NUfvnlu.png>)
![Image](<http://i.imgur.com/4LpfLF8.png>)
![Image](<http://i.imgur.com/MMmM6Ht.png>)
![Image](<http://i.imgur.com/I6wq1cC.png>)
![Image](<http://i.imgur.com/12EqlpL.png>)
![Image](<http://i.imgur.com/Lx0acQz.jpg>)
##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:
@@ -31,6 +31,10 @@ Gentoo users can install from a 3rd-party repository preferably via layman:
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) 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
##Build instructions (Linux)
##Dependencies

View File

@@ -20,3 +20,17 @@ RESOURCES += qml/resources.qrc
target.path += /usr/bin/
INSTALLS += target
# Install icons
unix {
icon32.files = icons/32x32/cool-retro-term.png
icon32.path = /usr/share/icons/hicolor/32x32/apps
icon64.files = icons/64x64/cool-retro-term.png
icon64.path = /usr/share/icons/hicolor/64x64/apps
icon128.files = icons/128x128/cool-retro-term.png
icon128.path = /usr/share/icons/hicolor/128x128/apps
icon256.files = icons/256x256/cool-retro-term.png
icon256.path = /usr/share/icons/hicolor/256x256/apps
INSTALLS += icon32 icon64 icon128 icon256
}

View File

Before

Width:  |  Height:  |  Size: 32 KiB

After

Width:  |  Height:  |  Size: 32 KiB

View File

Before

Width:  |  Height:  |  Size: 62 KiB

After

Width:  |  Height:  |  Size: 62 KiB

View File

Before

Width:  |  Height:  |  Size: 8.4 KiB

After

Width:  |  Height:  |  Size: 8.4 KiB

View File

Before

Width:  |  Height:  |  Size: 19 KiB

After

Width:  |  Height:  |  Size: 19 KiB

View File

@@ -5,6 +5,7 @@
#include <QStringList>
#include <QtWidgets/QApplication>
#include <QIcon>
#include <QDebug>
#include <stdlib.h>
@@ -38,6 +39,12 @@ int main(int argc, char *argv[])
QQmlApplicationEngine engine;
FileIO fileIO;
#if !defined(Q_OS_MAC)
app.setWindowIcon(QIcon::fromTheme("cool-retro-term", QIcon(":../icons/32x32/cool-retro-term.png")));
#else
app.setWindowIcon(QIcon(":../icons/32x32/cool-retro-term.png"));
#endif
// Manage command line arguments from the cpp side
QStringList args = app.arguments();
if (args.contains("-h") || args.contains("--help")) {
@@ -65,6 +72,8 @@ int main(int argc, char *argv[])
engine.rootContext()->setContextProperty("workdir", getNamedArgument(args, "--workdir", "$HOME"));
engine.rootContext()->setContextProperty("fileIO", &fileIO);
engine.rootContext()->setContextProperty("devicePixelRatio", app.devicePixelRatio());
// Manage import paths for Linux and OSX.
QStringList importPathList = engine.importPathList();
importPathList.prepend(QCoreApplication::applicationDirPath() + "/qmltermwidget");

View File

@@ -19,13 +19,19 @@
*******************************************************************************/
import QtQuick 2.2
import QtQuick.Controls 1.0
import "utils.js" as Utils
QtObject{
property string version: "1.0.0 RC1"
property string version: "1.0.0"
// GENERAL SETTINGS ///////////////////////////////////////////////////
// STATIC CONSTANTS ////////////////////////////////////////////////////////
readonly property real minimumFontScaling: 0.25
readonly property real maximumFontScaling: 2.50
// GENERAL SETTINGS ///////////////////////////////////////////////////////
property bool fullscreen: false
property bool showMenubar: true
@@ -83,7 +89,7 @@ QtObject{
property bool lowResolutionFont: false
property var fontNames: ["HERMIT", "COMMODORE_PET", "COMMODORE_PET"]
property var fontNames: ["TERMINUS_SCALED", "COMMODORE_PET", "COMMODORE_PET"]
property var fontlist: fontManager.item.fontlist
signal terminalFontChanged(string fontSource, int pixelSize, int lineSpacing, real screenScaling, real fontWidth)
@@ -113,12 +119,12 @@ QtObject{
}
function incrementScaling(){
fontScaling = Math.min(fontScaling + 0.05, 2.50);
fontScaling = Math.min(fontScaling + 0.05, maximumFontScaling);
handleFontChanged();
}
function decrementScaling(){
fontScaling = Math.max(fontScaling - 0.05, 0.50);
fontScaling = Math.max(fontScaling - 0.05, minimumFontScaling);
handleFontChanged();
}
@@ -455,4 +461,11 @@ QtObject{
storeCustomProfiles();
//storage.dropSettings(); //DROPS THE SETTINGS!.. REMEMBER TO DISABLE ONCE ENABLED!!
}
// VARS ///////////////////////////////////////////////////////////////////
property Label _sampleLabel: Label {
text: "100%"
}
property real labelWidth: _sampleLabel.width
}

View File

@@ -22,6 +22,8 @@ import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import "Components"
RowLayout {
property alias name: check.text
@@ -35,7 +37,6 @@ RowLayout {
id: setting_component
anchors.left: parent.left
anchors.right: parent.right
spacing: 25
onValueChanged: {
check.checked = !(value == 0);
@@ -45,7 +46,7 @@ RowLayout {
CheckBox{
id: check
implicitWidth: 150
implicitWidth: 160
onClicked: {
if(!checked){
checked = false;
@@ -66,16 +67,8 @@ RowLayout {
newValue(value);
}
}
Text{
id: textfield
property string unformattedText: Math.round(((value - min_value) / (max_value - min_value)) * 100)
text: formatNumber(unformattedText)
}
function formatNumber(num) {
var n = "" + num;
while (n.length < 3) {
n = " " + n;
}
return n + "%";
SizedLabel {
anchors { top: parent.top; bottom: parent.bottom }
text: Math.round(((value - min_value) / (max_value - min_value)) * 100) + "%"
}
}

View File

@@ -0,0 +1,35 @@
/*******************************************************************************
* 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.0
import QtQuick.Controls 1.0
// This component is simply a label with a predifined size.
// Used to improve alignment.
Item {
property alias text: textfield.text
width: appSettings.labelWidth
Label{
id: textfield
anchors { right: parent.right; verticalCenter: parent.verticalCenter }
}
}

View File

@@ -70,6 +70,16 @@ QtObject{
fontWidth: 1.0
lowResolutionFont: true
}
ListElement{
name: "EXCELSIOR_SCALED"
text: "Fixedsys Excelsior (Modern)"
source: "fonts/modern-fixedsys-excelsior/FSEX301-L2.ttf"
lineSpacing: 0
pixelSize: 16
baseScaling: 2.4
fontWidth: 1.0
lowResolutionFont: true
}
ListElement{
name: "COMMODORE_PET_SCALED"
text: "Commodore PET (1977)"

View File

@@ -44,11 +44,13 @@ Item{
anchors.topMargin: frame.displacementTop * appSettings.windowScaling
anchors.bottomMargin: frame.displacementBottom * appSettings.windowScaling
//The blur effect has to take into account the framerate
property real mBlur: Math.sqrt(appSettings.burnIn)
property real motionBlurCoefficient: Utils.lint(_minBlurCoefficient, _maxBlurCoefficient, mBlur)
property real _minBlurCoefficient: 0.2
property real _maxBlurCoefficient: 0.02
//Parameters for the burnIn effect.
property real burnIn: appSettings.burnIn
property real fps: appSettings.fps !== 0 ? appSettings.fps : 60
property real burnInFadeTime: Utils.lint(_minBurnInFadeTime, _maxBurnInFadeTime, burnIn)
property real motionBlurCoefficient: 1.0 / (fps * burnInFadeTime)
property real _minBurnInFadeTime: 0.16
property real _maxBurnInFadeTime: 1.6
property size terminalSize: kterminal.terminalSize
property size fontMetrics: kterminal.fontMetrics
@@ -176,7 +178,7 @@ Item{
MouseArea{
acceptedButtons: Qt.LeftButton | Qt.MiddleButton | Qt.RightButton
anchors.fill: parent
cursorShape: Qt.IBeamCursor
cursorShape: kterminal.terminalUsesMouse ? Qt.ArrowCursor : Qt.IBeamCursor
onWheel:{
if(wheel.modifiers & Qt.ControlModifier){
wheel.angleDelta.y > 0 ? zoomIn.trigger() : zoomOut.trigger();
@@ -228,13 +230,15 @@ Item{
Loader{
id: blurredSourceLoader
asynchronous: true
active: mBlur !== 0
active: burnIn !== 0
sourceComponent: ShaderEffectSource{
property bool updateBurnIn: false
id: _blurredSourceEffect
sourceItem: blurredTerminalLoader.item
recursive: true
live: true
live: false
hideSource: true
wrapMode: kterminalSource.wrapMode
@@ -244,6 +248,13 @@ Item{
livetimer.restart();
}
// This updates the burnin synched with the timer.
Connections {
target: updateBurnIn ? mainShader : null
ignoreUnknownSignals: false
onTimeChanged: _blurredSourceEffect.scheduleUpdate();
}
Timer{
id: livetimer
@@ -251,14 +262,15 @@ Item{
// We multiply 1.1 to have a little bit of margin over the theoretical value.
// This solution is not extremely clean, but it's probably the best to avoid measuring fps.
interval: (1 / motionBlurCoefficient) * 60 * 1.1
interval: burnInFadeTime * 1000 * 1.1
running: true
onTriggered: _blurredSourceEffect.live = false;
onTriggered: _blurredSourceEffect.updateBurnIn = false;
}
Connections{
target: kterminal
onImagePainted:{
_blurredSourceEffect.live = true;
_blurredSourceEffect.scheduleUpdate();
_blurredSourceEffect.updateBurnIn = true;
livetimer.restart();
}
}
@@ -289,7 +301,7 @@ Item{
? kterminal.height * Math.max(1, burnInScaling)
: kterminal.height * scaleTexture * appSettings.burnInQuality
active: mBlur !== 0
active: burnIn !== 0
asynchronous: true
sourceComponent: ShaderEffect {

View File

@@ -22,6 +22,8 @@ import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import "Components"
Tab{
ColumnLayout{
anchors.fill: parent
@@ -34,23 +36,26 @@ Tab{
anchors.fill: parent
rows: 2
columns: 3
CheckBox{
property int fps: checked ? slider.value : 0
onFpsChanged: appSettings.fps = fps
checked: appSettings.fps !== 0
text: qsTr("Effects FPS")
}
Label{text: qsTr("Effects FPS")}
Slider{
id: slider
Layout.fillWidth: true
id: fpsSlider
onValueChanged: {
if (enabled) {
appSettings.fps = value !== 60 ? value + 1 : 0;
}
}
stepSize: 1
maximumValue: 60
minimumValue: 1
enabled: appSettings.fps !== 0
value: appSettings.fps !== 0 ? appSettings.fps : 60
enabled: false
Component.onCompleted: {
minimumValue = 0;
maximumValue = 60;
value = appSettings.fps !== 0 ? appSettings.fps - 1 : 60;
enabled = true;
}
}
Text{text: slider.value}
Text{text: qsTr("Texture Quality")}
SizedLabel{text: appSettings.fps !== 0 ? appSettings.fps : qsTr("Max")}
Label{text: qsTr("Texture Quality")}
Slider{
Layout.fillWidth: true
id: txtslider
@@ -63,7 +68,7 @@ Tab{
enabled = true;
}
}
Text{text: Math.round(txtslider.value * 100) + "%"}
SizedLabel{text: Math.round(txtslider.value * 100) + "%"}
}
}
GroupBox{
@@ -74,8 +79,7 @@ Tab{
GridLayout{
id: bloomQualityContainer
anchors.fill: parent
Text{text: qsTr("Bloom Quality")}
Label{text: qsTr("Bloom Quality")}
Slider{
Layout.fillWidth: true
id: bloomSlider
@@ -88,7 +92,7 @@ Tab{
enabled = true;
}
}
Text{text: Math.round(bloomSlider.value * 100) + "%"}
SizedLabel{text: Math.round(bloomSlider.value * 100) + "%"}
}
}
GroupBox{
@@ -100,7 +104,7 @@ Tab{
id: blurQualityContainer
anchors.fill: parent
Text{text: qsTr("BurnIn Quality")}
Label{text: qsTr("BurnIn Quality")}
Slider{
Layout.fillWidth: true
id: burnInSlider
@@ -113,7 +117,7 @@ Tab{
enabled = true;
}
}
Text{text: Math.round(burnInSlider.value * 100) + "%"}
SizedLabel{text: Math.round(burnInSlider.value * 100) + "%"}
}
}
GroupBox{

View File

@@ -46,17 +46,17 @@ Tab{
GridLayout{
anchors.fill: parent
columns: 2
Text{ text: qsTr("Brightness") }
Label{ text: qsTr("Brightness") }
SimpleSlider{
onValueChanged: appSettings.brightness = value
value: appSettings.brightness
}
Text{ text: qsTr("Contrast") }
Label{ text: qsTr("Contrast") }
SimpleSlider{
onValueChanged: appSettings.contrast = value
value: appSettings.contrast
}
Text{ text: qsTr("Opacity") }
Label{ text: qsTr("Opacity") }
SimpleSlider{
onValueChanged: appSettings.windowOpacity = value
value: appSettings.windowOpacity

View File

@@ -22,6 +22,8 @@ import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import "Components"
Tab{
ColumnLayout{
anchors.fill: parent
@@ -32,7 +34,7 @@ Tab{
GridLayout{
anchors.fill: parent
columns: 2
Text{ text: qsTr("Name") }
Label{ text: qsTr("Name") }
ComboBox{
id: fontChanger
Layout.fillWidth: true
@@ -54,7 +56,7 @@ Tab{
}
Component.onCompleted: updateIndex();
}
Text{ text: qsTr("Scaling") }
Label{ text: qsTr("Scaling") }
RowLayout{
Layout.fillWidth: true
Slider{
@@ -64,8 +66,8 @@ Tab{
stepSize: 0.05
enabled: false // Another trick to fix initial bad behavior.
Component.onCompleted: {
minimumValue = 0.5;
maximumValue = 2.5;
minimumValue = appSettings.minimumFontScaling;
maximumValue = appSettings.maximumFontScaling;
value = appSettings.fontScaling;
enabled = true;
}
@@ -74,11 +76,11 @@ Tab{
onFontScalingChanged: fontScalingChanger.value = appSettings.fontScaling;
}
}
Text{
SizedLabel{
text: Math.round(fontScalingChanger.value * 100) + "%"
}
}
Text{ text: qsTr("Font Width") }
Label{ text: qsTr("Font Width") }
RowLayout{
Layout.fillWidth: true
Slider{
@@ -93,7 +95,7 @@ Tab{
maximumValue = 1.5;
}
}
Text{
SizedLabel{
text: Math.round(widthChanger.value * 100) + "%"
}
}

View File

@@ -21,13 +21,13 @@
import QtQuick 2.2
import QtGraphicalEffects 1.0
import "utils.js" as Utils
ShaderEffect {
property ShaderEffectSource source
property ShaderEffectSource blurredSource
property ShaderEffectSource bloomSource
property real liveBlur: blurredSource && blurredSource.live ? 1.0 : 0.0
property color fontColor: appSettings.fontColor
property color backgroundColor: appSettings.backgroundColor
property real bloom: appSettings.bloom * 2.5
@@ -40,7 +40,7 @@ ShaderEffect {
(height) / (noiseTexture.height * appSettings.windowScaling * appSettings.fontScaling))
property real screenCurvature: appSettings.screenCurvature
property real glowingLine: appSettings.glowingLine
property real glowingLine: appSettings.glowingLine * 0.2
property real chromaColor: appSettings.chromaColor;
@@ -58,6 +58,12 @@ ShaderEffect {
property real screen_brightness: appSettings.brightness * 1.5 + 0.5
// This is the average value of the abs(sin) function. Needed to avoid aliasing.
readonly property real absSinAvg: 0.63661828335466886
property size rasterizationSmooth: Qt.size(
Utils.clamp(2.0 * virtual_resolution.width / (width * devicePixelRatio), 0.0, 1.0),
Utils.clamp(2.0 * virtual_resolution.height / (height * devicePixelRatio), 0.0, 1.0))
property real dispX
property real dispY
property size virtual_resolution
@@ -155,6 +161,7 @@ ShaderEffect {
uniform lowp float screen_brightness;
uniform highp vec2 virtual_resolution;
uniform highp vec2 rasterizationSmooth;
uniform highp float dispX;
uniform highp float dispY;" +
@@ -162,8 +169,7 @@ ShaderEffect {
uniform highp sampler2D bloomSource;
uniform lowp float bloom;" : "") +
(burnIn !== 0 ? "
uniform sampler2D blurredSource;
uniform lowp float liveBlur;" : "") +
uniform sampler2D blurredSource;" : "") +
(staticNoise !== 0 ? "
uniform highp float staticNoise;" : "") +
(((staticNoise !== 0 || jitter !== 0 || rbgShift)
@@ -194,16 +200,18 @@ ShaderEffect {
(glowingLine !== 0 ? "
float randomPass(vec2 coords){
return fract(smoothstep(-0.2, 0.0, coords.y - 3.0 * fract(time * 0.0001))) * glowingLine;
return fract(smoothstep(-120.0, 0.0, coords.y - (virtual_resolution.y + 120.0) * fract(time * 0.00015)));
}" : "") +
"highp float getScanlineIntensity(vec2 coords) {
highp float result = 1.0;" +
(appSettings.rasterization != appSettings.no_rasterization ?
"result *= abs(sin(coords.y * virtual_resolution.y * "+Math.PI+"));" : "") +
"float val = abs(sin(coords.y * virtual_resolution.y * "+Math.PI+"));
result *= mix(val, " + absSinAvg + ", rasterizationSmooth.y);" : "") +
(appSettings.rasterization == appSettings.pixel_rasterization ?
"result *= abs(sin(coords.x * virtual_resolution.x * "+Math.PI+"));" : "") + "
"val = abs(sin(coords.x * virtual_resolution.x * "+Math.PI+"));
result *= mix(val, " + absSinAvg + ", rasterizationSmooth.x);" : "") + "
return result;
}
@@ -264,12 +272,12 @@ ShaderEffect {
color += noiseVal * noise * (1.0 - distance * 1.3);" : "") +
(glowingLine !== 0 ? "
color += randomPass(coords) * glowingLine;" : "") +
color += randomPass(coords * virtual_resolution) * glowingLine;" : "") +
"vec3 txt_color = texture2D(source, txt_coords).rgb;" +
(burnIn !== 0 ? "
vec4 txt_blur = liveBlur * texture2D(blurredSource, txt_coords);
vec4 txt_blur = texture2D(blurredSource, txt_coords);
txt_color = txt_color + txt_blur.rgb * txt_blur.a;"
: "") +

View File

@@ -22,6 +22,8 @@ import QtQuick 2.2
import QtQuick.Controls 1.1
import QtQuick.Layouts 1.1
import "Components"
RowLayout {
property alias value: slider.value
property alias stepSize: slider.stepSize
@@ -36,15 +38,7 @@ RowLayout {
stepSize: parent.stepSize
Layout.fillWidth: true
}
Text{
id: textfield
text: formatNumber(Math.round(value * maxMultiplier))
}
function formatNumber(num) {
var n = "" + num;
while (n.length < 3) {
n = " " + n;
}
return n + "%";
SizedLabel{
text: Math.round(value * maxMultiplier) + "%"
}
}

Binary file not shown.

View File

@@ -50,5 +50,8 @@
<file>fonts/modern-envy-code-r/Envy Code R.ttf</file>
<file>fonts/modern-inconsolata/Inconsolata.otf</file>
<file>SettingsScreenTab.qml</file>
<file>fonts/modern-fixedsys-excelsior/FSEX301-L2.ttf</file>
<file>../icons/32x32/cool-retro-term.png</file>
<file>Components/SizedLabel.qml</file>
</qresource>
</RCC>

View File

@@ -1,5 +1,11 @@
.pragma library
function clamp(x, min, max) {
if (x <= min)
return min;
if (x >= max)
return max;
return x;
}
function lint(a, b, t) {
return (1 - t) * a + (t) * b;
}

View File

@@ -2,7 +2,7 @@
Comment=Use the command line the old way
Exec=cool-retro-term
GenericName=Terminal emulator
Icon=utilities-terminal
Icon=cool-retro-term
MimeType=
Name=Cool Retro Term
Categories=Qt;System;Utility;TerminalEmulator;

View File

@@ -18,10 +18,10 @@
Name: cool-retro-term
Summary: Cool Retro Terminal
Version: 0.9
Version: 1.0
Release: 0%{?dist}
Group: System/X11/Terminals
License: GPLv3
License: GPL-3.0+
URL: https://github.com/Swordfish90/cool-retro-term
# For this spec file to work, the cool-retro-term sources must be located
@@ -82,9 +82,7 @@ desktop-file-install \
%{_bindir}/%{name}
%{_libdir}/qt5/qml/
%{_datadir}/applications/%{name}.desktop
# FIXME: Icon
# %{_datadir}/pixmaps/%{name}.png
# %{_datadir}/icons/hicolor/*/*/*
%{_datadir}/icons/hicolor/*/*/*
%clean
rm -rf %{buildroot}