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