Nowa zabawka: Samsung SCX-4300

W poprzednim biurze miałem drukarkę i skaner. Tyle, że drukarka tylko stała i kurzyła się w kącie właściwie odkąd się tam wprowadziłem – tusz był zaschnięty, a kupowanie nowego sensu większego nie miało: kosztowałby tyle co nowa drukarka i zasechłby parę tygodni po pierwszym wydruku – rzadko potrzebuję coś wydrukować. Poza tym to był właściwie antyk, miała ponad dziesięć lat i problemy chociażby z pobieraniem kartek.

Ze skanerem sprawa wyglądała nieco lepiej. Też antyk (w podobnym wieku), na SCSI z nietypowym złączem (przy pomocy lutownicy, starej taśmy SCSI, odpowiedniej wtyczki i lutownicy udało mi się to podłączyć do współczesnego kontrolera), ale działa. No może nie za pierwszym razem po uruchomieniu, ale jak się go wyłączyło i włączyło to nawet dało się coś poprawnie zeskanować.

Nie chciało mi się tego złomu zabierać ze sobą przy przeprowadzce. Zadzwoniłem więc do firmy utylizacyjnej, żeby oni to zabrali. Dorzuciłem przy okazji z trzy stare karty muzyczne, dwie graficzne, parę płyt głównych, z trzy karty TokenRing i co tam jeszcze mi się w biurze czy domu walało.

Jak już wspominałem nie potrzebuję dużo drukować. Skanować też nie. Ale dość już miałem proszenia się za każdym razem gdy jednak trzeba było coś wydrukować, albo biegania z dokumentami do punktu Xero (a raczej do pani Reni z biura inżynierskiego na tym samym piętrze), gdy mi jakaś kopia była potrzebna. Postanowiłem więc sobie kupić urządzenie wielofunkcyjne.

Urządzenia wielofunkcyjne można teraz kupić za mniej niż 300zł. Ale to atramentówki. Teoretycznie opłacalne przy małym przerobie. Ale nie tak małym, jak u mnie. Nie chciałem ryzykować, że mi tusz zaschnie, więc wolałem urządzenie z drukarką laserową. Na kolorze mi tak nie zależy.

Planowałem pójść do centrum handlowego, do sklepu Vobis i tam coś kupić. Taki sprzęt wolę kupić w normalnym pobliskim sklepie. Na stronach Vobis.pl wypatrzyłem najtańsze tam laserowe urządzenie wielofunkcyjne: Samsung SCX-4300. Może nie jest to marka znana z drukarek, ale recenzje w sieci nie zniechęcały, a do tego producent przyznawał się do wsparcia dla Linuksa. W przypadku innych tanich drukarek nie tak łatwo o taki luksus, a bezpośredniej obsłudze PostScript, PCL, czy PDF w tanim urządzeniu można raczej zapomnieć. Postanowiłem, że to właśnie sobie kupię.

Jakoś jednak do sklepu Vobisa było mi nie po drodze. Poza tym, musiałbym to sobie przywieźć do biura… może by więc kupić przez Internet? Vobis.pl okazał się bardzo przyjemnym sklepem internetowym, a ceny nie były tam gorsze niż na Allegro. Zamówiłem więc we wtorek wieczorem drukarkę, papier i kabelek wprost do biura.

Jeszcze w środę, zanim paczka przyszła, zainstalowałem sobie Unified Linux Driver ze strony producenta – niecierpliwy jestem. Instalacja przeszła gładko, urządzenia oczywiście oprogramowanie nie wykryło, ale pozwoliło skonfigurować ręcznie. Nie sądziłem, że to może być takie proste, spodziewałem się problemów później.

Wczoraj kurier przyniósł pudło. Urządzenie okazało się zaskakująco duże, ale całkiem ładne. Pozwoliłem drukarce spokojnie się ogrzać do temperatury pokojowej i dopiero wtedy podłączyłem. Najpierw próba kopiowania – bez użycia komputera. I bez żadnych problemów. Ha, mam wreszcie własną kserokopiarkę! :-)

