lxde / lxterminal Goto Github PK
View Code? Open in Web Editor NEWVTE terminal emulator written in GTK
License: GNU General Public License v2.0
VTE terminal emulator written in GTK
License: GNU General Public License v2.0
Hello! Thank you for your work on this project— it has been my terminal of choice for the past year.
I see that QTerminal supports ligatures, but LXTermimal does not. Would it be possible to add this functionality to this terminal as well?
The use case is so that fonts such as Fira Code can render their ligatures, rather than have their raw characters output on the screen.
I'm experiencing random hangs and codedump of the whole lxterminal
. It happens most frequently when I copy text by double-clicking left mouse button. It is not consistently reproducible. I would say it happens ~1% of the time.
Here is the stacktrace I found in journal from the most recent crash:
Mar 07 16:14:25 laptop systemd-coredump[5495]: Process 4767 (lxterminal) of user 1000 dumped core.
Stack trace of thread 4767:
#0 0x00007f3376d1ceab raise (libc.so.6)
#1 0x00007f3376d075b9 abort (libc.so.6)
#2 0x00007f3376d07491 __assert_fail_base.cold.0 (libc.so.6)
#3 0x00007f3376d15612 __assert_fail (libc.so.6)
#4 0x00007f337751939a poll_for_event (libX11.so.6)
#5 0x00007f337751943e poll_for_response (libX11.so.6)
#6 0x00007f3377519735 _XEventsQueued (libX11.so.6)
#7 0x00007f337751c3f8 _XData32 (libX11.so.6)
#8 0x00007f33774f5d0c XChangeProperty (libX11.so.6)
#9 0x00007f33793fde25 gdk_window_set_icon_list (libgdk-x11-2.0.so.0)
#10 0x00007f33798d3e95 gtk_window_realize_icon (libgtk-x11-2.0.so.0)
#11 0x00007f33798d9b97 gtk_window_realize (libgtk-x11-2.0.so.0)
#12 0x00007f3377fc1c8d g_closure_invoke (libgobject-2.0.so.0)
#13 0x00007f3377fd5386 signal_emit_unlocked_R (libgobject-2.0.so.0)
#14 0x00007f3377fde30a g_signal_emit_valist (libgobject-2.0.so.0)
#15 0x00007f3377fde903 g_signal_emit (libgobject-2.0.so.0)
#16 0x00007f33798cc7a4 gtk_widget_realize (libgtk-x11-2.0.so.0)
#17 0x00007f33798d7be8 gtk_window_show (libgtk-x11-2.0.so.0)
#18 0x00007f3377fc1c8d g_closure_invoke (libgobject-2.0.so.0)
#19 0x00007f3377fd5386 signal_emit_unlocked_R (libgobject-2.0.so.0)
#20 0x00007f3377fde30a g_signal_emit_valist (libgobject-2.0.so.0)
#21 0x00007f3377fde903 g_signal_emit (libgobject-2.0.so.0)
#22 0x00007f33798cbd96 gtk_widget_show (libgtk-x11-2.0.so.0)
#23 0x000055e67e631c91 lxterminal_initialize (lxterminal)
#24 0x000055e67e62c9ea handle_request (lxterminal)
#25 0x00007f3379d2291d g_main_context_dispatch (libglib-2.0.so.0)
#26 0x00007f3379d22ce8 g_main_context_iterate.isra.21 (libglib-2.0.so.0)
#27 0x00007f3379d23012 g_main_loop_run (libglib-2.0.so.0)
#28 0x00007f337978e95f gtk_main (libgtk-x11-2.0.so.0)
#29 0x000055e67e62c7bb main (lxterminal)
#30 0x00007f3376d0911b __libc_start_main (libc.so.6)
#31 0x000055e67e62c7fa _start (lxterminal)
Stack trace of thread 4770:
#0 0x00007f3376dd5429 __poll (libc.so.6)
#1 0x00007f3379d22c56 g_main_context_iterate.isra.21 (libglib-2.0.so.0)
#2 0x00007f3379d22d80 g_main_context_iteration (libglib-2.0.so.0)
#3 0x00007f3379d22dd1 glib_worker_main (libglib-2.0.so.0)
#4 0x00007f3379d4b01a g_thread_proxy (libglib-2.0.so.0)
#5 0x00007f33770ac594 start_thread (libpthread.so.0)
#6 0x00007f3376ddff4f __clone (libc.so.6)
Stack trace of thread 4775:
#0 0x00007f3376dd5429 __poll (libc.so.6)
#1 0x00007f3379d22c56 g_main_context_iterate.isra.21 (libglib-2.0.so.0)
#2 0x00007f3379d23012 g_main_loop_run (libglib-2.0.so.0)
#3 0x00007f337873485a gdbus_shared_thread_func (libgio-2.0.so.0)
#4 0x00007f3379d4b01a g_thread_proxy (libglib-2.0.so.0)
#5 0x00007f33770ac594 start_thread (libpthread.so.0)
#6 0x00007f3376ddff4f __clone (libc.so.6)
...
Mar 07 16:14:26 laptop abrt-notification[5586]: Process 18557 (lxterminal) crashed in _nl_load_domain.cold.0()
If the problem is not in your code, can you tell me on which project should I open the ticket ? I cannot decypher it from the stacktrace.
Versions:
Additional info:
clipit
app after OS installation (I will try to have it running, just to see if it happens again)For drop-in compatibility with xterm and other similar apps, it would be helpful if -name was available as a synonym for --title / -T.
Hi it would be great if lxterminal have a feature to save output of lxterminal screen to a file. Similar like putty has its logging to a file.
thank you very much
Currently an opened tab in LXTerminal is closed when one issues a middle-button click within the tag title. I'm not sure to understand the rationale of this action, I was many times trapped by this feature while trying to paste a text within an opened tab (action of the middle-button, as is done in most linux environments) and having unfortunately placed my pointer a bit too high in the terminal window: the immediate result is an immediate and unwanted disparition of the tab. This trap being hard-coded (in function terminal_tab_button_press_event), it was possible to recompile the package with this middle-click action commented out, which for me is much more secure. But maybe this action would better be parametrized from the configuration ?
Hi
I wanna contribute for the development of lxterminal, but I'm not really know about it much.
So as a start I want write unit test for it using cmoka (https://cmocka.org/).
Can some devs kindly show me which module/section need to implement fisrt?
This is common is many "tabbed" applications.
For example, Firefox has "Move to New Window" and Chrome allows mouse "drag" to move a tab into its own window.
I sometimes have multiple tabs open and then want to see the contents of two tabs side-by-side. It would be very helpful to be able to "pop out" one of the tabs into its own window.
Thanks!
12 lines (10 sloc) 349 Bytes
Developer:
Fred Chien [email protected]
Alessandro Pellizzari [email protected]
Micahel [email protected]
Yotam Medini [email protected]
Liu Yubao [email protected]
Marty Jack [email protected]
Martin Bagge [email protected]
Icon:
Taken from "nuoveXT 2" icon theme created by Alexandre Moore (saki)
© 2017 GitHub, Inc.
Thank you for LXTerminal; it's small, fast, and a good balance of features. However, I really miss to be able to reorder tabs. Sometimes, specially when comparing different terminal outputs, it is very useful to reorder tabs. Other terminal emulators allow it (Sakura, for example), using drag and drop with the mouse.
Could you please consider adding it? Thanks.
Hi, I observe a crash with 0.3.1 on arm64 on gentoo. It does not happen with 0.2.0.
dmesg output:
[ 1042.559123] lxterminal[5862]: unhandled level 1 translation fault (11) at 0x0000000c, esr 0x92000005
[ 1042.559147] pgd = ffffffc07129e000
[ 1042.562888] [0000000c] *pgd=0000000000000000
[ 1042.567718] CPU: 3 PID: 5862 Comm: lxterminal Not tainted 3.10.104 #5
[ 1042.567732] task: ffffffc071006700 ti: ffffffc06b108000 task.ti: ffffffc06b108000
[ 1042.567757] PC is at 0x7f93680f30
[ 1042.567768] LR is at 0x7f9377fda4
[ 1042.567780] pc : [<0000007f93680f30>] lr : [<0000007f9377fda4>] pstate: 80000000
[ 1042.567789] sp : 0000007fcf30edf0
[ 1042.567799] x29: 0000007fcf30edf0 x28: 0000007fcf30f0b8
[ 1042.567814] x27: 0000005581afc020 x26: 0000007f937d4000
[ 1042.567830] x25: 0000007f937d5000 x24: 0000007f937d4000
[ 1042.567855] x23: 0000000000000001 x22: 0000000000000000
[ 1042.567870] x21: 0000000000000002 x20: 0000000000000000
[ 1042.567884] x19: 0000005581aeb680 x18: 0000000000000008
[ 1042.567898] x17: 0000007f937d5288 x16: 0000007f93680f30
[ 1042.567912] x15: 0000000000000002 x14: 0000007f93675c68
[ 1042.567927] x13: 0000007f93679418 x12: 0000000000000000
[ 1042.567941] x11: 0000007f93a5a530 x10: 0000000000000000
[ 1042.567955] x9 : 0000007f9592a900 x8 : 0000000000000001
[ 1042.567969] x7 : 0000000000000000 x6 : 0000007f9592a900
[ 1042.567983] x5 : 0000000000000000 x4 : 0000007f9592a900
[ 1042.567997] x3 : 0000000000000000 x2 : 2f9797d512b76e00
[ 1042.568011] x1 : 0000000000000000 x0 : 0000000000000000
12 lines (10 sloc) 349 Bytes
Developer:
Fred Chien [email protected]
Alessandro Pellizzari [email protected]
Micahel [email protected]
Yotam Medini [email protected]
Liu Yubao [email protected]
Marty Jack [email protected]
Martin Bagge [email protected]
Icon:
Taken from "nuoveXT 2" icon theme created by Alexandre Moore (saki)
© 2017 GitHub, Inc.
Hi
It would be nice if lxterminal asked for confirmation before exiting, because current behaviour (closing without confirmation) makes it easy to lose lots of tabs, which may contain open files, SSH connections, and other sensitive things.
Perhaps it could be configurable via settings, and/or only ask confirmation when there's more than one tab open, but I think it would be very useful and would avoid a lot of disasters :-)
Every daily work I open my browser and enjoy this feature of this decade - "restore previous session" - for the sake of web development and practicality. But I not enjoy this feature when is to start the terminal emulator. In that case I have to reopen a series of tabs and change directories and start a bunch of developing services. In this way, would be nice to have this feature.
Trying to not just being requestful I ask some relevant question:
Terminal emulators like aterm, konsole, mate-terminal, sakura, urxvt, xfce4-terminal and xterm set the WINDOWID environment variable to the window id of the window corresponding to the shell.
For terminal emulators that have the same child process in each window, like xfce4-terminal, that variable makes it possible to figure out which shell in one of those windows was used last.
Lxterminal, like xfce4-terminal, has the same child process in each window, but lacks the WINDOWID variable. This matters in cases like this one, for instance https://github.com/wknapik/lastcwd, where the user wants to figure out the last CWD (the README explains the WINDOWID problem in more detail).
There is no feasible workaround, because WINDOWID has to be set after the window is created, but will not show up in /proc/pid/environ if set after the window/shell is spawned, so this has to be done by lxterminal - no wrapper, or profile script can solve this, at least as far as I can tell.
It seems like it would be trivial to implement, would not cause any problems and would put lxterminal in line with classic terminal emulators like xterm and urxvt.
At least this version doesn't support them:
[ss@arch ~]$ lxterminal --version
lxterminal 0.3.2
To test for example using awesome wm
awesome-client 'require("awful.spawn")({"lxterminal"}, { callback = function(c) require("naughty").notify{ text = c.name } end })'
for gvim a notification appear, for lxterminal not.
This leads to different hacks like:
https://awesomewm.org/apidoc/classes/client.html#client.startup_id
Bugs like:
awesomeWM/awesome#2517
awesomeWM/awesome#2491
And switching to xfce4-terminal for no reason other then that.
Would you please add flags to display version of LXterminal?
For example
lxterminal -v [ to show short version information ]
lxterminal -V [ to show detail version information ]
Running lxterminal on Fedora 23
In previous versions of lxterminal either of these were valid:
lxterminal -e "echo bob"
lxterminal --command "echo bob"
But now this is not possible with the quotations around the command to be run in the new terminal. It seems this is related to d1827de. While these flags can still be used to run commands other terminal emulators seem to accept quotations around the command being passed (tested in terminator and gnome-terminal) also since previous versions of lxterminal did support quotations changing this behavior may break peoples scripts.
as the title.
It would be useful if the main menu items are added to the right-click menu, or just replace the original right-click menu with the main menu items, when the main menu is hidden.
Just like roxterm do.
I want to switch to the next tab using the Ctrl-Tab key combination. Neither "Tab" not "tab" are accepted by the preferences dialog. To make things worse, they are silently replaced with an old settings.
I have found that "ht" and "BackTab" are accepted. But Ctrl-Tab still doesn't work.
I observe the issue with the current git version of lxterminal.
Hi,
Im trying to open in bash some tabs
lxterminal \
--tabs =1 --comand = "sleep 20s", 2 --command "sleep 10;"
but it dosent't work :( Is it possible in lxterminal to open and execute some tabs?
In gnome terminal I can do something like that:
gnome-terminal \
--tab -e "bash -ic \" echo 'First tab' "; exec bash\"" \
--tab -e "bash -ic \"echo 'Second tab' "; exec bash\""
Distro: Debian Testing (LXDE)
Shipped version: 0.3.0
I'm unable to change the window/tab title with "CRTL-SHIT-I": A pop-up appears but the "ok" button is missing and pressing ENTER nothing happens
If I open an lxterminal instance and close out a single tab, the entire lxterminal crashes.
I opened a bug at the Gentoo bug site as well https://bugs.gentoo.org/690958
** Logs: **
anthony@anthony ~ $ sudo egrep --color -ai 'lxterm.(general protection|segfault)' /var/log/messages
Jun 7 20:11:51 anthony kernel: lxterminal[3074]: segfault at 559658b0ab40 ip 00007f24773ec9e0 sp 00007ffc1cc24798 error 4 in libc-2.29.so[7f24772a0000+15a000]
Jul 3 20:31:52 anthony kernel: lxterminal[3092]: segfault at 30 ip 0000560b9d2a5261 sp 00007ffd43ee6700 error 4 in lxterminal[560b9d29a000+12000]
Jul 19 21:19:28 anthony kernel: lxterminal[7676]: segfault at a0 ip 00007f32a03f0b76 sp 00007ffdbd8f4858 error 4 in libgtk-3.so.0.2404.4[7f32a02fe000+351000]
Jul 20 10:56:58 anthony kernel: lxterminal[3167]: segfault at fe2cf82 ip 00007fb4a6b943ce sp 00007fff1e433ff0 error 4 in libglib-2.0.so.0.5800.3[7fb4a6b2a000+11b000]
Jul 20 13:49:40 anthony kernel: lxterminal[4665]: segfault at 8 ip 00007fb62114d2ff sp 00007ffd551f69f0 error 6 in libglib-2.0.so.0.5800.3[7fb6210e2000+11b000]
Jul 21 13:57:00 anthony kernel: lxterminal[3134]: segfault at 9e72 ip 00007f15809b917a sp 00007ffc6175d7d0 error 4 in libglib-2.0.so.0.5800.3[7f158094e000+11b000]
Jul 21 19:15:59 anthony kernel: lxterminal[3341]: segfault at 4ec8 ip 00007fd0c3a6c17a sp 00007fffd2727f70 error 4 in libglib-2.0.so.0.5800.3[7fd0c3a01000+11b000]
Jul 27 14:56:14 anthony kernel: lxterminal[3090]: segfault at 1 ip 00007fd51f49e17a sp 00007fff8080bf20 error 4 in libglib-2.0.so.0.5800.3[7fd51f433000+11b000]
Jul 27 15:19:44 anthony kernel: lxterminal[12515]: segfault at 8 ip 00007f6668076426 sp 00007ffe4c03d460 error 6 in libglib-2.0.so.0.5800.3[7f666800c000+11b000]
Jul 27 15:38:10 anthony kernel: lxterminal[1516]: segfault at 7fcced7661f0 ip 00007fcb88f69810 sp 00007ffdd611cac8 error 4 in libc-2.29.so[7fcb88e1d000+15a000]
Jul 27 16:33:45 anthony kernel: traps: lxterminal[13545] general protection fault ip:557c3e16f436 sp:7fff5b42b940 error:0 in lxterminal[557c3e16b000+9000]
Jul 27 16:59:39 anthony kernel: traps: lxterminal[14033] general protection fault ip:7f2a95ed2c4c sp:7ffc66d28610 error:0 in libgobject-2.0.so.0.5800.3[7f2a95ea8000+32000]
Jul 27 16:59:44 anthony kernel: traps: lxterminal[13520] general protection fault ip:7f6b3c555c4c sp:7ffe3eab11d0 error:0 in libgobject-2.0.so.0.5800.3[7f6b3c52b000+32000]
Jul 27 21:03:59 anthony kernel: traps: lxterminal[3155] general protection fault ip:555ee8541436 sp:7ffc03f6fc40 error:0 in lxterminal[555ee853d000+9000]
Jul 28 21:12:05 anthony sudo[5187]: anthony : TTY=pts/2 ; PWD=/home/anthony ; USER=root ; COMMAND=/bin/egrep --color -ai lxterm.(general protection|segfault) /var/log/messages
anthony@anthony ~ $
anthony@anthony ~ $ eix -I sys-libs/glibc
[I] sys-libs/glibc
Available versions: (2.2) [M]~2.19-r2^s [M]2.23-r4^s [M]~2.24-r4^s [M]2.25-r11^s [M]2.26-r7^s [M]2.27-r6^s 2.28-r6^s 2.29-r2^s **9999^s
{audit caps cet compile-locales custom-cflags debug doc gd hardened headers-only +multiarch multilib nscd profile +rpc selinux split-usr +ssp +static-libs suid systemtap test vanilla}
Installed versions: 2.29-r2(2.2)^s(04:55:31 PM 07/27/2019)(multiarch multilib split-usr ssp -audit -caps -cet -compile-locales -doc -gd -headers-only -nscd -profile -selinux -suid -systemtap -test -vanilla)
Homepage: https://www.gnu.org/software/libc/
Description: GNU libc C library
anthony@anthony ~ $ eix -I lxde-base/lxterminal
[I] lxde-base/lxterminal
Available versions: 0.3.1 ~0.3.2 {gtk3}
Installed versions: 0.3.1(04:33:12 PM 07/27/2019)(gtk3)
Homepage: https://wiki.lxde.org/en/LXTerminal
Description: Lightweight vte-based tabbed terminal emulator for LXDE
anthony@anthony ~ $
anthony@anthony ~ $ ldd -v /usr/lib64/libglib-2.0.so.0.5800.3
linux-vdso.so.1 (0x00007ffc076f3000)
libpcre.so.1 => /lib64/libpcre.so.1 (0x00007f5f848ba000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f5f84897000)
libc.so.6 => /lib64/libc.so.6 (0x00007f5f846c7000)
/lib64/ld-linux-x86-64.so.2 (0x00007f5f84a76000)
Version information:
/usr/lib64/libglib-2.0.so.0.5800.3:
libpthread.so.0 (GLIBC_2.12) => /lib64/libpthread.so.0
libpthread.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
libc.so.6 (GLIBC_2.9) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.3) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.16) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.8) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.10) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.15) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.17) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.7) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
/lib64/libpcre.so.1:
libpthread.so.0 (GLIBC_2.2.5) => /lib64/libpthread.so.0
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3) => /lib64/libc.so.6
/lib64/libpthread.so.0:
ld-linux-x86-64.so.2 (GLIBC_2.2.5) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
libc.so.6 (GLIBC_2.7) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.14) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.3.2) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.4) => /lib64/libc.so.6
libc.so.6 (GLIBC_2.2.5) => /lib64/libc.so.6
libc.so.6 (GLIBC_PRIVATE) => /lib64/libc.so.6
/lib64/libc.so.6:
ld-linux-x86-64.so.2 (GLIBC_2.3) => /lib64/ld-linux-x86-64.so.2
ld-linux-x86-64.so.2 (GLIBC_PRIVATE) => /lib64/ld-linux-x86-64.so.2
anthony@anthony ~ $
I'd like to have a setting to disallow ESC character usage temporary. When I'm on a server with multiple users via ssh, someone could write "\033P" (where \033 is the ESC character) to me and then my terminal is broken. (Test it with $ echo -e "\033P")
Original bug report: https://bugs.archlinux.org/task/60035
gdb indicates that running gtk_notebook_remove_page(GTK_NOTEBOOK(terminal->notebook), term->index)
for the closing tab triggers another child-exited signal, thus causing the next tab to be closed. This procedure is going through recursively and then all tabs are closed.
The relevant change in VTE might be this: https://gitlab.gnome.org/GNOME/vte/commit/0276859709692ec53f35a8cc158d7553a195c730
It's standard for unix man pages to say where configuration files are located. It would be helpful if lxterminal's man page would give this information.
Cannot rename tab
Control+Shitf+i only provides input box for new name, no option for ok or cancel
Please add the ability to search the scrollback buffer (backwards or forwards) similar to how GNOME Terminal does. Optional regex feature would be nice, but simple substring match will do the job. Note the standard approach of piping stdout to grep is insufficient for my purposes.
Right now, if one wants to scroll line-by-line with arrow keys, you must use shift+ctrl+up/down arrow, whereas if you want to scroll pages, you use shift+pgup/pgdown. When switching between line-by-line scrolling and page scrolling you have to constantly toggle the ctrl key while also switching between arrow/pg keys. Eliminating the ctrl key would be nice for this.
When I open lxterminal in Ubuntu default terminal, I found there are some critical message showed on the default terminal.
The message "GLib-CRITICAL *: g_key_file_set_string: assertion 'key_file != NULL' failed" shows when the lxterminal just opened.
And the message "GLib-CRITICAL *: g_str_has_prefix: assertion 'str != NULL' failed" shows when opening a new tab in lxterminal.
howdy! I'd like to be able to use the mouse wheel to scroll the terminal history up and down. This doesn't seem to be working right now. I'm not certain this isn't user error, but is it possible you can help me troubleshoot?
thanks,
Greetings,
with version 0.3.1 if i launch lxterminal when i already have a lxterminal window open, it launches an addition windiow
how to reproduce:
lxterminal &
lxterminal &
i now have 3 lxterminal windows open instead of 2
lxterminal &
lxterminal &
lxterminal &
i now have 5 lxterminal windows open instead of 3
$ gcc --version
gcc (GCC) 7.2.0
When doing a standard build, lxterminal exits immediately. I traced this down the code in unixsocket.c function init():
unlink(socket_path);
g_free(socket_path);
start_controller(&sock_addr, lxtermwin, fd);
return TRUE;
The start_controller() code is called in line and the return code is not set properly. If I pass:
CFLAGS="-O2 -fno-inline-functions-called-once -fno-inline-small-functions" ./configure
and rebuild unixsocket.c, lxterminal then starts normally. This actually looks like a compiler optimization bug to me, but I suggest you address it either as above or with some other way to return the correct value.
-- Bruce Dubbs
linuxfromscratch.org
LXTerm shows random characters that do not go away when neovim is run. Explanation of issue is here:
When a tab is created the window height increases to accommodate the tab bar. This is OK, but undesirable. However, the issue is that the window height doesn't come back to normal when the tab is closed and the tab bar is gone. So, every time a tab is opened and closed the window height keeps on increasing.
Ideally, 1) either, opening or closing tabs shouldn't change window size, 2) or, if opening increases height, closing should revert the height back to the original height.
I tried to find some config. or preferences regarding setting zoom in/out keybindings (keyboard shortcuts) in lxterminal, but couldn't find it. I am talking about like I used gnome-terminal in which we can do Ctrl Shift +
to zoom in. Now I have to go to Preferences
to set the font size manually.
If there is any workaround then please help. Thank you.
Using lxterminal on ArchBang.
I have observed some strange behaviour from lxterminal when running a mksh shell script, uhr
(included in the Debian package under /usr/share/doc/mksh/examples
and available from MirBSD CVS here), under lxterminal. This script renders an analogue clock face using ANSI escape sequences and unicode characters.
The expected behaviour is that it will render the boundary of the clock face in non-bold white font (by default rendered as light grey) and the background in black. When the script is started and when the window size is changed, the script recalculates some internal values and displays a progress bar, which is rendered with yellow text on a blue background. This expected behaviour can be observed when I run the script under xterm, gnome-terminal or in tmux under lxterminal.
However, the observed behaviour when the script is run under lxterminal directly (i.e. without tmux) is that after the script has finished loading, the background colour of the terminal is set to blue and the boundary of the clock is yellow, like the progress bar. It should also be noted that the hands of the clock are rendered normally (light grey text and black background) and that the blue background is erased by hands being rendered over it.
I have contacted the maintainer of mksh (and the author of this script) about this behaviour, and their suspicion is that lxterminal is either improperly handling some of the escape sequences in use by the script or improperly reporting the window size in some manner.
This behaviour has been observed with commit hash 1e9f2d4 compiled against GTK+2 on Debian Stretch and with version 0.3.1 compiled against both GTK+2 and GTK+3 on OpenBSD.
When scrolling up and down, it currently peacemeal scrolls more than one line at once (lines count depends on the window height). When using a touchpad instead of a mouse wheel, you don't scroll discrete, you can e.g. scroll 0.1 lines in a scroll event, but lxterminal's scrolling doesn't support it yet. I'd like to have it scroll line by line on a touchpad (and a scrolling speed factor depending on the window height). It could add the scrolling distance, multiplied with the scrolling speed factor, to a double and every frame (60 fps) it takes the integer part from the double and scrolls these lines. If scrolling up, the scrolling distance is negative, else it's positive.
Hi.
I cannot build LXTerminal 0.3.1 on openSUSE's OBS due the subject issue.
Greetings.
LxTerminal already implements an "audible bell" feature. However, it would be useful to have lxterminal run an external command whenever a bell character (\a
) is printed.
The use-case I have in mind is sending a custom notification to my window manager whenever a long-running command finishes, as I don't have a PC speaker nor want to emulate one.
I might try to implement this if I get positive feedback.
$ autoconf
$ ./configure
checking whether make supports nested variables... yes
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
[...]
configure: creating ./config.status
config.status: creating Makefile
config.status: creating src/Makefile
config.status: creating data/Makefile
config.status: creating data/lxterminal.conf
config.status: error: cannot find input file: `po/Makefile.in.in'
$ make
cd . && /bin/bash ./config.status config.h
config.status: creating config.h
config.status: config.h is unchanged
make all-recursive
make[1]: Entering directory '/lxterminal'
Making all in src
make[2]: Entering directory '/lxterminal/src'
Makefile:391: .deps/lxterminal-lxterminal.Po: No such file or directory
Makefile:392: .deps/lxterminal-preferences.Po: No such file or directory
Makefile:393: .deps/lxterminal-setting.Po: No such file or directory
Makefile:394: .deps/lxterminal-unixsocket.Po: No such file or directory
make[2]: *** No rule to make target '.deps/lxterminal-unixsocket.Po'. Stop.
make[2]: Leaving directory '/lxterminal/src'
Makefile:377: recipe for target 'all-recursive' failed
make[1]: ** [all-recursive] Error 1
make[1]: Leaving directory '/lxterminal'
Makefile:317: recipe for target 'all' failed
make: ** [all] Error 2
0.1.11 compiles just fine. If you made any changes to the build process, please, update the README. In any case, it is clear that something is broken.
I wan to contribe the lxterminal install document
if we want to compile from sources, we need to prepare some dependency libarary
I am testing under Ubuntu
apt-get install autoconf xsltproc docbook-xml docbook-xsl
apt-get build-dep lxterminal
./autogen.sh
./configure --prefix=/usr --enable-man
make && sudo make install
xmlcatalog
is necessary for checking that DocBook XML DTD and DocBook XSL Stylesheets are in the XML catalog, and xmlcatalog
is provided by the libxml2-utils
Debian package.
Running configure with --disable-nls doesn't have the intended effect.
Type ls cmd, then it can't display the utf8 names of files.
Is it possible set window size?
Once we open new terminal window, the size too small, may we custom set the default windows size ?
such as 800x600 px or what ever.
I think it would be a great addition if lxterminal would allow to set urgency hints in addition to audible bells.
This should be as easy as calling gtk_window_set_urgency_hint(GTK_WINDOW(…), TRUE)
and introducing a new config option for this kind of "visual bell".
Edit: A quick look reveals that lxterminal is not handling the terminal bell itself. To register a callback in VTE other terminal emulators use something like g_signal_connect(G_OBJECT(vte_object), "bell", G_CALLBACK(my_custom_beep_function), NULL)
.
See the "Geometry Specifications" section of man 7 x
for more information. In particular:
Although the layout of windows on a display is controlled by the window manager that the user is running (described below), most X programs accept a command line argument of the form -geometry WIDTHxHEIGHT+XOFF+YOFF (where WIDTH, HEIGHT, XOFF, and YOFF are numbers) for specifying a preferred size and location for this application's main window.
While LXTerminal determines the number of rows from the HEIGHT
part and the number of columns from the WIDTH
part, including XOFF
and YOFF
parts of different values has no effect on the terminal window's position. For example, lxterminal --geometry=80x24+0+0
should position a terminal window at the top left of the desktop, while lxterminal --geometry=80x24-0-0
should position a terminal window at the bottom right of the desktop.
I'm using lxterminal 0.1.11 on Gentoo and noticed that when I switch tabs with Alt+, this key combination is sent to the terminal after the switch, resulting in (arg: <number>)
being printed in bash. Sorry for the noise if this has been fixed in more recent versions.
My vte version is 0.28.2 and my Gtk version is 2.24.28.
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.