billiob pushed a commit to branch master. http://git.enlightenment.org/apps/terminology.git/commit/?id=27304c456f5d837dae4cddcc2a1dfeba38b2fc0b
commit 27304c456f5d837dae4cddcc2a1dfeba38b2fc0b Author: Boris Faure <bill...@gmail.com> Date: Mon Feb 23 23:32:12 2015 +0100 make terminology start on solaris --- src/bin/termpty.c | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/src/bin/termpty.c b/src/bin/termpty.c index 107b0de..1fef59f 100644 --- a/src/bin/termpty.c +++ b/src/bin/termpty.c @@ -16,6 +16,9 @@ #include <errno.h> #include <unistd.h> #include <termios.h> +#if defined (__sun) || defined (__sun__) +# include <stropts.h> +#endif /* specific log domain to help debug only terminal code parser */ int _termpty_log_dom = -1; @@ -386,6 +389,15 @@ termpty_new(const char *cmd, Eina_Bool login_shell, const char *cd, goto err; } +#if defined (__sun) || defined (__sun__) + if (ioctl(ty->slavefd, I_PUSH, "ptem") < 0 + || ioctl(ty->slavefd, I_PUSH, "ldterm") < 0 + || ioctl(ty->slavefd, I_PUSH, "ttcompat") < 0) + { + ERR(_("ioctl() on pty '%s' failed: %s"), pty, strerror(errno)); + goto err; + } +# endif if (tcgetattr(ty->slavefd, &t) < 0) { --