Prosíme přihlašte se nebo zaregistrujte.

Přihlašte se svým uživatelským jménem a heslem.
Vaše pomoc je stále potřeba!

Autor Téma: Udelejte si nautilus dle svych predstav  (Přečteno 7935 krát)

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Udelejte si nautilus dle svych predstav
« kdy: 25 Září 2009, 12:17:46 »
Nejdriv par obrazku:















V praxi tenhle navod je jak vyuzit Ubuntu-Tweak na maximum.
K implementaci tehle myslenky me dovedla jedna vec. Svuj panel jsem totalne vypratal, nechal jsem na nem jenom 3-4 potrebne spoustece, plochu mam uplne prazdnou, jenon s conkama. Pri praci kdyz jsem potreboval otevrit nejakou aplikaci, pokazde jsem se musel k ni dobijet pres menu. Idealni stav by byl abych cokoliv mohl spoustet pre pravej klik na plose pres nautilus. Kupodiv je to smesne jedoduche a staci k tomu jen chvilka trpelivosti. Zde uvedu postup:

1.) jako prvni potrebujeme mit nainstalovanej Ubuntu-Tweak (vice zde : http://wiki.ubuntu.cz/Ubuntu%20Tweak)
posledni verze zde : http://ubuntu-tweak.com/2009/08/02/ubuntu-tweak-0-4-8-released-improved-ppa.html

pro ty kteri tenhle nastroj neznaji doporucuji projit si zminovanou Wiki, je to hezky popsane

2.) jakonahle mame Ubutnu-tweak instalovanej a rozumime mu ( cely kouzlo se deje v sekci Personal ->Scripts (Osobni ->Skripty))

uz zde si aktivujeme alespon jeden z par predvolenych scriptu (pretahnutim z prave strany na levou)!!

3.) v ubuntu-tweak jeste chvili zustaneme v nabidce se presuneme do Personal->Templates (Osobni -> Sablony), do templates (Sablon pretahneme z prave strany Shell script (muzete i jine, tenhle vsak bude uzitecny)
ukoncime ubuntu-tweak a (ted kdyz pravym tlacitkem mysi klikneme nekde na plose ,objevi se nam v nabidce submenu Scripts (Skripty) kde vidime nami povolenej skript, dale v nabidce Create Document (Vytvorit DoKument) vidime moznost vytvoreni Shell Scriptu (+ tech co jsme si presunuli)

4.) dalsim krokem je dostat se do slozky v ktere se tyhlety skripty , ktere jsme aktivovali nachazeji
pujdeme do domovskeho adresare a povolime jsi zobrazovani skrytych souboru, nasledne najdeme adresar .gnome2 a pak adresar nautilus-scripts

cesta: mojejmeno/.gnome2/nautilus-scripts

5.) vidime ze v tyhle slozce je prave ten script co jsme povolili, jestli chceme vytvorime si zde novej adresar a ten script do nej presuneme aby byl vysledek jako na screenshotech), nasledne pristoupime k vytvareni sspoustecu aplikaci

vyuzijeme veci co jsme ucinili v bode c.3) takze pravej klik a vytvorime si novy Shell Script, pojmenujeme ho treba Firefox, nasledne jej otevreme textovym editorem pridame radek pro spusteni firefoxu, takze to bude vypadat asi takhle:

Kód: [Vybrat]
#!/bin/bash
firefox %u

Potvrdime zmeny (Save) a zavreme editor, ted mu pridelime ikonku firefoxu, pravej klik na soubor ->Properties (Moznosti) a nasledne klikneme na ikonku, zobrazi se dialog a vybereme ikonu pro firefox

ted kdyz udelame kdekoliv pravej klik , v menu pod skriptama mame spoustec pro firefox.

6.)  Chceme si udelat menu treba jako je na screenshotech ale nezname prikazy pro jednotlive programy ? Vsechny si muzeme zkopirovat z hlavniho menu. Nejrychlejsi zpusob, otevreme terminal a zadame

Kód: [Vybrat]
alacarte
nasledne klikneme na program ktereho detaily potrebujeme , na prave strane v menu klikneme na Properties (Moznosti) a v radce Comman (Prikaz) mame to co hledame. Kliknutim na ikonku uvidime take cestu k ikonce, co muze byt uzitecne pri implementaci bodu 5.) ohledne ikonky