Potem z komputera. Włączam ten Configurator od Samsunga, wybieram drukarkę, klikam drukuj stronę testową… i drukuje. Bez żadnej dodatkowej konfiguracji. Standardowa strona testowa CUPS. Sprawdziłem jeszcze w OpenOffice – widzi drukarkę, drukuje. Zero problemów.

Pozostał skaner. Wybieram zakładkę skanery w Configuratorze. Nic tam nie ma. Aaa… bo jeszcze się coś drukuję. Po chwili robię to samo i jest skaner. Klikam Properties… i pojawia się GUI do skanowania. Działa, jedyny drobny problem, to że na podglądzie skanu czarno-białej kartki widać jakieś kolory (trochę mnie to zaskoczyło, aż sprawdziłem, czy strona testowa, którą próbowałem zeskanować, nie wydrukowała się w kolorze), ale to tylko podgląd. Skan wyszedł poprawni. Sprawdziłem też skanowanie z poziomu GIMPa z XSane – też żadnych problemów.

Jedyne z czym, moim zdaniem, trochę przedobrzyli, to zamiana standardowego CUPSowego /usr/bin/lpr na symlink do ich interaktywnego odpowiednika. Rozumiem, że to miało poprawić user experience w przypadku programów nie używających cups, tylko wołających lpr, ale sprawiało, że standardowe nieinteraktywne polecenie wymagało uwagi użytkownika i, co więcej, działającej sesji X11. Proste rm /usr/bin/lpr; mv /usr/bin/lpr{.orig,} rozwiązało sprawę.

Zajrzałem na płytkę dostarczoną przez producenta: była tam instrukcja w wielu językach i ten UnifiedLinuxDriver. Windowsy i Maki najwyraźniej biorą sterowniki z innego źródła, pewnie z samej drukarki. Obsługa drukarki pod Linuksem jest także opisana w instrukcji.

Ostatni test zleciła mi żona: dała mi linka do kolorowanek z Garfieldem dla naszej córki. Ponad 100 plików GIF. Oczywiście uparłem, się, że załatwię to jakimś skryptem z ImageMagick, na co straciłem sporo czasu. Ale wydrukowałem, na 27 stronach, cztery obrazki na stronę.

Podsumowując: na razie jestem bardzo zadowolony z zakupu, a wsparcie dla Linuksa mnie miło zaskoczyło. Z żadną inną drukarką, czy skanerem jakie miałem okazje konfigurować w Linuksie, nie było mi tak łatwo. Oczywiście, mogłem mieć trochę szczęścia z tym, co aktualnie miałem zainstalowane, ale producent najwyraźniej też się postarał.

CJC i PyXMPP 1.0.1

Ostatnie wydanie CJC i PyXMPP było ponad trzy lata temu – w grudniu 2005 roku. Po tamtym wydaniu zacząłem poważne zmiany w API… i nigdy ich nie skończyłem, a niedokończonego dzieła wydawać nie chciałem. Potem przyszły kłopoty ze zdrowiem, pośrednio wynikłe też z mojego zaangażowania w Open Source (czyt. siedzenia całymi dniami przed kompem, świata nie widząc) i postanowiłem unikać angażowania się w kodowanie. Tak więc, planowane zmiany nigdy nie miały być dokończone.

W międzyczasie jednak w starym kodzie znajdowane były błędy, od czasu do czasu jakiś błąd poprawiłem, czasem ktoś podesłał patcha, to wrzucałem do SVN. Pojawiały się nowe wersje Pythona, czy M2Crypto, to kod dostosowywałem odpowiednio (CJC używam na co dzień, moja żona też, więc to musi działać). Właściwie, jak ktoś jeszcze używał PyXMPP albo CJC, to któryś z ostatnich snapshotów.

Ostatnio zastanawiałem się też, czy nie spróbować do CJC wreszcie dodać obsługi UTF-8. Wcześniej tego odmawiałem, bo Pythonowy moduł curses w ogóle nie ma obsługi Unicode, tylko start 8-bitowe API. I nic nie wskazuje na to, że to ktoś poprawi, ale uż jakiś czas temu jeden z użytkowników udowadniał mi, że to się jednak da zrobić, jeśli tylko moduł curses jest zlinkowany z biblioteką „libncursesw”. W PLD długo tak nie było, ale w Th już jest. To czemu by nie spróbować?

