Re: Terminix Stable 1.2.0 Released

2016-07-29 Thread David Nadlinger via Digitalmars-d-announce

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


Re: Terminix Stable 1.2.0 Released

2016-07-24 Thread Matthias Klumpp via Digitalmars-d-announce

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

2016-07-23 Thread Iain Buclaw via Digitalmars-d-announce
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

2016-07-23 Thread qsdjlf via Digitalmars-d-announce

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

2016-07-23 Thread Matthias Klumpp via Digitalmars-d-announce

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

2016-07-23 Thread Gerald via Digitalmars-d-announce

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

2016-07-23 Thread qsdjlf via Digitalmars-d-announce

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

2016-07-23 Thread Martin Tschierschke via Digitalmars-d-announce

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

2016-07-23 Thread phant0m via Digitalmars-d-announce

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

2016-07-22 Thread Gerald via Digitalmars-d-announce

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

2016-07-22 Thread sdhdfhed via Digitalmars-d-announce

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 ?


Terminix Stable 1.2.0 Released

2016-07-22 Thread Gerald via Digitalmars-d-announce
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.