P.S. Tohle ve windowsu urcite neudelate  ;D
Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Udelejte si nautilus dle svych predstav
« Odpověď #1 kdy: 25 Září 2009, 12:33:15 »
Hmm, vypadá to dobře. Asi ale neopustím svoje gnome-do, protože přes něj se dostanu úplně na všechno, včetně souborů a možných akcí s nimi + klávesové zkratky pro nejčastější aplikace/akce.

Jinak díky za Tvé návody, i když je třeba nevyužiju, vždycky se něco přiučím.
http://www.openstreetmap.org - mapy celého světa "wiki style"

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Udelejte si nautilus dle svych predstav
« Odpověď #2 kdy: 25 Září 2009, 12:43:38 »
a jeste jeden kousek

adresarova struktura pres nautilus



script ma vypadat takhle (priklad):

Kód: [Vybrat]
#!/bin/bash
nautilus /home/vasejmeno/Documents


a kdyz se clovek vyhraje s ikonkama tak pak takhle




« Poslední změna: 25 Září 2009, 13:09:23 od petrakis »
Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Udelejte si nautilus dle svych predstav
« Odpověď #3 kdy: 25 Září 2009, 13:19:52 »
Hmm, vypadá to dobře. Asi ale neopustím svoje gnome-do, protože přes něj se dostanu úplně na všechno, včetně souborů a možných akcí s nimi + klávesové zkratky pro nejčastější aplikace/akce.

Jinak díky za Tvé návody, i když je třeba nevyužiju, vždycky se něco přiučím.

Diky za pochvalu ale tusim ze tohle pres gnome-do neudelas  ;D



Kód: [Vybrat]
#!/bin/bash
firefox http://forum.ubuntu.cz

ja vim ze je to zvrhlost  ;D ale nekdy ani dva monitory nestaci, a na rychle otevreni konkretni stranky je to dobry

Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

arrange

  • Závislák
  • ***
  • Příspěvků: 4031
  • "jdu s hlavou vztyčenou..."
Re: Udelejte si nautilus dle svych predstav
« Odpověď #4 kdy: 25 Září 2009, 13:27:28 »
Diky za pochvalu ale tusim ze tohle pres gnome-do neudelas  ;D
Kód: [Vybrat]
#!/bin/bash
firefox http://forum.ubuntu.cz
Ale to víš že jo... Prostě si ten skript nějak hezky pojmenuješ a pak jen zadáš první (ch pár) písmen(o)...
http://www.openstreetmap.org - mapy celého světa "wiki style"

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Udelejte si nautilus dle svych predstav
« Odpověď #5 kdy: 25 Září 2009, 13:28:25 »
Samozrejme ze to jde, beru to zpet, spis sem myslel tu rychlost
Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

LuciusMare

  • Závislák
  • ***
  • Příspěvků: 1749
Re: Udelejte si nautilus dle svych predstav
« Odpověď #6 kdy: 25 Září 2009, 13:59:41 »
Ká plus jedna :)
Citace
<Firzen> tak teď budu Číňan
<Firzen> tak uvidíme :D
Jabber: LuciusMare (zkroucenina) jabbim (tecka) cz

Lukic

  • Návštěvník
  • Příspěvků: 48
Re: Udelejte si nautilus dle svych predstav
« Odpověď #7 kdy: 28 Září 2009, 10:36:53 »
Můžete mi pls pomoct? Mě to pořád nejde.Mám ten tweek a když přetajnu ten script na druhou stranu (čímž by se měl aktivovat) tak se mi neaktivuje.Mám ho tam přetažený ale když na ploše kliknu pravým tlačitkem žádný script tam nemám.A nejde mi ho tam dostat i když dělám přesně podle návodu.Dík předem za vaše a rady a váš čas
« Poslední změna: 28 Září 2009, 11:46:19 od Lukic »

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Udelejte si nautilus dle svych predstav
« Odpověď #8 kdy: 28 Září 2009, 13:38:20 »
Logicky by to melo jit, zkus poslat screenshot tweaku v sekci scripty a take screenshot kdyz udelas pravej klik
Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Udelejte si nautilus dle svych predstav
« Odpověď #9 kdy: 28 Září 2009, 14:06:49 »
Samozrejme ze to jde, beru to zpet, spis sem myslel tu rychlost