Wczoraj więc spróbowałem. Wyświetlanie UTF-8 działało bez żadnych zmian w kodzie, ale żeby wczytywać znaki Unicode z klawiatury musiałem dodać brzydkiego hacka. I w ogóle trochę obsługi klawiatury przerobić. Udało się. A skoro wreszcie się pojawiła funkcjonalność tak wyczekiwana przez użytkowników, to czemu by nie wydać nowej wersji? Resztę dnia spędziłem
przygotowując paczki z PyXMPP 1.0.1 (w tym jeszcze przed wydaniem poprawiłem jednego paskudnego babola) i CJC 1.0.1. Dzisiaj wysłałem informacje o wydaniach na listy mailowe dotyczące tych produktów. No to chyba udało mi się coś wydać. :-)

Po następne wersje zapraszam za trzy lata. ;-)

MP3 192kbit/s z Muzodajni

Niedawno zapisałem się do plusowej Muzodajni. Strona nie wygląda zachęcająco i wyraźnie brakuje tam moich ulubionych wykonawców, ale muzyki mają sporo i 5zł miesięcznie za 25 utworów (plus cyrograf na co najmniej 8 miesięcy) to całkiem niezła stawka. Dzisiaj np. ściągnąłem sobie całą najnowszą płytę Kasi Kowalskiej i wykorzystałem na to tylko część z tych pięciu złotych. Za CD kupione w sklepie musiałbym zapłacić dużo więcej, a ostatecznie i tak zripowałbym do OGG i MP3 i słuchał przez komputer i telefon.

No więc jest fajnie, można za grosze sobie ściągać legalną muzykę. Jest nawet parę formatów (w opcji, z której korzystam, bez DRM) do wyboru: MP3 128kbit, WMA 128kbit, WMA 256kbit i MP4 128kbit. Można nawet ściągnąć piosenkę we wszystkich formatach, a i tak płaci się raz.

Problem polega na tym, że mnie WMA nie interesuje, a do 128kbit wolałbym się nie ograniczać, jeśli nie muszę. Napisałem więc sobie taki skrypcik wma2mp3:

#!/bin/sh -xe

input="$1"
output="$2"

if [ -z "$output" ] ; then
	output="${input%.wma}.mp3"
fi

tmpfile="$output.tmp"
ffmpeg -i "$input" -acodec libmp3lame -ab 192k -f mp3 "$tmpfile"
if [ -e "$output" ] ; then
	id3cp "$output" "$tmpfile" || :
fi
mv "$output" "$output.bak"
mv "$tmpfile" "$output"

Skrypt uruchamia się podając nazwę pliku WMA jako argument. Plik ten zostanie przetworzony na MP3 192kbit, mam nadzieję, że z minimalną utratą jakości. Dodatkowo, jeśli już istnieje odpowiedni plik MP3, to tagi ID3 z niego zostaną skopiowane do pliku nowo utworzonego. W ten sposób, jeśli z Muzodajni ściągnę WMA 256 i MP3 128, to z pierwszego biorę muzykę, z drugiego tagi (nie chciało mi się kombinować jak dane o artyście i tytułach wyciągnąć z WMA – łącze mam na tyle szybkie, że mogę sobie ściągać podwójnie).

Jak naprawiłem sobie wczoraj laptopa

Wczoraj przed wyjściem na spacer zauważyłem, że laptop coś za bardzo szumi
wiatrakami, ale że wychodziłem, to to zignorowałem. Po powrocie próbowałem pracować,
ale strasznie się mulił, a wentylatory wyją. No to zabijam Firefoksa (nie raz
się tak zamulił, po odwiedzeniu jakiejś flashowej strony). Dalej muli. Na topie
na pierwszym miejscu xfce4-battery-plugin. Pewnie się zawiesił.
Restartuję panel – bez zmian. Wyłączam XFCE. Dalej wyje i muli… No to
wyłączam komputer i włączam ponownie.

