Kontekstinio meniu įrašo kūrimas[PcmanFM]

No Comments

Prieikė „Sukurti nuorodą“ kontekstinio meniu. PCManFM neturi galimybės kurti naudotojo scenarijus(aišku galima įsirašyt PCManFMMod arba PCManFM2 kurie turi tokią ir kitų gerų galimybių, bet ne tame esmė aš linux naudotojas ir programinė įranga turi taikytis prie manęs, o ne aš prie jos) todėl viską reik daryt tiesiai per aplinkui.

Ant LXDE(Pcmanfm failų naršyklėj) kontekstinį meniu elementą galim sukurt sukuriant *.desktop failą ir susiejant jį su atitinkamais mime tipais. *.desktop failas:

[Desktop Entry]
Encoding=UTF-8
Name=Sukurti nuorodą
Exec=/home/gymka/.shortcut/nuoroda.sh %f
Icon=/home/gymka/.shortcut/nuoroda.png
Terminal=false
Type=Application
StartupNotify=false
Categories=GTK;

čia viskas aišku. Toliau desktop faile eina failų tipai kurių kontekstiniame meniu turėtų pasirodyti šis elementas.
Visi failų tipai yra surašyti /etc/mime.types faile(jei nėra reiškia reik įsirašyt programą „mime-types“), reik tiesiog paimt juos ir suformuot reikalingu formatu. Pirmiausia reik sufomatuot .desktop failui, tam failui reik paprasčiausiai sudėt visus iš eilės vienoj eilutėj atskyrus kabliataškiu:

cat /etc/mime.types |sed 's/(.*)t.*/1/g'|sed 's/t//g'| tr "\n" ";"

pasirodo tam faile buvo kažkokių komentarų, nueinam į failą, ištrinam komentarus ir pakartojam operaciją. Gautą sąrašą pridedam į .desktop failą, galutinis rezultatas atrodo(neįdedu viso failo, nes labai ilgas tipų sąrašas):

[Desktop Entry]
Encoding=UTF-8
Name=Sukurti nuorodą
Exec=/home/gymka/.shortcut/nuoroda.sh %f
Icon=/home/gymka/.shortcut/icon.png
Terminal=false
Type=Application
StartupNotify=false
Categories=GTK;
MimeType=application/activemessage;application/andrew-inset;

sukuriam failą ir išsaugojam kaip ‘~/.local/share/applications/nuoroda.desktop’
Toliau reikia sukurt mime tipų sąrašą ~/.local/share/applications/mimeapps.list failui, ten reikia formato “image/jpeg=programa.desktop”

cat /etc/mime.types |sed 's/(.*)t.*/1/g'|sed 's/t//g'| tr "\n"";"|sed 's/;/=nuoroda.desktop;n/g'>>~/.local/share/applications/mimeapps.list'

Kažkodėl ten nėra failo tipo aplankui, todėl reikia pačiam prirašyt:
inode/directory=nuoroda.desktop
Čia galim būtų parašyt du puslapius info kas ir kaip, bet nesistengiu rašyt „step-by-step“ instrukcijos. Kam reikia tam viskas aišku. esmė tame jog faile ~/.local/share/applications/mimeapps.list yra surašyti mime tipai ir su kuria programa kurį tipą atverti.
Kaip ir viskas… Dar gali kilt klausimas kas faile nuoroda.sh, cat nuoroda.sh:

#!/bin/bash
vardas=$(basename $1)
dir=$(dirname $1)
ln -s $1 $dir/nuoroda_i_$vardas

tas failas nereikalingas, galim viską padaryt „Exec“ eilutėj, bet man patogiau tvarkyt kai visi reikalingi scenarijai vienam aplanke.

Openbox šriftai

No Comments

Išbandžiau visas įmanomas taškinės korekcijos(hinting) stilių ir popiksleinio glotninimo(subpixel renderig) kombinacijas, bet šriftai vistiek atrodė ne taip kaip turėtų(ne taip kaip atrodė ant Ubuntu + gnome2 , archlinux + gnome3, archlinux + xfce). Tada sukūriau failą ~/.Xresources ir ten surašiau tai ko noriu, ir viskas pasidarė taip kaip turėtų būt:)