Máš to ve třetím podmenu a píšeš o rychlosti? ;)
Nicméně hodit se to může a jde to i bez Ubuntu Tweak. Skripty se dají ukládat rovnou do ~/.gnome2/nautilus-scripts a podmenu se udělá jednoduše přidáním další složky.

http://wiki.ubuntu.cz/Nautilus/skripty/
« Poslední změna: 28 Září 2009, 22:48:39 od GdH »

Lukic

  • Návštěvník
  • Příspěvků: 48
Re: Udelejte si nautilus dle svych predstav
« Odpověď #10 kdy: 29 Září 2009, 16:53:29 »
Screen s pravým talčítkem mi udělat nešel  :-\. tady jsou ty ostatni. ani kdyz nastavim scripty se mi v pravem talcitku mysi nic neukaze  :'(.

http://www.4shared.com/file/136266206/23c5fca6/Scrrenytar.html

Malajda

  • Návštěvník
  • Příspěvků: 96
Re: Udelejte si nautilus dle svych predstav
« Odpověď #11 kdy: 29 Září 2009, 18:43:56 »
Navod jak nainstalovat DUAL panely v Nautilus pro Gnome.

http://webupd8.blogspot.com/2009/09/how-to-install-dual-panel-nautilus-for.html

Zatim netestoval, ale na pripadny vysledek dam vedet samozrejme jak to dopadlo :).
NTB ASUS M50VC - Ubuntu 9.10 REMIX
Linux user number 506470

Malajda

  • Návštěvník
  • Příspěvků: 96
Re: Udelejte si nautilus dle svych predstav
« Odpověď #12 kdy: 29 Září 2009, 18:46:17 »
http://www.linuxexpres.cz/praxe/rozsireni-a-skripty-pro-nautilus

Urcite jste tento clanek nekdo cetl, je podobny jaky je na wiki.ubuntu.

Jiří Eischmanne pěkná práce!!
NTB ASUS M50VC - Ubuntu 9.10 REMIX
Linux user number 506470

LuciusMare

  • Závislák
  • ***
  • Příspěvků: 1749
Re: Udelejte si nautilus dle svych predstav
« Odpověď #13 kdy: 30 Září 2009, 21:28:49 »
Neslo by nejak udelat ze by byla volba v menu - nakliknuty soubor uploadnout na
1)imageshack
2)edisk
3)a tak podobne
? :)
Citace
<Firzen> tak teď budu Číňan
<Firzen> tak uvidíme :D
Jabber: LuciusMare (zkroucenina) jabbim (tecka) cz

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Udelejte si nautilus dle svych predstav
« Odpověď #14 kdy: 01 Října 2009, 01:21:44 »
Neslo by nejak udelat ze by byla volba v menu - nakliknuty soubor uploadnout na
1)imageshack
2)edisk
3)a tak podobne
? :)

http://gnome-look.org/content/show.php/sendToImageshack?content=100952

petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Udelejte si nautilus dle svych predstav
« Odpověď #15 kdy: 01 Října 2009, 18:44:41 »
Pro ftp-ko funguje extremne rychlej upload

Kód: [Vybrat]
#!/bin/sh
########################## INFORMATION ################################
# File_2_FTP v.1.3 nautilus script (c) 2008 | Sasha Khamkov           #
# license - Free to use but not to sell or gain profit by any other   #
# possible way.                                                       #
# Questions and such - <mail@sanusart.com> - www.sanusart.com         #
#---------------------------------------------------------------------#
# Dependencies:                                                       #
#     [*] - zenity    (present by default in most cases)              #
#     [*] - Pure-FTPd (present by default in most cases)              #
#---------------------------------------------------------------------#
# Description:                                                        #
#     [*] - This script makes a use of built-in 'Pure-FTPd' to upload #
#           selected file to FTP server. This is most usefull if you  #
#           need to share something and resend the URL to the file.   #
#     [P.S.] - There are 2 files -                                    #
#           "File_2_FTP" stores the USERNAME & PASSWORD inside - it   #
#           is somewhat unsecure.                                     #
#           "File_2_FTP_secure" asks for USERNAME & PASSWORD at the   #
#           time of upload - no sesetive data is exposed.             #
#---------------------------------------------------------------------#
# Usage:                                                              #
#     [1] - Edit settings section bellow                              #
#     [2] - Put this file to '~/.gnome2/nautilus-scripts/' directory  #
#---------------------------------------------------------------------#
# Access:                                                             #
#     [1] - right mouse button on file to upload.                     #
#     [2] - Go to scripts => File_2_ftp                               #
#     [3] - (only 'File_2_FTP_secure')You'll be asked to provide      #
#           username & password, it was made to avoid storing         #
#           sensitive data inside the script.                         #
#     [4] - Log will show-up upon successful/failed upload to inform  #
#           about the session and details.                            #   
#     [5] - Full URL to the uploaded file will pop-up only if $URL    #
#           variable in settings was specified correctly.
#---------------------------------------------------------------------#
# I am NOT responsible for any data loss caused by use of this script #
#---------------------------------------------------------------------#