Po uruchomieniu cisza i system szybko działa. No to super, problemu nie
ma. Pracuję dalej, ale po chwili, po uruchomieniu Xów i Firefoksa znów zawył
i zamulił. Wybijam co się da i load spada, ale sam top potrafi 15% CPU zużyć.
Najwyraźniej komp nie ma mocy. Sprawdzam temperaturę, tam gdzie mogę,
wiec tylko w /proc/acpi/thermal_zone/THM/temperature. 45
stopni, a więc praktycznie zimno. A wentylator wyje. Rozglądam się dalej po
ACPI i w /proc/acpi/processor/CPU0/throttling mam: T6:
75%
. No tak, działa na 25% mocy i to przy zegarze przestawionym z 1.8GHz
na 1.2GHz.

Wygląda na to, że włączyły się wszelkie zabezpieczenia przed przegrzaniem.
Ale dlaczego, skoro komputer zimny, z tyłu dmucha też zimnym powietrzem.
W sofcie nic ostatnio nie ruszałem, więc to raczej problem sprzętowy. Nie
spodobało mi się – nie najlepszy czas na umieranie laptopa, jeśli
dopiero co władowaliśmy w niego 300zł na nową matrycę.

Jedyne na co mogłem liczyć to to, że płyta główna i procesor, łącznie
z czujnikami temperatury, są sprawne, tylko gdzieś ciepło nie jest odpowiednio
odprowadzane. Zadzwoniłem do żonki z pytaniem, czy nie może przypadkiem skądś
sprężonego powietrza załatwić. Obiecała spróbować. I przywiozła puszkę.

Czas na chwilę prawdy… otworzyłem obudowę, przedmuchałem zawartość, ze
szczególnym uwzględnieniem żeberek radiatora przy wentylatorka. Skręciłem,
uruchomiłem i cisza. Piętnaście minut później dalej cisza i wszystko działa
sprawnie. Odpaliłem burnP6, wentylatory się uruchomiły,
/proc/acpi/thermal_zone/THM/temperature sięgnęło 79, ale komputer
dalej działał pełną mocą. Wyłączyłem cpuburna i wszystko wróciło do normy,
wentylatory ucichły. A więc usterka usunięta. Ufff… :-)

Kalendarzowo

Ja mam pamięć dobrą, ale krótką – jak to mój tata mówi. Potrafię
zapomnieć o wszystkim, jak mi się w porę nie przypomni. Pół biedy jak zapomnę,
że właśnie posłodziłem herbatę i wrzucę kolejne trzy łyżeczki (serio, zdarza
mi się), gorzej jak się np. z kimś umówię, a potem nawalę.

Dlatego zawsze ciągnęło mnie trochę do elektronicznych przypominaczy.
Jednak zwykle i tak nie znajdowałem dla siebie nic odpowiedniego. Nie może to
być coś, do czego miałbym ciągle zaglądać (dlatego odpadają papierowe
terminarze), najfajniej by było, jakby nie trzeba było nawet tam nic wpisywać
(ale tego to już się raczej nie przeskoczy)… Dobrze, żeby wpisać można było
wszystko, i przypominać o ważnych sprawach mogłoby to mi zawsze i wszędzie (no
chyba, że śpię – budzić mnie nie może)…

Próbowałem paru kalendarzy komputerowych. Kombajnów typu Evolution nawet
nie tykałem – do poczty mam mutta, a nie kalendarz! W ogóle chciałem
uniknąć GUI – uruchomienie Xów nie powinno być wymagane dla
przypomnienia o ważnej sprawie. Z drugiej strony… jak już te Xy mam odpalone
(zwykle mam), to fajnie jakby przypomnienie było w jakimś okienku… Konsolowe
programiki tego typu miały jeszcze jeden feler – jakiś własny format
danych niekompatybilny z niczym. Właściwie obsługa czegoś takiego niewiele się
różniła od obsługi crontaba – do sensownego używania trzebai by sobie to
nieźle oskryptować. A ja przecież chciałem coś, co by mi samo
przypominało, a nie wymagało programowania…

