Terminix Stable 1.2.0 Released
I've pushed out the latest stable version of Terminix, a tiling terminal emulator for Linux written in D using GtkD. The following new features have been added: Design changes as per discussion in #372 Support for background images Limited support for automatic profile switching Globally disable shortcuts Copy on select preference Support for a Visual Bell Numerous bug fixes More information is available at https://github.com/gnunn1/terminix. I'm always looking for contributors, so if anyone is interested in lending a hand feel free to join the party.
Re: Terminix Stable 1.2.0 Released
On Friday, 22 July 2016 at 13:54:41 UTC, Gerald wrote: I've pushed out the latest stable version of Terminix, a tiling terminal emulator for Linux written in D using GtkD. The following new features have been added: Design changes as per discussion in #372 Support for background images Limited support for automatic profile switching Globally disable shortcuts Copy on select preference Support for a Visual Bell Numerous bug fixes More information is available at https://github.com/gnunn1/terminix. I'm always looking for contributors, so if anyone is interested in lending a hand feel free to join the party. Is terminix already 'officially' packaged by any distro ?
Re: Terminix Stable 1.2.0 Released
On Friday, 22 July 2016 at 17:30:30 UTC, sdhdfhed wrote: On Friday, 22 July 2016 at 13:54:41 UTC, Gerald wrote: I've pushed out the latest stable version of Terminix, a tiling terminal emulator for Linux written in D using GtkD. The following new features have been added: Design changes as per discussion in #372 Support for background images Limited support for automatic profile switching Globally disable shortcuts Copy on select preference Support for a Visual Bell Numerous bug fixes More information is available at https://github.com/gnunn1/terminix. I'm always looking for contributors, so if anyone is interested in lending a hand feel free to join the party. Is terminix already 'officially' packaged by any distro ? It has been packaged for Debian though there is still an issue with LDC to be sorted out: https://github.com/gnunn1/terminix/issues/25#issuecomment-233138093 The biggest challenge is getting D's tool chain supported, the release of 1.0 of LDC is what is making this possible for Terminix since DMD is a non-starter for most distros.
Re: Terminix Stable 1.2.0 Released
On Friday, 22 July 2016 at 13:54:41 UTC, Gerald wrote: I've pushed out the latest stable version of Terminix, a tiling terminal emulator for Linux written in D using GtkD. The following new features have been added: Design changes as per discussion in #372 Support for background images Limited support for automatic profile switching Globally disable shortcuts Copy on select preference Support for a Visual Bell Numerous bug fixes More information is available at https://github.com/gnunn1/terminix. I'm always looking for contributors, so if anyone is interested in lending a hand feel free to join the party. Nice work! By the way, Terminix is present in the Arch Linux AUR. But it seems that it's very inconvenient for me. I don't use gnome and I don't like the fat titlebars (client side decorations). Moreover, the Terminix window doesn't have a shadow (because it's not a "plain" window with titlebar) in KDE. Without a shadow sometimes it's hard to tell where is the edge of the window. Is there an ability to remove the client side decoration and switch back to the default titlebar?
Re: Terminix Stable 1.2.0 Released
On Friday, 22 July 2016 at 13:54:41 UTC, Gerald wrote: I've pushed out the latest stable version of Terminix, a tiling terminal emulator for Linux written in D using GtkD. The following new features have been added: Design changes as per discussion in #372 Support for background images Limited support for automatic profile switching Globally disable shortcuts Copy on select preference Support for a Visual Bell Numerous bug fixes More information is available at https://github.com/gnunn1/terminix. I'm always looking for contributors, so if anyone is interested in lending a hand feel free to join the party. Nice! I will test it on our Ubuntu 14.04 + XFCE4 thin client environment. On my personal wish list is the feature to mix mouse and terminal interaction: With some programs hyperlinks are detected an can be opened with mouse click. It would be very cool, to allow the detection of ls command and offering mouse support for opening files or cd / changing directories. I am using always lt as alias for ls -lrt, to see the last modified files, than just clicking on the file to get an open dialogue would be very cool. In the moment I am using a small script: openlast [command], to open the last modified file with command or if omitted with gnome-open, but this does not work if you want to open an other file than the last one. And it ends up again with typing the program name or copying with the mouse. Regards mt.
Re: Terminix Stable 1.2.0 Released
On Friday, 22 July 2016 at 19:24:58 UTC, Gerald wrote: On Friday, 22 July 2016 at 17:30:30 UTC, sdhdfhed wrote: On Friday, 22 July 2016 at 13:54:41 UTC, Gerald wrote: I've pushed out the latest stable version of Terminix, a tiling terminal emulator for Linux written in D using GtkD. The following new features have been added: Design changes as per discussion in #372 Support for background images Limited support for automatic profile switching Globally disable shortcuts Copy on select preference Support for a Visual Bell Numerous bug fixes More information is available at https://github.com/gnunn1/terminix. I'm always looking for contributors, so if anyone is interested in lending a hand feel free to join the party. Is terminix already 'officially' packaged by any distro ? It has been packaged for Debian though there is still an issue with LDC to be sorted out: https://github.com/gnunn1/terminix/issues/25#issuecomment-233138093 The biggest challenge is getting D's tool chain supported, the release of 1.0 of LDC is what is making this possible for Terminix since DMD is a non-starter for most distros. integration in distribution could be a good signal, what a say, Excellent signal, for the D language. I know that some people here are mostly starving at commercial usage...but for me such tools written in D and available in linux distros via their package manager would be a much more significant sign.
Re: Terminix Stable 1.2.0 Released
On Saturday, 23 July 2016 at 09:27:14 UTC, phant0m wrote: Nice work! By the way, Terminix is present in the Arch Linux AUR. But it seems that it's very inconvenient for me. I don't use gnome and I don't like the fat titlebars (client side decorations). Moreover, the Terminix window doesn't have a shadow (because it's not a "plain" window with titlebar) in KDE. Without a shadow sometimes it's hard to tell where is the edge of the window. Is there an ability to remove the client side decoration and switch back to the default titlebar? If you go into dconf with dconf-editor, there is a setting under com/gexperts/Terminix to disable the CSS and use a regular titlebar.
Re: Terminix Stable 1.2.0 Released
On Saturday, 23 July 2016 at 11:40:20 UTC, qsdjlf wrote: [...] integration in distribution could be a good signal, what a say, Excellent signal, for the D language. I know that some people here are mostly starving at commercial usage...but for me such tools written in D and available in linux distros via their package manager would be a much more significant sign. It is also something that brings people to D - a good toolchain and many projects using D and being established in Linux distributions is a *huge* influence. Unfortunately, D is still a bit painful in Linux distros. Those issues should be resolved to make integration easier: 1) Stable ABI for the D language which ideally also works across compilers 2) Fixing dub bugs and adding features - at time, dub is pretty unusable for distro packaging, which is why we use Terminix' Automake support. Specifically, these issues need to be addressed: - Find & use system dub packages: https://github.com/dlang/dub/issues/838 - Make dub compile by-file and not compile everything with one compiler command (for very large projects this makes parallelization hard and can also bring down less powerful build slaves) - Add "dub install" to install a project: https://github.com/dlang/dub/issues/839 - "dub test" shouldn't override the main binary, otherwise we can't run tests properly in distros at compile-time: https://github.com/dlang/dub/issues/840 3) Making LDC available for more architectures, or making GDC support a higher version of the Phobos standard library and build shared libraries. At time, LDC is the better fit because of shared library support and higher Phobos version. Current D projects are hard to compile with GDC because of the latter reason. More architectures are not per-se essential, but would be awesome to have. This feature request summarizes the status of arch support for D in free compilers: https://github.com/ldc-developers/ldc/issues/1636 4) Resolving weird LDC bugs like this one: https://github.com/ldc-developers/ldc/issues/1618 - might actually be an LLVM issue, but I don't know enough to pin down the issue. 5) Have hardening supported for the D compilers: https://wiki.debian.org/HardeningWalkthrough 6) Ideally have the free D compilers agree on a common set of compiler options, like clang supports gcc compiler flags. That allows distros to apply compiler flags globally, e.g. to enable hardening. Of these points 1, 2 and 4 are very important, 3 would be really nice to have and 5 and 6 would be going the extra mile to make D awesome in distros and us as distribution vendors really happy.
Re: Terminix Stable 1.2.0 Released
On Saturday, 23 July 2016 at 14:24:08 UTC, Matthias Klumpp wrote: On Saturday, 23 July 2016 at 11:40:20 UTC, qsdjlf wrote: [...] integration in distribution could be a good signal, what a say, Excellent signal, for the D language. I know that some people here are mostly starving at commercial usage...but for me such tools written in D and available in linux distros via their package manager would be a much more significant sign. It is also something that brings people to D - a good toolchain and many projects using D and being established in Linux distributions is a *huge* influence. Unfortunately, D is still a bit painful in Linux distros. Those issues should be resolved to make integration easier: 1) Stable ABI for the D language which ideally also works across compilers 2) Fixing dub bugs and adding features - at time, dub is pretty unusable for distro packaging, which is why we use Terminix' Automake support. Specifically, these issues need to be addressed: - Find & use system dub packages: https://github.com/dlang/dub/issues/838 - Make dub compile by-file and not compile everything with one compiler command (for very large projects this makes parallelization hard and can also bring down less powerful build slaves) - Add "dub install" to install a project: https://github.com/dlang/dub/issues/839 - "dub test" shouldn't override the main binary, otherwise we can't run tests properly in distros at compile-time: https://github.com/dlang/dub/issues/840 3) Making LDC available for more architectures, or making GDC support a higher version of the Phobos standard library and build shared libraries. At time, LDC is the better fit because of shared library support and higher Phobos version. Current D projects are hard to compile with GDC because of the latter reason. More architectures are not per-se essential, but would be awesome to have. This feature request summarizes the status of arch support for D in free compilers: https://github.com/ldc-developers/ldc/issues/1636 4) Resolving weird LDC bugs like this one: https://github.com/ldc-developers/ldc/issues/1618 - might actually be an LLVM issue, but I don't know enough to pin down the issue. 5) Have hardening supported for the D compilers: https://wiki.debian.org/HardeningWalkthrough 6) Ideally have the free D compilers agree on a common set of compiler options, like clang supports gcc compiler flags. That allows distros to apply compiler flags globally, e.g. to enable hardening. Of these points 1, 2 and 4 are very important, 3 would be really nice to have and 5 and 6 would be going the extra mile to make D awesome in distros and us as distribution vendors really happy. +1 very good post. Good lightening of the problem.
Re: Terminix Stable 1.2.0 Released
On 23 July 2016 at 16:24, Matthias Klumpp via Digitalmars-d-announce wrote: > > 3) Making LDC available for more architectures, or making GDC support a > higher version of the Phobos standard library and build shared libraries. > At time, LDC is the better fit because of shared library support and higher > Phobos version. Current D projects are hard to compile with GDC because of > the latter reason. > More architectures are not per-se essential, but would be awesome to have. > This feature request summarizes the status of arch support for D in free > compilers: https://github.com/ldc-developers/ldc/issues/1636 > Well, as GDC is supporting the last C++ release, the only next logical step would be to get bootstrapping from 2.068 to 2.071 or whatever version of the frontend has sufficiently ironed out all compatibility regressions. This means that backporting compiler fixes and the standard library from upstream is acceptably on the cards. It's just that the feature-set will remain the same as 2.068. > > 5) Have hardening supported for the D compilers: > https://wiki.debian.org/HardeningWalkthrough > As per the wiki, if you use GDC then there's nothing for you to do.
Re: Terminix Stable 1.2.0 Released
On Saturday, 23 July 2016 at 17:00:45 UTC, Iain Buclaw wrote: On 23 July 2016 at 16:24, Matthias Klumpp via Digitalmars-d-announce wrote: 3) Making LDC available for more architectures, or making GDC support a higher version of the Phobos standard library and build shared libraries. At time, LDC is the better fit because of shared library support and higher Phobos version. Current D projects are hard to compile with GDC because of the latter reason. More architectures are not per-se essential, but would be awesome to have. This feature request summarizes the status of arch support for D in free compilers: https://github.com/ldc-developers/ldc/issues/1636 Well, as GDC is supporting the last C++ release, the only next logical step would be to get bootstrapping from 2.068 to 2.071 or whatever version of the frontend has sufficiently ironed out all compatibility regressions. I would love to use GDC for Debian, but a compiler is really useless if it doesn't compile 90% of the interesting D projects out there... LDC however, can do that. This means that backporting compiler fixes and the standard library from upstream is acceptably on the cards. It's just that the feature-set will remain the same as 2.068. API/ABI breaks in Phobos are really, really annoying - but GDC having an ancient Phobos version is even more annoying, since this basically ties us to using LDC. GDC doesn't compile the majority of D projects ot there, and for my own I need to explicitly add support for it, e.g. by backporting standard library bits and shipping them with the source code. 5) Have hardening supported for the D compilers: https://wiki.debian.org/HardeningWalkthrough As per the wiki, if you use GDC then there's nothing for you to do. Since the normal toolchain of Linux distributions is GCC based and GCC has a pretty good backend with all the features we need, using GDC would be a good choice. But LDCs shared-library support is a pretty big deal for distros, and together with the fact that GDC doesn't compile most of the interesting new projects, LDC is the way to go. Furthermore, since GDC is out-of-tree, some distributions like Fedora don't have it / can't easily add it. I would love to see this resolved - is this a manpower problem? Or are there other blockers?
Re: Terminix Stable 1.2.0 Released
On Saturday, 23 July 2016 at 14:24:08 UTC, Matthias Klumpp wrote: 4) Resolving weird LDC bugs like this one: https://github.com/ldc-developers/ldc/issues/1618 - might actually be an LLVM issue, but I don't know enough to pin down the issue. Turns out that this is not actually a LDC/LLVM bug, but an artefact of Ubuntu 16.10 patching GCC to generate position-independent executables by default. Is DMD also affected by this? Does anybody know how other languages are dealing with the change? — David