zoidfaq - Frequently Asked Questions about Zoidberg
If you don't know where the name comes from, you should watch more cartoons.
Quoting some futurama episode about a certain doctor Zoidberg :
"He's a weird monster who smells like he eats garbage and does"
This program was from the very beginning intended to become a huge and bloated monster.
NO ! If it is stable we'll call it 1.00 .
Kind of, as long as you don't try too fancy stuff with too many privileges.
First of all because we like Perl better then shell script, and with the right glue you can do real powerful things with Perl statements in your shell.
Secondly because we wanted a platform to try out some experimental shell features, and it is really nice to be able to do so in Perl in an object oriented fashion. With zoid you don't need to patch archaic C code just to add for example another builtin function to your shell.
Set the environment variable CLICOLOR to 0 (null).
When you type Perl code without brackets around it, zoid does a little source filtering making a arrow '->' (the dereference operator) at the start of a word an alias for '$shell->'. Where '$shell' is the main shell object.
->
$shell->
$shell
zoid$ ->Commands->cd(q/../) # is the same as zoid$ $shell->Commands->cd(q/../)
This behaviour is called asynchronous notification. It is not a real default option; it is turned on in the default 'zoidrc' file. Remove the setting "notify" from our 'zoidrc' file or try set +o notify.
set +o notify
No, but Term::ReadLine::Zoid does :) If you use this module try setting $ENV{RPS1}.
$ENV{RPS1}
No, but everyone agrees it would very nice if it did.
The problem is that I ([Pardus]) don't do anything with localization so I don't have any idea how this should work, no setup to test it, no experience this. Since I don't use this myself for me this has a low priority.
Since Perl has a lot of documentation and pragmas relating to this topic I have the feeling it shouldn't be to hard to have zoid at least understand character encoding correctly, but I'm going to need help from people with more experience in using these Perl features.
So If YOU want utf8/encoding .../locale in zoid and have some experience in using character encodings in Perl please contact [Pardus] by email.
Probably it's on the TODO list, or at some list at least. Try the mailing list.
Yes you can. Basicly all you need to do is to set the mode of the shell to the namespace of your module; see zoiduser(1) for details. For a more elaborate example of using Zoidberg to build a custom shell application have a look at examples/cpan.pl which is included in the source package.
examples/cpan.pl
To my understanding the only thing needed to cooperate with any GUI toolkit is a "heartbeat" event to update the GUI. If you use our Term::ReadLine::Zoid library zoid will give you an event called "beat". Try something like:
$shell->{events}{beat} = \&update_gui;
... please send me (Pardus) a copy if you have working example code of a gui application using zoid.
If you use Term::ReadLine::Zoid, make sure not to use a version older then your version of Zoidberg. When using the latest version of zoid, the latest version of Term::ReadLine::Zoid should work. Try installing Bundle::Zoidberg instead of just Zoidberg.
If you have all dependencies right you might need to remove/clean the directory ~/.zoid. Also it might be a good idea to clean up /usr/share/zoid and/or /usr/local/share/zoid before installing a new version.
~/.zoid
/usr/share/zoid
/usr/local/share/zoid
See the previous question.
Versions of Env::PS1 prior to 0.4 are known to behave badly when used on a system with a case-insensitive filesystem. Install version 0.4 for the fix.
Well, if it is a bug at all then probably it's a bug in Perl, not in zoid.
Most notoriously if you use globs in Perl code, Perl 5.8.0 can segfault; upgrading to at least Perl 5.8.2 fixes this problem.
On the other hand if zoid dies with an "attempt to free an unreferenced scalar" kind of message it probably is a bug in zoid, please report it.
perl(1), http://zoidberg.sourceforge.net
To install Zoidberg, copy and paste the appropriate command in to your terminal.
cpanm
cpanm Zoidberg
CPAN shell
perl -MCPAN -e shell install Zoidberg
For more information on module installation, please visit the detailed CPAN module installation guide.