Thursday, May 31, 2012

How to set gnome-terminal tab title. Permanently...

I've been looking for this a few times without success. There are some nasty proposals with setting PS1 variable or other tricks with .bashrc mods. Weak and doesn't actually work.
I needed a way to make a bash script that opens several tabs with fixed titles and with fixed start directories and with already started programs (for example tail/less of log files). Or solutions are very complicated.

There's a simple way.

There's a nice option for gnome-terminal -t "Tab title" which allows you to set a title for a tab. But in default profile (a switchable terminal behavior configuration) any program or bash prompt can change tab's title. So actually setting tab title doesn't work permanently.

A good solution is to create a new profile (let's call it "NoTitleChange") with options set to not to allow tab change. To do this, in gnome-terminal go to Edit->profiles... click New, apply new name. Then in tab Title and Command from drop box (When commands set own title...) choose Keep initial title.


Now you can invoke

gnome-terminal --tab-with-profile=NoTitileChange -t "My Permanent title"


and nothing will change the tab's title.

You can play with these and other options to create many tabs in one window.

gnome-terminal --tab-with-profile=NoTitleChange -t "PERMANENT" --tab-with-profile=NoTitleChange -t "TABS ARE"  --tab-with-profile=NoTitleChange -t "AWESOME"


I'm using these other options
-e, --command=STRING
                 Execute the argument to this option inside the terminal.

--working-directory=DIRNAME
                 Set the terminal's working directory to DIRNAME.

--geometry=GEOMETRY
                 X geometry specification (see "X" man page), can be specified once per window to be opened.

For example

gnome-terminal --tab-with-profile=NoTitleChange -t "src" --working-directory=/opt/workspace/play/mnp/repo/console_gxt2/mnpc  --tab-with-profile=NoTitleChange -t "DevMode" --working-directory=/opt/workspace/play/mnp/repo/console_gxt2/mnpc --command="mvn initialize exec:exec -Pdevel"


Now you can create start script that opens proper working dirs (with source code for example) and with server logs open. And you're ready to go!

Wednesday, May 30, 2012

Niedługo Euro 2012! Napijmy się piwa... psiego...




Bez komentarza...

Monday, May 28, 2012

Zielone biuro

Nowoczesne firmy starają się uprzyjemnić pracę swoim pracownikom. Wszak spędzamy tu 1/3 doby. Są to różne pufy, pokoiki do rozmów w mniejszym gronie, tablice na ścianach i duża ilość zieleni.

W TouK wdrażamy program MZB (chyba Miejskie Zagospodarowanie Biura?). Polega on na maksymalnej koncentracji zieleni w przestrzeni pracowniczej. Ma na celu odprężenie pracowników, tak aby z każdego miejsca przy komputerze mogli zawiesić wzrok na czymś zielonym.
Zdjęcie zrobione dzisiaj rano w naszej salce konferencyjnej.

Roślinki cieszą oko i pozwalają odpocząć. Zastanawiam się tylko czy nie będzie zbyt ciasno...

Monday, May 21, 2012

Robi się niezły bigos z tej Confitury :)

W tym roku, przed Call for papers, pomyślałem sobie - "zadbajmy o poziom i zróbmy 3 ścieżki. Wybierzemy najlepsze prezentacje, z tych ~30 zgłoszonych...".
Opierałem się na swoich dotychczasowych doświadczeniach. Ale karmiony zwierzak zamienia się w wielkiego włochatego konfo-zwierzucha!

Zebraliśmy 49 prezentacji.

Ponowne otwarcie C4P spowodowało dowalenie 20 nowych!

Mamy zatem do wyboru 70 prezentacji. Chyba wezmę wolne z pracy, żeby to wszystko przejrzeć.

Będziemy się opierali mocno na opinii Społeczności, bo przecież to są nasi uczestnicy. Michał już dokodował nowy feature polegający na głosowaniu na prezentacje. Będzie fajnie.


70 prezentacji, no niezły bigos...

Friday, May 11, 2012

GWT Hosted mode on 64bit linux

GWT for linux is build against 32bit architecture. It contains some SWT/GTK 32bit modules. So if you try to run it with 64bit java it fails

Exception in thread "main" java.lang.UnsatisfiedLinkError: /opt/tools/sdk/gwt/gwt-linux-1.5.3/libswt-pi-gtk-3235.so: /opt/tools/sdk/gwt/gwt-linux-1.5.3/libswt-pi-gtk-3235.so: wrong ELF class: ELFCLASS32 (Possible cause: architecture word width mismatch)
    at java.lang.ClassLoader$NativeLibrary.load(Native Method)
    at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1807)
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1703)
    at java.lang.Runtime.load0(Runtime.java:770)
    at java.lang.System.load(System.java:1003)
    at org.eclipse.swt.internal.Library.loadLibrary(Library.java:132)
    at org.eclipse.swt.internal.gtk.OS.<clinit>(OS.java:22)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:63)
    at org.eclipse.swt.internal.Converter.wcsToMbcs(Converter.java:54)
    at org.eclipse.swt.widgets.Display.<clinit>(Display.java:126)
    at com.google.gwt.dev.GWTShell.<clinit>(GWTShell.java:301)
Could not find the main class: com.google.gwt.dev.GWTShell.  Program will exit.
[INFO] ------------------------------------------------------------------------
[ERROR] BUILD ERROR


You have two choices. Find 64bit SWT/GTK modules with same build version (3235 in this case) - good luck! or download 32bit JRE.

I chose second option and it took me 3 mins to resolve the problem.
Find proper JRE version on Oracle site I suggest bin file instead rpm. It unpacks jre to own dir. Move that directory to some convenient location (it doesn't matter where). Edit gwt.properties and set java.executable to java exec located in 32bit JRE.
Now run your GWT hosted mode and be unstoppable developer!




You may have some warnings from GTK, such as

/usr/lib/gtk-2.0/2.10.0/menuproxies/libappmenu.so: wrong ELF class: ELFCLASS64
(GWT:351): Gtk-WARNING **: Failed to load type module: /usr/lib/gtk-2.0/2.10.0
/menuproxies/libappmenu.so


But it has no consequences for me, so far...



Some sources say that you should set an environment var:

export LIBXCB_ALLOW_SLOPPY_LOCK=1

to block bugs in X display layer but I don't know what does it mean :)


In this case I had to hadle with GWT version 1.5.3 (old corporate project)
 

Thursday, May 10, 2012

Kierowczyni roku

Wczoraj wracałem z pracy ok 17. autobusem 158. Zwykle jadę pociągiem z Zachodniej do Powiśla, ale ponieważ miałem ciekawą książkę, wolałem od razu wsiąść i czytać.

Korek.

Spoko, czyta mi się dobrze. Korek w tym miejscu (Jerozolimskie) to standard.

Korek gestnieje...

Nagle - odezwał się damski głos przez głosniki (mniej więcej) tak:

- Szanowni Państwo, ten korek ciągnie się aż do Ronda Waszyngtona, więc jak ktoś chce wysiąść i iść na własnych nóżkach, to otwieram teraz drzwi. Potem nie będzie długo możliwości.

Kopara mi opadła. Pierwszy raz ktoś z komunikacji publicznej potraktował mnie jak człowieka, dbając o mój interes. Normalnie i nie umiałem opanowasz i szoku i radości, że są normalni kierowcy autobusów.

Wysiadłem i pospacerowałem do tramwaju, mijając kolejne 158 tkwiące w korku 300m dalej.


Dla mnie, tam pani otrzymuje tytuł Kierowczyni roku. Brawa!