Oczywiście praktycznie wszystkie rozwiązania oparte o komputer miały pewną
wadę: mogły mi o czymś przypomnieć tylko wtedy, gdy akurat byłbym przy
komputerze. Czasem nawet wymagały, żeby je specjalnie uruchomił. Dlatego
doceniłem aplikację kalendarza w telefonie. Wtedy to był jakiś pierwszy
Sony-Ericsson. To była pierwsza przypominajka, którą w miarę regularnie
używałem. Jakieś wizyty u dentysty itp. tam wpisywałem. Potem, w dużo
prostszym Samsungu X200 też. Już wtedy uznałem, że fajnie byłoby komórkowy
terminarz synchronizować z komputerowym, ale szybko się przekonałem, że raczej
nic mi z tego nie wyjdzie. Po pierwsze wciąż brakowało mi odpowiedniego
kalendarza w komputerze, a po drugie wymiana jakichkolwiek danych między tym
Samsungiem a Linuksem była praktycznie niemożliwa (odniosłem umiarkowany
sukces jedynie w przypadku książki adresowej).

Używając sobie po trochy komórkowego kalendarza wciąż kombinowałem
z kalendarzami w komputerze. Gdy usłyszałem, że Google Calendar potrafi wysyłać
SMSy, to postanowiłem to wypróbować. Nie bardzo mi się podobało, że swoje
plany, czy wręcz rozkład dnia, miałbym publikować w sieci, ale coś za coś.
Wyglądało na to, że w tej aplikacji Google mógłbym łatwo wprowadzać swoje
terminy, a przypomnienia przychodziłyby mi na komórkę. Przy okazji dostałbym
parę łebdwazerowatych bajerów, jak publikacja kalendarzy, czy rozsyłanie
terminów do znajomych. Przez jakiś czas się tym bawiłem, powpisywałem różne
terminy… czasem dziwne rzeczy z tego wychodziły (aplikacja nie działała
idealnie). A najgorsze było to, że Google potrafiło mi wysyłać SMSy w środku
nocy, co było dość nieprzyjemne, gdy zapomniałem wyłączyć telefon… No
i aplikacja webowa, to nie to, co tygryski lubią najbardziej.

Jakiś czas później trafiłem na ogłoszenie o nowym wydaniu Sunbirda.
Pomyślałem sobie, że to może wreszcie będzie jakaś użyteczna aplikacja
kalendarzowa pod Linuksa. Trudno, że GUI. Przynajmniej używa jakiś otwartych
standardów… i nawet jest wtyczka do Google Calendar. Zainstalowałem sobie
więc tego słonecznego ptaszka i zasubskrybowałem swój googlowy kalendarz.
Rzeczywiście dało się tego używać. Żeby nie publikować wszystkich swoich spraw
w Google zrobiłem sobie dodatkowy lokalny kalendarz. Potem
z lokalnego zrobiłem sieciowy (opublikowany przez WebDAV na moim
serwerku), bo przecież nie z jednego komputera korzystam. Pobawiłem się
trochę… i jakoś nie zacząłem regularnie z tego korzystać. Jak coś było na
tyle ważne, że potrzebowałem przypomnienia, to i tak wpisywałem w komórkę. Dla
innych spraw nie chciało mi się kalendarza odpalać.

W końcu kupiłem sobie nową komórkę. Już wybierałem pod kątem obsługi jakiś
standardów wymiany informacji. Zakładałem, że taką nowoczesną komórkę,
obsługującą standardy łatwo ze swoim Sunbirdem zsynchronizuje. Rzeczywistość
okazała się niestety nie taka piękna. Do sychronizacji takich urządzeń pod
Linuksem jest właściwie tylko OpenSync (inne aplikacje zwykle korzystają z tej
biblioteki), a ja nieźle musiałem się nagimnastykować, żeby tym jakiekolwiek
dane między komputerem a telefonem wymienić. A przy synchronizacji kalendarza
znikały z terminów informacje o przypomnieniu, czyli to, co dla mnie
najważniejsze. Zgłosiłem swoje problemy na odpowiednią listę mailową i nic.
Nie wygląda, żeby w tej kwestii miało się coś zmienić.

