Havoc

Rating: 
5
Your rating: None Average: 5 (6 votes)

Havoc is a minimal but modern terminal emulator for Wayland. It supports everything you would expect from a terminal emulator on a PC, including 24bit colours and TUI features that Fingerterm and, to a lower extent, Toeterm, cannot handle. Havoc being developed for PC originally, it is meant to be used in landscape with a hardware keyboard.

You can still use Havoc with no hardware keyboard, using qCommand, any other terminal, or .desktop files to print command outputs that do not render correctly in other terminals. To issue a command in Havoc from another application, use "havoc -l COMMAND", where "-l" is to hold in case the output does not keep a process running.

# Features
- 24-bit colours
- Full support for ncurses features and other TUI
- Easy multi-touch text selection; ctrl+shift+c/ctrl+shift+v for copy/paste
- One finger scrolling; no more conflict between selecting and scrolling in terminals
- User configuration in ~/.config/havoc.cfg by default (font, font size, colours, opacity of the cover, etc.), see "havoc -h"
- Support for compose and dead keys if your hardware keyboard is set to use a xkb layout with those (additional dependency: compose-deadkeys)

# Disclaimer
I am not the developer of Havoc, I just convinced the author who was greatly understanding, and helped adapting it to SFOS peculiarities and packaged it. Upstream Havoc is being actively developed by Murray Calavera (ii8) at https://github.com/ii8/havoc/.

Screenshots: 
Changelog: 

* Fri Jan 21 2022 Kabouik <matf[redactedforbots]disr.it> 2022-01-21
- Avoid jail in .desktop file for 4.4 compatibility, and update description for inclusion in Chum repository.

* Tue Jun 16 2020 Kabouik <matf[redactedforbots]disr.it> 2020-06-16
- Fix default scrollback value.

* Mon Jun 08 2020 Kabouik <matf[redactedforbots]disr.it> 2020-06-09
- First SFOS package based on the 2020-06-09 version.

Comments

washere's picture

OkKeyboard doesn't popup with sailfish on Xperia 10

Kabouik's picture

Sadly this is expected, Havoc is not adapted to software keyboards and cannot make them show up, it is only works with hardware keyboards so far.

inte's picture

Unfortunately, the screen is upside down on the gemini pda... Is there a settings file to change the default layout?

Kabouik's picture

Hi inte,

Yeah, I think multiple applications render in 180-rotated direction on the Gemini compared to other keyboard devices, I think it is the same issue with Kodi (which is correctly orientated on Gemini, but not on Pro1).

There is a configuration file but the orientation cannot be changed there. There are multiple commits by ii8 here (June 2020) where orientation has been tweaked for the SFOS port of Havoc. I don't understand much in C, most changes made to the code when porting Havoc were either done by ii8 directly or with detailed instructions from him, but if you know a bit of C, it could be worth checking them. I suspect it would just be a couple simple changes, and a specific Gemini branch could be created. Making this configurable would probably be a lot more work though.

You could possibly investigate whether this dirty hack too could be re-used to rotate 180° (I'm not exactly sure if it could), as it comes with downsides but would save recompiling.

levone1's picture

I just used the example from source to test. I would increase the font size, and the font directory needs to be adjusted to Jolla fs... When I was using the one I compiled, the cfg was recognized, (I knew because the first error before the one about the compositor was complaining about the font directory, and when I edited it, the error went away)...
Anyway, maybe it's a typo or perms error - I'll check again

Kabouik's picture

Did you use the example from https://github.com/kabouik/havoc, or https://github.com/ii8/havoc? The former is the fork that should work on Sailfish out of the box, but from the Wayland issue you had before, it looks like you used upstream (ii8) that is not adapted to Sailfish.

levone1's picture

You were right - that did it... Thanks

levone1's picture

I built aarch 64 from source on my XZ2c, but getting error when running, "
[defaultuser@XperiaXZ2Compact ~]$ havoc
your compositor does not support xdg_wm_bas
e, make sure you have the latest version

I built updated Wayland from source thinking maybe would solve, but still the same. Any idea? Thanks

Kabouik's picture

I added aarch64 as a build target on OBS for Havoc. Can you try the package and tell if it fixes your issue? If yes, I'll add the package on openrepos.net.

I must admit I'm not sure this will work though, as the error you get seems deeper than that. Unless you tried to build it from ii8/havoc instead of kabouik/havoc? If I remember correctly, Sailfish's implementation of Wayland uses deprecated xdg-wm protocols, and this was part of the work to port Havoc to Sailfish (i.e., make the port use deprecated protocols, meh), which is in kabouik/havoc sources only.

 

levone1's picture

Working. I just have the phone atm, no keyboard, but it installs and loads fine with no errors. Thanks
One thing - I put havoc.cfg in /home/defaultuser/.config but doesn't seem to be recognized...

Kabouik's picture

Awesome, thanks. I added the aarch64 to openrepos.net. Yeah Havoc really is better used with BT keyboard or a slider phone like the Pro1, even though you can also use it to run predefiend commands (in qCommands for instance) to show some output that other terminals don't show properly.

That's weird. I know I have some packages that still depend on /home/nemo, and therefore would need a symlink between /home/defaultuser and /home/nemo as a workaround until I repackage them, but that's not the case with Havoc. It should work with any user name. Can you share your /home/defaultuser/.config/havoc.cfg and tell which parameters you want to change?

carlosgonz's picture

Looks good! Thank you.

Kabouik's picture

Default scrollback should be fixed with version 20200616. It was working only with a havoc.cfg file before.