Giter VIP home page Giter VIP logo

termoid's Introduction

Termoid

Terminal in a plasmoid.
Run your favourite shell or terminal applications like nethogs, htop, colortail etc. on your desktop as a widget/plasmoid.

View on KDE Store

Features

  • Terminal :)
  • Working keyboard and mouse input
  • Comes with many inbuilt color schemes
  • Configurable Font family and Font size in terminal
  • Configurable Opacity

Screenshots

Screenshot showing keyboard input Screenshot running Nethogs

Requirements

qmltermwidget package is required as this is the core of the plasmoid. Note: Latest qmltermwidget is causing Plasma to crash. Please use the 0.1.0 release or Commit 08958f7 which is known to work.

Source

Github Source

Build step: qmake && make

Arch Distros

qmltermwidget Package

Install version 0.1.0 using

sudo pacman -U https://archive.archlinux.org/packages/q/qmltermwidget/qmltermwidget-0.1.0-3-x86_64.pkg.tar.xz

Ubuntu

You would need to add a PPA to install "cool-retro-term". Steps: For Ubuntu 18.04, 18.10, 19.04, Linux Mint 19 and higher, use this PPA:

sudo add-apt-repository ppa:vantuz/cool-retro-term sudo apt update sudo apt install cool-retro-term

For Ubuntu 16.04 and Linux Mint 18 series, use this PPA:

sudo add-apt-repository ppa:noobslab/apps sudo apt update sudo apt-get install cool-retro-term

Fedora

qmltermwidget 0.1.0

Installation

Install via KDE

Right Click Panel > Panel Options > Add Widgets
Get New Widgets > Download New Widgets
Search: Termoid
Install
Right Click your desktop > Add Widgets
Select Termoid

KDE Store

Store link

Build it Yourself

git clone https://github.com/koldbyte/termoid.git termoid
cd termoid
sh ./install

Note:

  • ./install (for first time)
  • ./reinstall (for updating the plasmoid)

Add the Termoid widget from "Add widgets" on your desktop

  • The build/run commands require kreadconfig5.
  • Do not run the install/reinstall scripts with sudo or the plasmoid will be placed in /usr/share/ instead of your home directory.

Locations

  • /usr/share/plasma/plasmoids/
    Where KDE's default plasmoids are stored.
  • ~/.local/share/plasma/plasmoids/
    Where downloaded plasmoids are stored. It's also where this plasmoid will be installed to.

Using Nethogs in Termoid

Install package nethogs
Run sudo setcap "cap_net_admin,cap_net_raw+pe" /usr/bin/nethogs once on the system so that sudo permission is not required for running nethogs.

TODOs

  • Try packaging qmltermwidget within the plasmoid with a Cmake build. This should fix all the version issues.
  • Provide packages for major distros.
  • Support for button form in panel.
  • More configuration. (Suggestions are welcome)
  • Restart plasmoid command without restarting whole plasmashell. Use a shell. Keyboard input (along with Ctrl+C) works.
  • Support for Keyboard input. Done
  • Make sudo commands runnable. Sudo commands working now as the keyboard input is available.

Want to learn more about Plasmoids

ExampleRepositories

Note that official KDE software is only mirrored on github, however github is much better for navigating the codebase.

Documentation

termoid's People

Contributors

koldbyte avatar t3kpunk avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar

termoid's Issues

Add background opacity option

I would like to be able to use this widget with a fully Transparent background while still having the text visible

Build system for system wide installation

Hello, I want to propose Termoid to be in the gentoo portage tree. In order for termoid though to compile and install system-wide, a build system is needed (ie qmake, cmake) to compile, instead of scripts.

If you would like this I would be glad. :-) Thanks anyway.

Likely memory leak in v3

Had two terminoids running and saw plasma shell eating memory until I had no more. Removed terminoids from my desktop and now there is no memory leak anymore.

Test select but then what, can the text be copied?

I just noticed that according to the 0.4 release notes, text selection was added. I can select a line of text but then what?

Is is possible to copy the text to the clipboard or otherwise use the selected text in some way?

After selecting a line of text there doesn't seem to be any shortcut key combination or right click menu to copy the text and use it.

Cannot Ctrl + C to end a command in the terminal

Once a command is entered though the Settings-> Enter command box, I cannot do a Ctrl +C to exit the command. It will simple echo ^C and kill the command. There doesn't seem to be any way to recover from this.

Cannot assign to non-existent property "shellProgramArgs"

The plasmoid seems to fail to load on my machine:

Error loading QML file: file:///home/wincak/.local/share/plasma/plasmoids/com.koldbyte.kde.termoid/contents/ui/main.qml:91:13: Cannot assign to non-existent property "shellProgramArgs"

Version: 0.2.1 installed from store
OS: Manjaro
KDE Plasma: 5.11.4
KDE Frameworks: 5.40.0
Qt: 5.9.3
package qmltermwidget installed

Note: I wanted to uninstall and try version 0.2 but the "Download new Plasma widgets" dialog doesn't really allow me to uninstall anything (there is alway only the "Install" button - not just for this plasmoid). Also, where do you even find out which plasmoid version is installed?

Add an option to disable user interaction

