lanoxx / tilda

A Gtk based drop down terminal for Linux and Unix
GNU General Public License v2.0
1.27k stars 162 forks source link

Using the -c command-line argument started to behave incorrectly #436

Closed Andy3153 closed 3 years ago

Andy3153 commented 4 years ago

I used to use the -c argument to start Cava, a visualizer, since that's how I'm using this terminal. All was good, until I did an update, and now, instead of the '-c' argument executing the command inside of the terminal, it modifies the setting of 'Title and Command > Command > Run a custom command instead of the shell' to whatever you give the '-c' argument to. And, the terminal seems to just hang and do nothing. You can't press Ctrl+C or Ctrl+D, it does nothing. At this point, even if you restart the terminal, it still does the same thing. To fix it, you have to go inside of the settings and uncheck that 'Run a custom command instead of the shell', create a new tab, then close the previous one. So, basically the '-c' argument is now useless and kinda just breaks Tilda.

I'm saying it's behaving incorrectly because if you look in 'tilda --help', the -c argument is listed ths way: -c, --command Run a command at startup

I'm running on Arch Linux, though I've also tried getting the terminal off of here, off of Github and it did the same thing. Also, I can replicate this bug every time

tronkko commented 4 years ago

This might be a problem in VTE. Downgrading vte3 and vte-common packages to their previous versions seems to affect the problem:

pacman -U vte3-0.60.3-1-x86_64.pkg.tar.zst vte-common-0.60.3-1-x86_64.pkg.tar.zst

You can download the packages from https://archive.archlinux.org/packages/v/

Andy3153 commented 4 years ago

And that is actually the problem indeed. Downgrading VTE solved it. Thanks for the help.

EDIT: Though, is there anything that the people working on Tilda can do about it? Keeping programs donwgraded works great for a temporary solution. But I bet there are many other programs that depend on VTE, and you can't just keep it downgraded forever. That is, if the way Tilda is using the dependency is what makes it work wrongly, and not VTE

Pytness commented 4 years ago

This is the output i get when I lunch tilda from the terminal using the -c argument:

(tilda:173961): VTE-CRITICAL **: 18:24:41.553: void vte_pty_spawn_with_fds_async(VtePty*, const char*, const char* const*, const char* const*, const int*, int, const int*, int, GSpawnFlags, GSpawnChildSetupFunc, gpointer, GDestroyNotify, int, GCancellable*, GAsyncReadyCallback, gpointer): assertion 'envv == nullptr || _vte_pty_check_envv(envv)' failed
Tilda has started. Press F1 to pull down the window.
agb80 commented 3 years ago

Seems there is already a patch for this error: https://github.com/lanoxx/tilda/pull/438

tronkko commented 3 years ago

Tilda became unusable on Arch Linux after the latest update. Downgrading vte3 and vte-common is no longer a solution as we would have to downgrade a whole bunch of other programs too :(

@lanoxx If this is fixed in Git then could you please release a new version on Github? We could then ask package maintainers to update Tilda to new version.

lanoxx commented 3 years ago

Marking as duplicate of #442.

Andy3153 commented 3 years ago

@tronkko You're right. On Arch it doesn't work anymore.

lanoxx commented 3 years ago

Please upgrade to 1.5.4 and let me know if that resolves the problem.

Andy3153 commented 3 years ago

@lanoxx on Arch it didn't get updated to 1.5.4 yet, it's currently at 1.5.2, so I've just cloned the git repo (./tilda -v reports 1.6-alpha) and it's working. The workaround to downgrade VTE is no longer necessary either! Guess it's just a matter of time till distros get it in their repos now and that's all.

tronkko commented 3 years ago

@lanoxx Thanks, version 1.5.4 is now available on Arch and it resolves the problem.