www.digitalmars.com         C & C++   DMDScript  

digitalmars.D.announce - Terminix Stable 1.2.0 Released

reply Gerald <gerald.b.nunn gmail.com> writes:
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:


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.
Jul 22 2016
next sibling parent reply sdhdfhed <sdhdfhedsmd jjsdg.thy> writes:
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:


 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 ?
Jul 22 2016
parent reply Gerald <gerald.b.nunn gmail.com> writes:
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:


 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.
Jul 22 2016
parent reply qsdjlf <dfvdvf lqsfjsdf.gt> writes:
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:


 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.
Jul 23 2016
parent reply Matthias Klumpp <matthias tenstral.net> writes:
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.
Jul 23 2016
next sibling parent qsdjlf <dfvdvf lqsfjsdf.gt> writes:
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.
Jul 23 2016
prev sibling next sibling parent reply Iain Buclaw via Digitalmars-d-announce writes:
On 23 July 2016 at 16:24, Matthias Klumpp via Digitalmars-d-announce
<digitalmars-d-announce puremagic.com> 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.
Jul 23 2016
parent Matthias Klumpp <matthias tenstral.net> writes:
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 <digitalmars-d-announce puremagic.com> 
 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?
Jul 24 2016
prev sibling parent David Nadlinger <code klickverbot.at> writes:
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
Jul 29 2016
prev sibling next sibling parent reply phant0m <asoeifjasoi sioudfhjsiuodhf.com> writes:
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:


 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?
Jul 23 2016
parent Gerald <gerald.b.nunn gmail.com> writes:
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.
Jul 23 2016
prev sibling parent Martin Tschierschke <mt smartdolphin.de> writes:
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:


 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.
Jul 23 2016