########################## SETTINGS ###################################
# Web site address e.g. 'www.domain.com' no 'http://' trailing slash '/' for URL generation.
        URL=www.domain.com
# FTP host server/IP address (e.g. ftp.mydomain.com or IP address).
host=ftp.mydomain.com
# Port of FTP host (default is 21).
port=21
# User name of FTP account:
        username=myusername
# Password of FTP account:
        userpass=mypassword
# Remote directory (if remote is 'www.domain.com/MyDir' you enter 'MyDir'). Leave blank for root.
remote_dir=MyDir
# Path to output the log file.
logfile=/tmp/last_file2ftp_session.log
######################## END OF SETTINGS ##############################
# IMPORTANT!                                                          #
# Do not edit bellow this line unless you know what are you doing !!! #
# see 'man ftp' for more options.                                     #
#---------------------------------------------------------------------#

local_dir=$PWD
file=`basename $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS`
# For passive mode add 'p' to the 'ftp' flags (e.g. -pnivg).
ftp -nivg $host $port > $logfile <<END_SCRIPT
quote binary
quote USER $username
quote PASS $userpass
cd $remote_dir
lcd $local_dir
put $file
bye
END_SCRIPT
echo `zenity --text-info --filename="$logfile" --title="File_2_FTP - LOG"`
echo `zenity --info --text="The URL is: http://$URL/$remote_dir/$file"`
exit 0
Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

funk

  • Aktivní člen
  • *
  • Příspěvků: 350
Re: Udelejte si nautilus dle svych predstav
« Odpověď #16 kdy: 02 Října 2009, 11:50:19 »
To je bomba, uz to provozuji 2 dny a funguje bez problemu. Diky. P.

Navod jak nainstalovat DUAL panely v Nautilus pro Gnome.

http://webupd8.blogspot.com/2009/09/how-to-install-dual-panel-nautilus-for.html



petrakis

  • Stálý člen
  • **
  • Příspěvků: 513
Re: Udelejte si nautilus dle svych predstav
« Odpověď #17 kdy: 19 Října 2009, 11:49:49 »
Na vlastni nebezpeci "Viktor Cistic" (funguje perfektne)



Kód: [Vybrat]
#!/bin/bash
# Clean up script for the Ubuntu Operating System
# Requires: bash zenity gksu (and a desktop manager obviously)

#  Copyright (c) 2008 Savvas Radevic
#  This program is free software: you can redistribute it and/or modify
#  it under the terms of the GNU General Public License as published by
#  the Free Software Foundation, either version 3 of the License, or
#  (at your option) any later version.
#  This program is distributed in the hope that it will be useful,
#  but WITHOUT ANY WARRANTY; without even the implied warranty of
#  MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
#  GNU General Public License for more details.
#  You should have received a copy of the GNU General Public License
#  along with this program.  If not, see <http://www.gnu.org/licenses/>.

# Clear variables
aptupdate=0
cspoweroff=0
aptnonpurged=""
aptkernels=""
grubkernels=""
kernelstopurge=""

# Main
IFS='|'
cleanuplist=`zenity --width 500 --height 300 --list --checklist --text "Choose what type of cleanup you wish:" --hide-column=2 --column "Do" --column "ID" --column "Description" \
TRUE 10 "APT: clears all unnecessary package dependencies (apt-get autoremove --purge)" \
TRUE 20 "APT: clears all unnecessary packages (apt-get autoclean)" \
FALSE 30 "APT: clears all cached/downloaded packages (apt-get clean)" \
TRUE 40 "APT: clears all configuration files of non-purged packages (aptitude purge non-purged packages)" \
FALSE 50 "Kernel: purge all obsolete/local GNU/Linux kernels (except the last two)" \
FALSE 100 "Temporary files: Clear Gedit/text editor temporary files in $HOME (removes *~ files)" \
FALSE 500 "Shutdown when done"`