Sukuriam failą ~/.Xresources su turiniu:

Xft.dpi:        97
Xft.autohint: 1
Xft.lcdfilter: lcddefault
Xft.hintstyle:  hintslight
Xft.hinting: 1
Xft.antialias: 1
Xft.rgba: unknown

į /etc/xdg/lxsession/LXDE/autostart įrašom:

xrdb -merge /home/gymka/.Xresources

prisijungus iš naujo viskas atrodo taip kaip turėtų.

Galimos reikšmės:
Xft.lcdfilter

  • lcdnone
  • lcddefault
  • lcdlight
  • lcdlegacy

Xft.hintstyle

  • hintfull
  • hintmedium
  • hintslight
  • hintnone

Xft.rgba

  • rgba
  • rgb
  • bgr
  • vrgb
  • vbgr
  • none

Plačiau Freedesktop.org

Paveiksliuko įkėlimas tiesiai iš darbastalio v2: šįkart su LXDE

No Comments

Karts nuo karto reik įkelt paveiksliuką nuo darbastalio(pvz. susidūrus su bėda, reik į forumą įkelt ekranvaizdį) eit į kažkokį puslapį ir kelt – per daug darbo. Lengviau yra ant paveiksliuko paspaust dešinę žiurkės koją->Įkelt paveiksliuką->nukopijuot adresą.
Tai funkcijai aš ilgą laiką naudojau imageshackus-uploader, bet jis seno, seno, kaskart diegiant reikėdavo pritaikyt vis daugiau lopų, kol galiausiai išvis atsisakė dirbt. Dabar jis man sako „Negaliu prisijungt prie imageshackus serverio“, tai nusprendžiau susirast alternatyvą. Pirma po ranka pasitaikius alternatyva yra „imgur“.
imgur.com:
užregistruojam anoniminį API: http://imgur.com/register/api_anon
gaunam xxxacd23678665bc4ca86f9be0e3dxxx
sukuriam failą „/home/naudotojas/.local/share/applications/upload.desktop“ su turiniu:

[Desktop Entry]
Type=Application
Name=Įkelti
Exec=/home/naudotojas/imgur_upload %f
NoDisplay=true

sukuriam failą „/home/naudotojas/imgur_upload“ su turiniu:

#!/bin/sh
TEXT=$(curl -F "image=@$1" -F "key=xxxacd23678665bc4ca86f9be0e3dxxx" http://api.imgur.com/2/upload.xml |  sed -e "s/.*<links><original>//" | sed -e "s/</original><imgur_page>.*//" | sed "s/<.*>//")
echo "$TEXT" |xclip -selection clipboard
zenity --info --title="Imgur Upload" --text="$TEXT"

Atidarom „/home/naudotojas/.local/share/applications/mimeapps.list“ „[Added Associations]“ sekcijoj prirašom:

image/bmp=upload.desktop;
image/gif=upload.desktop;
image/jpeg=upload.desktop;
image/jpg=upload.desktop;
image/png=upload.desktop;
image/tiff=upload.desktop;
image/x-bmp=upload.desktop;
image/x-pcx=upload.desktop;
image/x-tga=upload.desktop;
image/x-portable-pixmap=upload.desktop;
image/x-portable-bitmap=upload.desktop;
image/x-targa=upload.desktop;
image/x-portable-greymap=upload.desktop;
image/svg+xml=upload.desktop;
image/svg-xml=upload.desktop;

ir viskas, nuo šiol paveiksliukų failai kontekstiniame meniu turės elementą „Įkelti“ kurį paspaudus paveiksliukas bus įkeltas į „imgur“.

LXDE nauja pradžia:)

No Comments

Po 4 mėnesių XFCE naudojimo(prieš tai buvo metai GNOME naudojimo) persimečiau prie LXDE:) greita, paprasta, pažįstama…
Klavišų susiejimai, failas ~/.config/openbox/lxde-rc.xml į keyboard sritį pridėt:

<keybind key="XF86AudioMedia">
      <action name="Execute">
        <command>audacious</command>
      </action>
    </keybind>
    <keybind key="XF86AudioPlay">
      <action name="Execute">
        <command>audtool playback-playpause</command>
      </action>
    </keybind>
    <keybind key="XF86AudioStop">
      <action name="Execute">
        <command>audtool --playback-stop</command>
      </action>
    </keybind>
    <keybind key="XF86AudioNext">
      <action name="Execute">
        <command>audtool --playlist-advance</command>
      </action>
    </keybind>
    <keybind key="XF86AudioPrev">
      <action name="Execute">
        <command>audtool --playlist-reverse</command>
      </action>
    </keybind>
    <keybind key="XF86AudioLowerVolume">
      <action name="Execute">
        <command>amixer set Master playback 5%-</command>
      </action>
    </keybind>
    <keybind key="XF86AudioRaiseVolume">
      <action name="Execute">
        <command>amixer set Master playback 5%+</command>
      </action>
    </keybind>

Klaviatūros kalbos nustatymas, naudoju US klaviatūrą(qwerty) su lietuviškais simboliais ant skaičių:
failas /etc/xdg/lxsession/LXDE/autostart pradžioj prirašyt

@setxkbmap -option grp:switch,grp:alt_shift_toggle,grp_led:scroll lt,us

Eye candy“:
http://box-look.org/

TV įj./išj. piktograma

No Comments

Naudoju du monitorius, monitorių ir TV(filmų žiūrėjimui). Visą laiką laikyt įjungtus abu(extended monitor) nelogiška ir iš techninės pusės nelabai gaunasi. Pastoviai reik įjungt/išjungt papildomą ekraną(TV), tam reikalui galim panaudot milijoną variantų, bet aš sumąsčiau panaudot gražų(„user friendly“ taip sakant). Tai yra piktograma pranešimų srityje.

Skydelyje pridedam naują elementą – leistuką, su komanda ~/.tv/tv.sh ir betkokia piktograma. Nueinam į ~/.config/xfce4/panel/ išsiaiškinam kuris .desktop failas yra naujai sukurto leistuko.
Sukuriam aplanką ~/.tv į jį sumesim visus reikalingus failus.
Sukuriam failą ~/.tv/tv.sh su turiniu:

#!/bin/bash
#~/.tv/tvconfig konfigūracijos failas kuriame saugoma dabartinė TV būsena
ans=$(cat ~/.tv/tvconfig);
#perskaitom dabartinę būseną
case $ans in
     0)
#jei vertė 1, reiškia tv išjungtas ir jį reik įjungt
xrandr ...
#atliekam reikalingą darbą, ištryniau komandą, kad nesimaišytų:)
echo "1">~/.tv/tvconfig
#į konfigūracijos failą įrašom būseną „1“
sed -i 's/Icon=(.*)/Icon=~/.tv/tv2.gif/' ~/.config/xfce4/panel/launcher-5/13364784992.desktop
#leistuko .desktop faile, pakeičiam piktogramą, kad atspindėtų dabartinę būseną
;;
      1)
#jei vertė 1, reiškia tv įjungtas ir jį reik išjungt
xrandr ...
echo "0">~/.tv/tvconfig
#į konfigūracijos failą įrašom būseną „0“
sed -i 's/Icon=(.*)/Icon=~/.tv/tv1.gif/' ~/.config/xfce4/panel/launcher-5/13364784992.desktop
;;
esac

Į aplanką sudedam paveiksliukus tv1.gif ir tv2.gif. Matom:

paspaudžiam piktogramą, TV įjungiamas, matom:

paprasta, gražu, lengva. Aišku konkrečiai mano scenarijus niekur kitur nepanaudojamas, dalinuosi pačiu principu, o ne technine puse:)
Bendras vaizdas:

Einstein Puzzle LT(žaidimas)

No Comments