Nie poddałem się jednak. Skoro telefon ma funkcje synchronizacji, to musi
się dać to wykorzystać. Jest funkcja synchronizacji online, może to się nada?
Najpierw sprawdziłem Google Calendar, przecież taka aplikacja, takiej poważnej
firmy musi mieć taką funkcjonalność… gdzie tam. Wygląda na to, że Google
SyncML zignorowało. No to
rozejrzałem się za jakimiś publicznymi serwerami SyncML. Spośród paru
kandydatów najbardziej przekonało mnie ScheduleWorld. Po poprzednich
doświadczeniach miałem spore wątpliwości czy to zadziała, ale spróbowałem…
i zadziałało.

Teraz na komputerze mam Sunbirda, w nim swój sieciowy kalendarz
i wtyczkę (rozszerzenie) ScheduleWorld. Jak dodam na komputerze termin i wcisnę
sync, to po uruchomieniu synchronizacji w telefonie i tam się ten
kontakt pojawi. Tak samo w drugą stronę – kontakt dodany w telefonie
pojawi się na komputerze. Zachowane są przy tym informacje o przypomnieniach.
Był jeden problem – zdarzenie wpisane w komputerze na całą dobę
w telefonie było widoczne jak dwudniowe (od 00:00 jednego dnia, do 00:00
drugiego dnia). Okazało się jednak, że wystarczy zaznaczyć jedną opcję
w ScheduleWorld i problem zostaje rozwiązany. Jest tam też sporo innych
przełączników, umożliwiających ominięcie potencjalnych problemów z innymi
urządzeniami.

Do pełni szczęścia brakowało mi jeszcze jednej funkcji – jakieś
minimum funkcjonalności bez potrzeby odpalania Xów. No to napisałem sobie
Pythonowy skrypt, przy użyciu biblioteki icalendar, który wyciąga dzisiejsze
i jutrzejsze terminy z mojego kalendarza (niech żyją otwarte formaty plików!).
Lista ta jest wyświetlana przy logowaniu. Wydaje mi się to rozsądnym sposobem
przypominania mi o rzeczach, dla których alarm z telefonu byłby przesadą.

No to wydaje mi się, że już mam użyteczny zestaw, z którego będę w stanie
regularnie korzystać. Jedyna słabość, to publiczny serwer, który pośredniczy
w synchronizacji z komórką… no cóż, czasem można poświęcić odrobinę
prywatności dla wygody. I chyba nie mam zbyt dużych powodów, żeby
ScheduleWorld nie ufać.

Teraz pytanie: czy rzeczywiście będę z tego wszystkiego korzystał, czy
dalej tylko raz na ruski rok coś sobie w komórkę wklepię?

Ta gierka

Od jakiegoś czasu co nasze dziecko (przypominam: pięcioletnie) przychodzi
do domu, to od razu się pyta Tato, mogę pograć w tą gierkę?. Ostatnio
grzecznie się przy tym bawi (bez płaczu i wzywaniu rodziców, że coś poszło nie
tak), a i jest przy tym chwila spokoju dla rodziców, więc pozwalamy jej grać.
Szczególnie, że gierka jest raczej ambitna…

No właśnie… kiedyś, co Krysia zobaczyła jak tata w coś gra, to zaraz
chciała grać w to samo… a potem był płacz, bo nie umie. Ostatnio
przypomniałem sobie Simutrans, dziecku
się spodobały domki i samochodziki i obawiałem się, że znowu będzie ryk. Więc
przez jakiś czas nie pozwalałem jej grać, najwyżej pozwalałem patrzeć mi przez
ramie jak gram (i przegrywam)… W końcu jednak dałem się jej przekonać.
Pokazałem jej jak się buduje drogi, przystanki, ustala rozkład jazdy.
Pozwoliłem klikać z obawą oczekując momentu, gdy zbankrutuje. O dziwo porażkę
przyjęła dobrze i po prostu następnym razem zaczynała od nowa.