for i in $cleanuplist; do
  if [ "$i" = "10" ]; then
    echo -e "\nAPT: Clearing unnecessary package dependencies.."
    gksu --description "Clean-up script" "apt-get autoremove --purge -y"
    aptupdate=1
  fi
  if [ "$i" = "20" ]; then
    echo -e "\nAPT: Removing unnecessary cached/downloaded packages.."
    gksu --description "Clean-up script" "apt-get autoclean"
    aptupdate=1
  fi
  if [ "$i" = "30" ]; then
    echo -e "\nAPT: Clearing all cached/downloaded packages.."
    gksu --description "Clean-up script" "apt-get clean"
    aptupdate=1
  fi
  if [ "$i" = "40" ]; then
    IFS=$'\n'
    echo -e "\nAPT: Clearing all non-purged packages.."
    aptnonpurged="`aptitude search '~c' -F '%p' | xargs -n 30`"
    if [ "$aptnonpurged" ]; then
      for line in $aptnonpurged; do
        gksu --description "Clean-up script" "aptitude -y purge $line"
      done
      aptupdate=1
    else
      echo "No non-purged packages found"
    fi
  fi
  if [ "$i" = "50" ]; then
    unset IFS
    echo -e "\nKernel: purge all obsolete/local GNU/Linux kernels (except the last two).."
    echo "Getting the last two kernels from grub.."
    grubkernels=`cat /boot/grub/menu.lst | grep '^title.*kernel' | grep -o 'kernel [0-9][^ ]*' | cut -d ' ' -f 2 | sort -u -r | head -n 2`
    echo "Getting the versions of the obsolete kernel packages.."
    aptkernels="`aptitude search '~o^linux-image' -F '%p' | cut -d- -f3-`"
    echo "Comparing kernel packages.."
    for k in $aptkernels; do
      kernelmatch=`echo "$grubkernels" | grep $k`
      if [ ! "$kernelmatch" ]; then
        if [ ! "$kernelstopurge" ]; then
          kernelstopurge+="$k"
        else
          kernelstopurge+=" $k"
        fi
      else
        echo "Ignoring $k (it's in the latest two kernels)"
      fi
    done
    if [ "$kernelstopurge" ]; then
      list="`for i in $kernelstopurge; do echo linux-image-$i; done`"
      echo "Will purge the following obsolete kernels: $list"
      gksu --description "Clean-up script" "aptitude -y purge $list"
    else
      echo "No actions taken"
    fi
  fi
  if [ "$i" = "100" ]; then
    echo -e "\nTemporary files: Clearing *~ temporary files in $HOME.."
    find $HOME -depth -name "*~" -delete
  fi
  if [ "$i" = "500" ]; then
    echo -e "\nShutdown requested.."
    cspoweroff=1
  fi
done
unset IFS

if [ "$aptupdate" = "1" ]; then
  echo -e "\nAPT: Updating/refreshing the APT package database.."
  gksu --description "Clean-up script" 'apt-get update'
fi

if [ "$cspoweroff" = "1" ]; then
  gksu --description "Clean-up script" gksu --description "Clean-up script (shutdown)" "shutdown -P now"
fi

Znalosti ⇛ Linux: Pokročilý ┃ Programování: Pokročilý ┃ Angličtina: Pokročilý
Systém: Ubuntu 10.04 32-bit (en_US.utf8)
Specifikace⇛ Intel Core 2 E8400 3.00GHz │ RAM 3072 MiB │ DG31PR INTEL - Intel DG31PR Grafické karty: nVidia NV44 [GeForce 6200 TurboCache(TM)] [10DE:161] Sítě: Ethernet: Realtek RTL8111/8168B PCI Express Gigabit Ethernet controller [10EC:8168]

GdH

  • Moderátor
  • Závislák
  • ***
  • Příspěvků: 3176
    • GdH-Notes