Einstein puzzle yra nemokamas, atviro kodo žaidimas skirtas kelioms platformom. Tai yra perdarytas senas DOS žaidimas “Sherlock” kuris buvo įkvėptas Alberto Einšteino mįslės. Sakoma jog norint išspręst šią mįslę tavo IQ turi būt bent 98(100 turi vidutinis statistinis žmogus). Žaidimo tikslas teisingai užpildyti(pasirinkti teisingą reikšmę) visus langelius 6×6 dydžio kvadrate.

Originali Einšteino mįslė:
There are five houses.
The Englishman lives in the red house.
The Spaniard owns the dog.
Coffee is drunk in the green house.
The Ukrainian drinks tea.
The green house is immediately to the right of the ivory house.
The Old Gold smoker owns snails.
Kools are smoked in the yellow house.
Milk is drunk in the middle house.
The Norwegian lives in the first house.
The man who smokes Chesterfields lives in the house next to the man with the fox.
Kools are smoked in the house next to the house where the horse is kept. (should be “… a house …”)
The Lucky Strike smoker drinks orange juice.
The Japanese smokes Parliaments.
The Norwegian lives next to the blue house.

Now, who drinks water? Who owns the zebra? In the interest of clarity, it must be added that each of the five houses is painted a different color, and their inhabitants are of different national extractions, own different pets, drink different beverages and smoke different brands of American cigarets [sic]. One other thing: in statement 6, right means your right.

Žaidimo kalba: Lietuvių
Platformos: Windows(bandyta su windows XP), Linux(bandyta su archlinux)
Windows: sukompiliuota, bet yra ir source.
Linux: tik source
MAC: “linux” aplanke yra “Makefile.macosx”, pervadinam į “Makefile” ir kompiliuojam:) (neturiu MAC, nežinau ar veikia)
Autorius: games.flowix.com
Lokalizavo/Išvertė: gymka
Platinamas pagal licenciją: GNU GENERAL PUBLIC LICENSE
Priklausomybės(dependencies): SDL, SDL_ttf ir SDL_mixer

Linux(x86, x64): Source
Windows: Source, Setup.exe

P.S. žaidimas tikrai ne kiekvieno skoniui(protui?), bet dauguma Linux naudotojų supras kas ir kaip. Linux naudotojai tikrai ne kreivarankiai 🙂

Darbas su SQLite duomenų baze(gtranslator vertimų atmintis)

1 Comment

Gtranslator vertimų atminty saugoja sqlite duomenų bazės faile. Senos(klaida ištaisyta kažkur tarp 2.90 ir 2.91.3) gtranslator versijos nesugebėdavo importuoti lietuviškų simbolių, juos pakeisdavo kažkokias panašiais bet tikrai ne lietuviškais(varnelės ir nosinės būdavo šone, o ne ten kur priklauso). Tokiem dalykam taisyt reikdavo paredaguot duomenų bazę, bet nieks nesako jog su dabartine gtranslator versija negali įvykt tokių ar panašių įvykių. Beto gali būt jog prireiks pataisyt kažkokį žodį ar šiaip.

Gtranslator vertimų atmintis saugoma: ~/.config/gtranslator/translation-memory.db

Darbui su sqlite naudoju „sqliteman“(išbandžiau daug, bet tik su šita sugebėjau padaryt tai ko reik)

1. Eksportuojam vertimus į .csv failą:
atidarom sqliteman, atveriam duomenų bazę, ten yra 4 lentelės. Reikalinga tik „trans“, ten saugomi lietuviški žodžiai(vertimas).

Pasirenkam „trans“->Context->Populate Table…->Dešinėj „Export Data“(šalia monalizos)->eksportuojam kaip csv failą(importuot atgal galima tik .csv ir .xml)
2. Pataisom:
atidarom su „libreoffice calc“, pataisom ką reikia. Išsaugant pakeičiam skirtuką į kitą simbolį(į tokį kurio nėra išverstam tekste) mano atveju „|“, jei nebus pakeista tai neišeis importuot.(nesupras formato, mes klaidas)
3. Importuojam atgal:
ištrinam seną lentelę: trans->drop table.
sukuriam tokia pat naują: Database->Create table->taip kaip paveiksliuke:

trans->Import table data…->parenkam skirtuką, mano atveju Custom: „|“
išsaugom Ctrl+S