Co jakiś czas jej pomagałem. Często dziwiłem się co tam wyprawia, ale
ostatnio zaczynają mnie zaskakiwać efekty. Raz stwierdziła puściłam 40
ciężarówek
. Najpierw myślę po cholerę tyle… a niech się cieszy, że
jeżdżą, i tak zaraz zbankrutuje
. Potem a czy ona umie do 40
policzyć?
. Chyba umiała, bo ciężarówek była cała ulica i kolejne
wyjeżdżały. Prawdę mówiąc nie sądziłem, że w ogóle opanuje kopiowanie
pojazdów (raz jej to pokazałem)… Jednak kompletny opad szczęki zaliczyłem,
gdy zobaczyłem ile pieniędzy na tym zarabia. Wcisnąłem na chwilę fast
forward
i już miała prawię milion na koncie… Dzisiaj po piętnastu
minutach gry stwierdziła miałam już pieniądze na czerwono, to wcisnęłam
przyspieszenie
… i miała 200.000 na czarno. Znaczy się, zupełnie
bez mojej pomocy zrobiła w grze dochodowy interes. A przecież ile razy mnie
się to nie udało. A ja umiem liczyć, umiem czytać, znam angielski… Gra jest
pełna różnych szczegółów, w których trzeba się przynajmniej minimalnie
orientować (np. skąd dojeżdżają pracownicy do fabryk i kto jest dostawcą
surowców), a niespełna sześcioletnia Krysia sobie w tym radzi. Zrozumiała i
opanowała też zapisywanie (pod nazwą „krysia1”, „krysia2”) i odczytywanie
stanu gry… No, wciąż nie mieści mi się to w głowie! :-)

Mam nadzieję, że córka nie dorwie się do hasła roota…
;-)

Koniec z przeskakującym Firefoksem! :-)

Od paru miesięcy męczył mnie problem Firefoksa przeskakującego na aktywny
desktop XFCE4, gdy poprosi się go o otworzenie jakiegoś URLa z innej
aplikacji, albo gdy po prostu załaduje się jakaś strona. Bardzo nieprzyjemne,
gdy w tym czasie próbuje się korzystać z innego aplikacji na innym
ekranie. Problem się pojawiał (kilka razy, bo na różnych maszynach) po
jakimś upgradzie XFCE albo Firefoksa i nie potrafiłem się go pozbyć.
Próbowałem wszelkich opcji w about:config
Firefoksa, wszystkich przełączników w konfiguracji XFCE… i nic. Googlałem za
tym wielokrotnie, bez skutku, ale trudno mi było uwierzyć, że nikt inny nie
zauważył takiego zachowania, albo że nikomu innemu to nie przeszkadza…

Dzisiaj, po kolejnym takim przeskoku nie wytrzymałem i zajrzałem do źródeł
XFWM. Wyszło na to, że zachowanie to zależy od parametru
activate_action, XFWM przełącza desktop na aktywne okno, gdy
parametr ten jest równy ACTIVATE_ACTION_BRING. Potem wyczytałem,
że parametr ten jest pobierany z opcji konfiguracyjnej pod nazwą
Xfwm/ActivateAction.

Najpierw uruchomiłem GUI konfiguracyjne XFCE, żeby jeszcze raz zobaczyć,
czy nie ma tam tej opcji. Nie znalazłem. Zajrzałem więc do swojej konfiguracji
(~/.config/xfce4/mcs_settings/xfwm4.xml) i takiej opcji tam nie
było, ale miejsce wyglądało na właściwe. Dopisałem więc:

<option name="Xfwm/ActivateAction" type="string"
value="none"/>

… i zadziałało. :-) Wreszcie! Po wielu miesiącach męczarni!

Potem zajrzałem na Google, tym razem szukając tego konkretnego parametru.
Okazało się, że nie ja jeden miałem ten problem, a rozwiązanie w sieci jest
podane, wiele razy. Widać, jeszcze nie do końca umiem z Google korzystać…
:-(

No i nie rozumiem czemu tak wyjątkowo upierdliwe zachowanie jest
kontrolowane jakąś ukrytą opcją, której normalnie nie można kilkoma
kliknięciami wyłączyć…

Update: Kurde, znowu przeskoczył. :-( Chyba jednak na tym komputerze mam zbyt stare XFCE… Jak ja to testowałem?

Update 2: Właściwym plikiem dla wspomnianej opcji jest: ~/.config/xfce4/mcs_settings/wmtweaks.xml. Po zmianie należy całe środowisko zrestartować. Wygląda na to, że teraz naprawdę działa.