Re: Udelejte si nautilus dle svych predstav
« Odpověď #18 kdy: 10 Ledna 2010, 17:17:25 »
Rhythmbox nepodporuje výběr skladeb pro přehrávání přímo z adresářové struktury. Nejjednodušším řešením je skript právě pro Nautilus, který by vybrané skladby posílal Rhythmboxu k přehrání. Když jsem takový skript začal hledat na webu, byl jsem překvapen, že jsem vlastně nic moc nenašel. Proto jsem se rozhodl takový skript napsat sám, koneckonců je to příležitost se něco nového naučit v tom bashi. Třeba se bude někomu hodit.

Pro funkci oznamovacího systému skriptu je třeba nainstalovat balík libnotify-bin z terminálu:

Kód: [Vybrat]
sudo apt-get install libnotify-bin
Play-Rhythmbox
Kód: [Vybrat]
#!/bin/bash

#Play-Rhythmbox
#by GdH


[ -e /dev/shm/rp.pid ] && kill -9 $(cat /dev/shm/rp.pid)
echo "$$" > /dev/shm/rp.pid
[ -e /dev/shm/rhyth.enque ] && rm /dev/shm/rhyth.enque
touch /dev/shm/rhyth.enque

if [ ! `pidof rhythmbox` ]; then rhythmbox &
     until [ `pidof rhythmbox` ]; do sleep 1; done
     sleep 2
fi

filter()
{
      egrep -e '\.[Mm][Pp]3$'       \
            -e '\.[Mm][Pp]4$'       \
            -e '\.[Og][Gg][Gg]$'    \
            -e '\.[Ww][Mm][Aa]$'    \
            -e '\.[Ff][Ll][Aa][Cc]$'\
            -e '\.[Ww][Aa][Vv]$'    \
            -e '\.[Mm]4[Aa]$'       |
      sed -e 's/\(.*\)/"\1"/g'  -e "s/\`/\\\\\`/g"
}

clean()
{
    rm /dev/shm/rhyth.enque
    rm /dev/shm/rp.pid
}

rhythmbox-client --no-start --pause         # smazat, pokud chceš jen soubory přidat
echo "$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS" | sed '$d'| while read LINE
   do
     if [ -d "$LINE" ];
      then find "$LINE" -name "*.*"| filter >> /dev/shm/rhyth.enque
      else echo "$LINE"| filter >> /dev/shm/rhyth.enque
     fi
   done

sleep 1

COUNT=$(wc -l /dev/shm/rhyth.enque | awk '{print $1}')
notify-send -i rhythmbox "Play-Rhythmbox" "Přidávám $COUNT souborů"
if [ $COUNT == "0" ]; then clean; exit 1; fi

LIST=$(cat /dev/shm/rhyth.enque | tr "\n" " ")

rhythmbox-client --no-start --clear-queue --pause    # smazat, pokud chceš jen soubory přidat

bash -c "rhythmbox-client --no-start $LIST"
bash -c "rhythmbox-client --no-start --enqueue $LIST"
sleep 1

rhythmbox-client --no-start --next --play   # smazat, pokud chceš jen soubory přidat
clean
exit 0

Skript akceptuje kromě souborů i složky, které prohledá rekurzivně až do nejnižší úrovně a vyfiltruje všechny soubory s koncovkami definovanými ve funkci "filter". Tento seznam pak pošle Rhythmboxu do fronty a spustí jeho přehrávání. Systémová informační bublina v pravém horním rohu by měla zobrazit informaci o počtu přidaných skladeb. Maximální počet souborů, které se mi najednou podařilo do RB procpat, byl něco pod 1500 (v závislosti na počtu znaků), což bude bezpochyby pro účely, pro které je skript určen stačit.
Pokud Rythmbox nebude v době použití skriptu spustěn, bude nejdříve nastartován.
Ve funkci filter() nejsou určitě všechny formáty, které RB podporuje, ale není problém si je v případě potřeby přidat, nebo naopak ubrat.
Také se hodí mít skript, který skladby do fronty jen přidá. Stačí tedy z výše uvedeného skriptu smazat označené řádky, uložit ho do stejného adresáře pod jiným jménem a nezapomenout nastavit příznak pro spuštění.

V názvech souborů se mohou objevovat různé speciální znaky, na co jsem narazil, to jsem odfiltroval, ale nějaké další by teoreticky mohly bránit importu.

Konstruktivní kritika a návrhy na vylepšení vítány.

« Poslední změna: 07 Února 2010, 14:22:53 od GdH »

 

Provoz zaštiťuje spolek OpenAlt.