ii8 / havoc Goto Github PK
View Code? Open in Web Editor NEWminimal terminal emulator for wayland
License: Other
minimal terminal emulator for wayland
License: Other
it'd be useful to be able to set the app_id
via options.
I use app_id
to set options to specific app_id
.
To reproduce, launch emacs:
emacs -nw
Try to find a file using Ctrl+x - Ctrl+f
and then use the backspace key : Emacs treat it as a Ctrl+H
and open the help menu.
This may be related to this.
One can simply to swap the two keys in emacs ((keyboard-translate ?\C-h ?\C-?)
), but other terminals don't have this problem so I'm wondering if it can be fixed.
(Thanks you for creating the lightest wayland terminal emulator btw!)
Could there be an option, as an alternative to program
, to start as a login shell?
I have a working Void package template, but Void packages only software with releases, they do not accept commit snapshots. Could you tag a release once in a while?
st ie accessible with git clone https://git.suckless.org/st
Thank you for your great work on this program! I can give a testament that it works great, and fast.
I was trying to package it for my operating system (that would be Arch Linux) and it appears to me that there is no support for building into a temporary location.
./configure --prefix ...
, as described, for instance, here. But there is no configure
script and make
does not understand this parameter either.make DESTDIR=... install
, as described, for instance, here. But it appears to me that this option is ignored.Now, I was able to build the program into a temporary location by editing Makefile
by hand and changing the value of PREFIX
, but I would not like to use sed
to correct this value every time I want to update my package.
If you could arrange it so that make install
understands DESTDIR
and that make
understands prefix
, I am sure many people will be able to enjoy the fruits of your work with greater ease.
Hey there!
A install target could be added into the makefile that installs the default havoc.cfg
into a directory like /usr/share/havoc/
or /etc/havoc/
(I prefer the first one). That way, if the terminal is packaged, users have a default document to use as reference. It would be interesting if it was also supported as one of the places that havoc looks for a config file.
I am interested in implementing this (would probably be quite simple) if you think it's a feature you want.
havoc does not have window decorations on gnome, and most likely on weston and others.
tig shows 2019-10-12 update ctype data to unicode 12.1.0
commit e95538fa07d2b460b25ee6c2fef05f820888776d
Related question: How is the content of tsm
folder generated?
Would be nice to put a hint or the scripts for that.
havoc with a program and multiple args exit immediately and does nothing.
how to reproduce:
havoc echo ok # does nothing and exit with code 0
havoc echo # works as intended
havoc -l echo ok # works as intended
seems to be related to forkpty
but I couldn't debug.
Good day. I was wondering if it would be possible for a master config file supported by this project? For instance, have a config file loaded at /etc/havoc/havoc.cfg. I would be willing to write the code and open a pull request for this change, but I wanted your opinion before I do that.
My thought is that the config's priority would be thus: $XDG_CONFIG_HOME first, then in $HOME/.config, then in /etc/havoc and last in the current working directory.
The reason for this request is that (some) package management systems only install files listed in the Makefile, whick would prevent endusers from getting a config file by default.
this is gay lolololol
I see that by default /bin/sh
is used. Perhaps it would be more reasonable to use whichever shell is specified for the current user in /etc/passwd
, or otherwise preferred? For instance, SHELL
environment variable is a standard location where the path to the user's preferred shell executable may be found. That would make the experience so much better from the start.
To safeguard from non-existent or non-executable SHELL
, a fallback to /bin/sh
may still be put in place.
Use 80*25 by default. Since this is the default of several term programs. It also heartened that the terminal fits on screen
Also use bash as the default shell. It make life easier
Thanks for this marvellous job!
I use terminal everywhere in my daily workflow. And the most thing that I do is opening a terminal with interactive scripts. However when it came to havoc, I found no option such as -e
like other terminals to meet my needs. So is there any possibble workaround to achive this goal? Any advise will be appreciated!
./havoc
wl_registry@2: error 0: invalid version for global wl_seat (5): have 4, wanted 5
missing required formats
Clean exit
I guess its incompatibel to my Wayland version?
Best regards,
Jonas
at the moment the cursor just stays as whatever it was before havoc got pointer focus.
Running in shell valgrind -s --leak-check=full --show-leak-kinds=all ./havoc &> leak_report.txt
and closing the terminal leads to the following report:
==350889== Memcheck, a memory error detector
==350889== Copyright (C) 2002-2017, and GNU GPL'd, by Julian Seward et al.
==350889== Using Valgrind-3.17.0 and LibVEX; rerun with -h for copyright info
==350889== Command: ./havoc
==350889==
==350889== Warning: noted but unhandled ioctl 0x5441 with no size/direction hints.
==350889== This could cause spurious value errors to appear.
==350889== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
==350889==
==350889== HEAP SUMMARY:
==350889== in use at exit: 264,646 bytes in 1,594 blocks
==350889== total heap usage: 15,602 allocs, 14,008 frees, 6,911,963 bytes allocated
==350889==
==350889== 2 bytes in 1 blocks are still reachable in loss record 1 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FF86B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 5 bytes in 1 blocks are still reachable in loss record 2 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F9E66: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 6 bytes in 1 blocks are still reachable in loss record 3 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F9EC2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 7 bytes in 1 blocks are still reachable in loss record 4 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FA421: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 8 bytes in 1 blocks are still reachable in loss record 5 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F9CA7: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 9 bytes in 1 blocks are still reachable in loss record 6 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A0194E: xkb_context_include_path_append (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01C14: xkb_context_include_path_append_default (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01ED0: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 10 bytes in 1 blocks are still reachable in loss record 7 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F9E38: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 10 bytes in 1 blocks are still reachable in loss record 8 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x49EB958: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 10 bytes in 1 blocks are still reachable in loss record 9 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x49FE0AB: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 10 bytes in 1 blocks are still reachable in loss record 10 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x49F3AD6: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 10 bytes in 1 blocks are still reachable in loss record 11 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x49FF91E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 12 bytes in 1 blocks are still reachable in loss record 12 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A070CD: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F131A: xkb_compose_table_new_from_locale (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x112534: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 16 bytes in 1 blocks are still reachable in loss record 13 of 43
==350889== at 0x483E6D5: malloc (vg_replace_malloc.c:379)
==350889== by 0x49FF12E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FF8C0: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 19 bytes in 1 blocks are still reachable in loss record 14 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A0194E: xkb_context_include_path_append (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01C3E: xkb_context_include_path_append_default (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01ED0: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 23 bytes in 1 blocks are still reachable in loss record 15 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A0194E: xkb_context_include_path_append (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01BE1: xkb_context_include_path_append_default (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01ED0: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 24 bytes in 1 blocks are still reachable in loss record 16 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x49ECAC8: xkb_compose_state_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x11254A: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 30 bytes in 1 blocks are still reachable in loss record 17 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE34E: strdup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A0194E: xkb_context_include_path_append (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01C80: xkb_context_include_path_append_default (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01ED0: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 32 bytes in 1 blocks are still reachable in loss record 18 of 43
==350889== at 0x483E6D5: malloc (vg_replace_malloc.c:379)
==350889== by 0x4A019D8: xkb_context_include_path_append (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01C80: xkb_context_include_path_append_default (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01ED0: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 32 bytes in 1 blocks are still reachable in loss record 19 of 43
==350889== at 0x483E6D5: malloc (vg_replace_malloc.c:379)
==350889== by 0x4A01A98: xkb_context_include_path_append (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01C3E: xkb_context_include_path_append_default (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A01ED0: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 32 bytes in 1 blocks are still reachable in loss record 20 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x4A01E48: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 44 bytes in 8 blocks are still reachable in loss record 21 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A016FC: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03283: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 64 bytes in 1 blocks are still reachable in loss record 22 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x4A07047: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F131A: xkb_compose_table_new_from_locale (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x112534: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 80 bytes in 1 blocks are still reachable in loss record 23 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x49CF94D: wl_display_read_events (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFF33: wl_display_dispatch_queue (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 136 bytes in 1 blocks are still reachable in loss record 24 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x4A052C9: xkb_state_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124DD: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 256 bytes in 8 blocks are still reachable in loss record 25 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x49FDC45: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FDF88: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 320 bytes in 20 blocks are still reachable in loss record 26 of 43
==350889== at 0x483E6D5: malloc (vg_replace_malloc.c:379)
==350889== by 0x49FDC45: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FDF88: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 576 bytes in 1 blocks are still reachable in loss record 27 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x49EBA0D: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 638 bytes in 75 blocks are still reachable in loss record 28 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FA49A: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 813 bytes in 64 blocks are still reachable in loss record 29 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F9CDC: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 1,200 bytes in 15 blocks are still reachable in loss record 30 of 43
==350889== at 0x483E6D5: malloc (vg_replace_malloc.c:379)
==350889== by 0x49FD89C: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FDF88: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 1,344 bytes in 1 blocks are still reachable in loss record 31 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x49FDFF7: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 1,424 bytes in 1 blocks are still reachable in loss record 32 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x4A0167C: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03283: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 2,184 bytes in 1 blocks are still reachable in loss record 33 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x4A01CEB: xkb_context_new (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x10CBA1: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 2,787 bytes in 561 blocks are still reachable in loss record 34 of 43
==350889== at 0x483E7C5: malloc (vg_replace_malloc.c:380)
==350889== by 0x4ABE38E: strndup (in /usr/lib/libc-2.33.so)
==350889== by 0x4A01367: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FB1C0: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 3,360 bytes in 12 blocks are still reachable in loss record 35 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x49FD89C: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FDF88: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 4,096 bytes in 1 blocks are still reachable in loss record 36 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x4A013DE: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FB1C0: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 4,608 bytes in 1 blocks are still reachable in loss record 37 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x49EB3ED: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F3D31: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 8,192 bytes in 1 blocks are still reachable in loss record 38 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x4A01340: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F9CDC: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A4B: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 9,576 bytes in 399 blocks are still reachable in loss record 39 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x49FFA9A: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 22,401 bytes in 1 blocks are still reachable in loss record 40 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x49EB1DC: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49EB263: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F1373: xkb_compose_table_new_from_locale (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x112534: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 34,032 bytes in 1 blocks are still reachable in loss record 41 of 43
==350889== at 0x48435FF: calloc (vg_replace_malloc.c:1117)
==350889== by 0x49EB771: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== 53,248 bytes in 399 blocks are still reachable in loss record 42 of 43
==350889== at 0x483E6D5: malloc (vg_replace_malloc.c:379)
==350889== by 0x49F625A: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FEA82: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49FF8C0: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03BB2: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A04A5E: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x4A03297: xkb_keymap_new_from_buffer (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x1124B6: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889==
==350889== 112,960 bytes in 1 blocks are still reachable in loss record 43 of 43
==350889== at 0x484383F: realloc (vg_replace_malloc.c:1192)
==350889== by 0x49EB1F8: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49EB263: ??? (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x49F1373: xkb_compose_table_new_from_locale (in /usr/lib/libxkbcommon.so.0.0.0)
==350889== by 0x112534: kbd_keymap (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x4C22D49: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x4C22266: ??? (in /usr/lib/libffi.so.8.1.0)
==350889== by 0x49D1FF2: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CE562: ??? (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x49CFC8B: wl_display_dispatch_queue_pending (in /usr/lib/libwayland-client.so.0.3.0)
==350889== by 0x1123EF: handle_display (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889== by 0x10CFB0: main (in /home/misterspoon/dev/git/c/havoc/havoc)
==350889==
==350889== LEAK SUMMARY:
==350889== definitely lost: 0 bytes in 0 blocks
==350889== indirectly lost: 0 bytes in 0 blocks
==350889== possibly lost: 0 bytes in 0 blocks
==350889== still reachable: 264,646 bytes in 1,594 blocks
==350889== suppressed: 0 bytes in 0 blocks
==350889==
==350889== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Hello, I am running havoc inside the Sway WM, and for some reason the terminal does not display well in the WM in tiling mode. The terminal displays fine in floating mode & fullscreen mode.
In tiling mode, there is a dark grey border around the window (very visible since my colors are solarized dark).
Not only this, but when using the terminal, normal ascii text output from the terminal gets chopped off at these borders, resulting in some ugly visual effects (and also clipping some of the displayed text).
Here's an example screenshot:
I'm running havoc git on sway on arch linux.
When I execute pacman commands such as "sudo pacman -Syy" in havoc, the progress bars are displayed offset one line:
If I run the same command in sakura, they are displayed correctly:
Havoc outputs the following when running "sudo pacman -Syy":
unhandled CSI sequence F
unhandled CSI sequence E
unhandled CSI sequence F
unhandled CSI sequence E
unhandled CSI sequence F
unhandled CSI sequence E
Currently, only a single path to a TrueType font is supported. Supporting multiple fonts for bold/italic styles would be appreciated.
Many fonts (inc. Nerd Fonts) are only available as .otf
files, and need to be converted to TrueType fonts for use in Havoc. Support for OpenType fonts would make it easier to use these fonts.
On 1a5a6ce see the righthand side
Starting vim
After quitting vim
Bottom left you see the according console output, which shows unhandled control sequences.
Not sure, which ones you want to implement cause there are a big pile of them.
Neovim however works fine.
Selected text does transfer to PRIMARY
buffer, and from there can be pasted, for instance, with middle mouse click or triple tap. But I wonder if there is a way to use the CLIPBOARD
buffer. Most applications favour it anyway, and there is even a conversation in the direction of limiting and eventually dropping the PRIMARY
support.
It is generally considered that Ctrl+Shift+C may be used to copy and Ctrl+Shift+V to paste from the CLIPBOARD
buffer. Such key bindings would not overshadow any terminal input.
Havoc should probably support reading a bold variant of the selected font. This could be done with FontConfig, or by adding a bold
setting under [font]
.
Running with gdb --ex run ./havoc
and maximizing (moving out of bound on upper part) in KDE Plasma on Wayland has the following behavior. Note, that resizing to halfsize (left and right side) or moving terminal out of bounds does not have the problem.
Starting program: /home/misterspoon/dev/git/c/havoc/havoc
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/usr/lib/libthread_db.so.1".
[Detaching after fork from child process 376481]
Program received signal SIGABRT, Aborted.
0x00007ffff7c56d22 in raise () from /usr/lib/libc.so.6
(gdb) bt
#0 0x00007ffff7c56d22 in raise () from /usr/lib/libc.so.6
#1 0x00007ffff7c40862 in abort () from /usr/lib/libc.so.6
#2 0x0000555555559a0f in main ()
Valgrind with valgrind ./havoc
shows additionally
==376548== Process terminating with default action of signal 6 (SIGABRT): dumping core
==376548== at 0x4A6BD22: raise (in /usr/lib/libc-2.33.so)
==376548== by 0x4A55861: abort (in /usr/lib/libc-2.33.so)
==376548== by 0x10DA0E: main (in /home/misterspoon/dev/git/c/havoc/havoc)
possible default configuration (but it should be configurable):
Shift+ArrowUp/Down
should scroll one lineShift+PageUp/Down
should scroll one screenThanks :)
I was trying to package havoc
for Sailfish OS, and was surprised I could actually build it on SFOS 3.3.0.16 with this (for reference to remember which packages were necessary)
git clone https://github.com/ii8/havoc.git
cd havoc
devel-su
zypper install wayland-protocols-devel
zypper install libxkbcommon-devel
zypper install wayland-devel
exit
make CFLAGS="-O2 -DNDEBUG"
devel-su make install
I now have the proper binary in /usr/local/bin
, unfortunately I get this when trying to execute it:
[nemo@Sailfish havoc]$ havoc
could not open font file: No such file or directory
using fallback font
your compositor does not support xdg_wm_base, make sure you have the latest version
I am not a coder at all, and am not familiar with how compositors work (or even what they are exactly), but SailfishOS does use Wayland. This is the version we have: 1.17.0+git1-1.4.1.jolla.
Is there any hope, or does havoc
depend on a more recent version? Another SFOS user told me this:
<Nico[m]> Sailfish doesn't have a concept of maximize, minimize, etc, so wm_base doesn't make much sense. You can probably rip that out and it may work fine
Would that be doable? What should I look for in the sources?
Alternatively, we have some partial Flatpak support on SFOS (just in case you would be planning on a Flatpak release in the future).
I get this error: make: *** No rule to make target 'xdg-shell.c', needed by 'xdg-shell.o'. Stop.
I am getting my dependencies from nixpkgs, but building manually.
Any ideas?
Hi again!
I found CJK font cannot show correctly in this minimal terminal, is there possible to add this feature? Any advice will be appreciated.
Using the latest master, the mouse cursor isn't drawn when it is inside the havoc window. I am on Void Linux, using Sway 1.4. It worked properly before commit 8b9a4ae.
I found this new error appearing which I can not reproduce on a build before the commit mentioned above:
unknown parameter to CSI-J: 3
I used to set Vim's ttymouse=sgr or other values so I can easily resize Vim's window or move focus by tap to other windows (I use mouse or touchpad), but it doesn't work with havoc (it's not like other Wayland terminal, foot, mlterm, wayst). Any clue to fix that? Thanks.
At first I thought this was a problem with my system (as in I didn't have any cursor theme installed), then I installed one (Vanilla-DMZ) but the problem was still happening and it only occurs while hovering over Havoc, after leaving the cursor it returns to normal.
If this is intentional, please allow a way to configure this on havoc.cfg as it confuses me while I am on my workflow. By the way, this project is amazing and I am very happy to use it!
Relevant information:
OS: FreeBSD
Compositor: Sway
Compiled using the ports system from FreeBSD.
I just realized that I can't copy and paste between havoc and qt apps. Like, when I copy text from havoc and then I try to paste to qt apps, the text isn't copied. Or when I copy text from qt apps and paste to havoc, the text isn't copied.
Fonts like Nerd Fonts use double-width symbols to allow using icons in shell prompts and tmux statuslines. Currently, double-width characters are cut-off at half their width.
currently always havoc
displayed in the title bar and never changes.
title should be dynamic and provided title by shell should be displayed instead.
Taken from memcheck
in valgrind
:
==350889== Warning: noted but unhandled ioctl 0x5441 with no size/direction hints.
==350889== This could cause spurious value errors to appear.
==350889== See README_MISSING_SYSCALL_OR_IOCTL for guidance on writing a proper wrapper.
What I find really weird is that it shows up 0x5441
, when I have in /usr/include/asm-generic/ioctls.h
#define TIOCSWINSZ 0x5414
At least thats where clangd leads me to on goto symbol definition
.
This looks like a valgrind bug.
Hello again, ii8. In some terminal emulators, double-clicking on a word selects that word and triple-clicking on a word selects the whole line that word appears on. Havoc is not exhibiting either selection behavior.
Is this something that has to be enabled at build time? I'm using havoc 0.5.0 on linux x86_64 and it was build like this. Maybe a configuration option needs to be set in ~/.config/havoc.cfg
? Or is absence of this behavior by design due to the minimalistic philosophy?
I'm running havoc git on sway on arch linux.
If I set my font to RobotoMono in havoc.cfg like so:
[font]
path=/usr/share/fonts/TTF/RobotoMono-Regular.ttf
then the box drawing characters aren't displayed correctly when running alsamixer:
If I change my font to JetBrainsMonoNL-Regular.ttf then it's displayed correctly:
If I use sakura with RobotoMono, it's displayed correctly:
Since RobotoMono works with sakura, it appears the problem is with havoc.
I have two Tiny Core Linux boxes. One runs X with fluxbox and has various terminal emulators (aterm, urxvt, xterm). The other box has Wayland with labwc and has havoc terminal emulator.
Shell scripts that use the yes
command work fine in all terminal emulators in X. In havoc, at best the scripts show errors like this (when using Busybox):
yes: Broken pipe
or like this (when using GNU coreutils):
yes: standard output: Broken pipe
At worse, the script hangs indefinitely, causes CPU usage to go way up, and laptop fans to come on. I can reproduce this worse case scenario in havoc with this command:
yes "myPassword" | bcrypt someFile.txt
Any ideas what the issue is and how to fix?
EDIT: I should have given some details about my setup.
havoc: 0.5.0-git
wayland: 1.22.0
labwc: 0.6.5
OS: Tiny Core Linux 14 x86_64
linux: 6.1.2
busybox: 1.36.0
coreutils: 9.1
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.