Adding an option to disable user interaction (mouse + keyboard) would be nice to use for running readonly terminal applications.
One example is using glances to detailed show system info

Can't find QMLtermwidget even though it is installed.

As per the issue title, Termoid still cant find QMLtermwidget even though I installed the specific package listed on the kde plasmoid description.

Here is the output of pacman -Q
image
And here is the output of journalctl -xe after adding the plasmoid to my desktop

Dec 19 09:58:45 BoofiArch plasmashell[760]: adding "com.koldbyte.kde.termoid"
Dec 19 09:58:45 BoofiArch plasmashell[760]: kf.plasma.quick: QJsonValue(string, "Termoid")
Dec 19 09:58:45 BoofiArch plasmashell[760]: kf.plasma.quick: QJsonValue(array, QJsonArray(["file:///home/boofi/.local/share/plasma/plasmoids/com.koldbyte.kde.termoid/contents/ui/main.qml:28:1: module \"QMLTermWidget\" is not installed">
Dec 19 09:58:45 BoofiArch plasmashell[760]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/applet/AppletError.qml:52: TypeError: Value is undefined and could not be converted to an object
Dec 19 09:58:45 BoofiArch plasmashell[760]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/applet/AppletError.qml:79: TypeError: Value is undefined and could not be converted to an object
Dec 19 09:58:45 BoofiArch plasmashell[760]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/applet/AppletError.qml:92: TypeError: Value is undefined and could not be converted to an object
Dec 19 09:58:45 BoofiArch plasmashell[760]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/applet/AppletError.qml:88: TypeError: Value is undefined and could not be converted to an object
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34464, resource id: 33554601, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34465, resource id: 33554601, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34466, resource id: 33554601, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34479, resource id: 33554557, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34480, resource id: 33554557, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34481, resource id: 33554557, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34482, resource id: 33554539, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34483, resource id: 33554539, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:45 BoofiArch plasmashell[760]: qt.qpa.xcb: QXcbConnection: XCB error: 3 (BadWindow), sequence: 34484, resource id: 33554539, major code: 2 (ChangeWindowAttributes), minor code: 0
Dec 19 09:58:47 BoofiArch plasmashell[760]: file:///usr/share/plasma/shells/org.kde.plasma.desktop/contents/views/Panel.qml:15:1: QML Panel: Binding loop detected for property "state"
Dec 19 09:58:49 BoofiArch plasmashell[760]: trying to show an empty dialog

I've tried everything including restarting to no avail. Any help would be appreciated.

Use pipe in auto execute command

Thanks for the great work. I use termoid as a desktop widget that prints the log of certain service.

I am trying to make termoid auto execute journalctl -u my-service -f | ccze -A to output a colored log, but the pipe not works, I got an invalid argument error.

I would like to know how to make this work.

I created a script with the command in /usr/local/bin. It works, but I think may be there's a better approach.

Widget is way too small

On my laptop I'm currently on KDE Neon (Upgraded to 18.04) and for some reason the widget is just wayyy too small and I have followed all the instructions properly. In the attachment you can see how small it looks and it won't change no matter the font size. Hope there's a fix for this..
picture

Arguments are not accepted

Hoi, I forked the code and added some code to accept the command line arguments. I use the widget for colortail -f /var/log/syslog

Also added opacity settings to the configuration menu .

Kind regards, widmar

Plasma 6 support

With the release of Plasma 6 approaching (currently scheduled for February 28th, 2024) and Qt 6 support in QTermWidget currently being worked on, it would be really nice to make this project compatible with the new version.

Due to a bug in Plasma where all clock widgets are running up to about a second late, I use Termoid to display an instance of tty-clock in order to watch each second and minute change precisely without having to open a new terminal window. It would be great if this gets done before or around the time Plasma 6 releases, since my use case depends on this workflow.

More Transparency Options

With cava, you can setup an audio visualizer in a terminal. This, combined with Termoid, could make for a good desktop audio visualizer that's integrated with the rest of the Plasmoids. It would be nice to have the ability to make everything except for the text color transparant (Including the borders around the Plasmoid), so that you only see the cava audio bars.
image
In this image, I have the overall opacity set to 50%, but I'd rather have everything but the blue ASCII blocks hidden.

geometry issues

Hi

Since latest kde plasma update (5.17.1) termoid stopped working correctly.
Plasma incorrectly loads the geometry of the termoid widgets at start.

I think there might be a problem with saving or loading the configuration parameters.

I had to delete the termoid widgets because they were over 10.000 pixels wide and used up gb's of ram at boot.

Kr
Dries

Termoid widget crashes plasma.

I have a 1 week old installation of Fedora KDE 29. I installed the Termoid widget. Upon adding the widget, it asked me to install qmltermwidget. After installing qmltermwidget (sudo dnf install qmltermwidget), whenever I add Termoid widget from the Add Widget sidebar, Plasma crashes and recovers a few seconds later.

Qt Version: 5.11.1
Frameworks Version: 5.53.0
Operating System: Linux 4.19.12-301.fc29.x86_64 x86_64
Distribution: "Fedora release 29 (Twenty Nine)"

The crash can be reproduced every time.

The pastebin link to relevant backtrace: https://pastebin.com/34GkeRhn.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.