# [Gnome] Gestore archivi e menù contestuale...

## ReDirEct__

Salve a tutti..... volevo sapere se c'èra la possibilità di avere nel menù contestuale una voce del tipo "estrai nelle cartella "nome-file-che-sto-decomprimendo""...

E' molto scomodo dover decomprimere molti file compressi che hanno tutto il contenuto nel toplevel e non in una cartella nel toplevel... non so se mi sono spiegato... una roba tipo windows che ti da la possibilità di estrarre il contenuto nel file in una cartella seza doverne creare prima una a mano...

C'è un modo per avere questa comodità? 

Ps: Mi accontento anche di uno scriptino  :Smile: 

----------

## misterwine

Non so che programma stai utilizzando, però io sotto gnome utilizzo file-roller... un ottimo gestore di archivi. Quando vai per estrarre qualcosa, ti domanda la cartella di destinazione e se vuoi ricreare la cartella compressa (ovvero fa in modo che non ti debba creare tu stesso la cartella dove andranno a finire i file che erano nell' archivio.

----------

## ReDirEct__

anche io utilizzo file roller, ma la mia domanda riguardava il menù contestuale (il menù che esce quando clicki col tasto destro su un file). In pratica chiedevo se c'era un modo di avere in questo menù, nel caso si cliccasse su un file compresso, un ulteriore voce che mi permettesse di estrarre il file compresso in una cartella che ha lo stesso nome del file compresso... è semplicemente una comodità. Infatti è uno strazio, nel caso ti trovassi a decomprimere centinaia di file in poco tempo, doverli decomprimere uno ad uno col metodo che usi tu... almeno, se c'è un modo per farlo, con due click ti trovi i file decompressi in una nuova cartella... capito?

----------

## codadilupo

 *ReDirEct__ wrote:*   

> anche io utilizzo file roller, ma la mia domanda riguardava il menù contestuale (il menù che esce quando clicki col tasto destro su un file). In pratica chiedevo se c'era un modo di avere in questo menù, nel caso si cliccasse su un file compresso, un ulteriore voce che mi permettesse di estrarre il file compresso in una cartella che ha lo stesso nome del file compresso... è semplicemente una comodità. Infatti è uno strazio, nel caso ti trovassi a decomprimere centinaia di file in poco tempo, doverli decomprimere uno ad uno col metodo che usi tu... almeno, se c'è un modo per farlo, con due click ti trovi i file decompressi in una nuova cartella... capito?

 

guarda che se clicchi su "estrai qui" dal menu contestuale, ti crea una cartella con il nome dell'archivio... 

Coda

----------

## misterwine

```

guarda che se clicchi su "estrai qui" dal menu contestuale, ti crea una cartella con il nome dell'archivio... 
```

Concordo con Codadilupo

----------

## unz

Se lo zippatore non mette i files in una cartella, i files si sparpagliano. Se entri in fileroller, fai come ti pare, ma effettivamente con un click non riesci a fare questa azione.

Consiglio nautilus-actions ... e col menù contestuale fai quello che vuoi

----------

## ReDirEct__

Infatti quello che dicevo io era proprio che i file si sparpagliano. In effetti il problema non si pone con i files tarrati, ma con i file zippati che non hanno una dir nel toplevel...

ps: cos'è nautilus-actions???

----------

## mrfree

 *codadilupo wrote:*   

> guarda che se clicchi su "estrai qui" dal menu contestuale, ti crea una cartella con il nome dell'archivio... 

 

Questa cosa accadeva qualche versione di file-roller fa, mentre quella attualmente stabile, 2.12.3, estrae "esattamente" il contenuto dell'archivio nella directory corrente

----------

## unz

 *ReDirEct__ wrote:*   

> Infatti quello che dicevo io era proprio che i file si sparpagliano. In effetti il problema non si pone con i files tarrati, ma con i file zippati che non hanno una dir nel toplevel...
> 
> ps: cos'è nautilus-actions???

 

info ed ebuild

----------

## ReDirEct__

ok... installato ed ho anche capito come funziona... l'unico problema sarebbe implementare quello che ho detto...

sono riuscito a risolvere con questo script che usa file roller visto che apre sia rar che zip:

```

#!/bin/bash

FILE="$1"

NOMEFILE=${FILE%%.*}

file-roller --force --extract-to=./$NOMEFILE $FILE
```

So che è molto una schifezza ma è cmq solo una prova... lo richiamo da nautilus-action e funziona a dovere. Solo che voleo provare senza script ma non so come fargli digerire il contenuto della varibile NOMEFILE... si può fare? ad esempio:

nel campo path gli do file-roller e nel campo dei parametri gli do --force --extract-to=./${%f%%.*} nomefile.zip/rar. Ci ho provato ma non so come passargli l'epressione ${%f%%.*} che in pratica gli dice di prendere il nome del file senza l'estensione, in modo da avere la cartella con lo stesso nome del file.

Qualuno che sa darmi una mano?

----------

## codadilupo

 *mrfree wrote:*   

> Questa cosa accadeva qualche versione di file-roller fa, mentre quella attualmente stabile, 2.12.3, estrae "esattamente" il contenuto dell'archivio nella directory corrente

 

Cazzarola, è vero! Non me n'ero mai accorto perché - per un caso fortuito - tutti i miei archivi hanno una dir radice  :Wink: 

Ad ogni modo, ho creato un'azione di nautilus-action che potrebbe essere utile per la decompressione.

Il file viene al momento estratto in una dir creata con il nome dell'archivio, direttamente sul Desktop.

```
<?xml version="1.0" encoding="UTF-8"?>

<gconfschemafile>

  <schemalist>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/label</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/label</applyto>

      <owner>nautilus-actions</owner>

      <type>string</type>

      <locale name="C">

        <default>extract to Desktop</default>

        <short>The label of the menu item</short>

        <long>The label of the menu item that will appear in the Nautilus popup menu when the selection matches the appearance condition settings</long>

      </locale>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/tooltip</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/tooltip</applyto>

      <owner>nautilus-actions</owner>

      <type>string</type>

      <locale name="C">

        <default></default>

        <short>The tooltip of the menu item</short>

        <long>The tooltip of the menu item that will appear in the Nautilus statusbar when the user points to the Nautilus popup menu item with his/her mouse</long>

      </locale>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/icon</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/icon</applyto>

      <owner>nautilus-actions</owner>

      <type>string</type>

      <locale name="C">

        <short>The icon of the menu item</short>

        <long>The icon of the menu item that will appear next to the label in the Nautilus popup menu when the selection matches the appearance conditions settings</long>

      </locale>

      <default>gtk-ok</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/path</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/path</applyto>

      <owner>nautilus-actions</owner>

      <type>string</type>

      <locale name="C">

        <short>The path of the command</short>

        <long>The path of the command to start when the user select the menu item in the Nautilus popup menu</long>

      </locale>

      <default>/usr/bin/depkg</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/parameters</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/parameters</applyto>

      <owner>nautilus-actions</owner>

      <type>string</type>

      <locale name="C">

        <short>The parameters of the command</short>

        <long>The parameters of the command to start when the user selects the menu item in the Nautilus popup menu.

The parameters can contain some special tokens which are replaced by Nautilus information before starting the command:

%d: base folder of the selected file(s)

%f: the name of the selected file or the first one if many are selected

%m: space-separated list of the basenames of the selected file(s)/folder(s)

%M: space-separated list of the selected file(s)/folder(s), with their full paths

%u: GnomeVFS URI

%s: scheme of the GnomeVFS URI

%h: hostname of the GnomeVFS URI

%U: username of the :%s/GnomeVFS URI

%%: a percent sign</long>

      </locale>

      <default>-x -D ~/Desktop -U %M</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/basenames</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/basenames</applyto>

      <owner>nautilus-actions</owner>

      <type>list</type>

      <list_type>string</list_type>

      <locale name="C">

        <short>The list of pattern to match the selected file(s)/folder(s)</short>

        <long>A list of strings with joker '*' or '?' to match the selected file(s)/folder(s). Each selected items must match at least one of the patterns for the action to appear</long>

      </locale>

      <default>[*.*zip,*.ace,*.*ar*]</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/isfile</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/isfile</applyto>

      <owner>nautilus-actions</owner>

      <type>bool</type>

      <locale name="C">

        <short>'true' if the selection can have files, 'false' otherwise</short>

        <long>This setting is tied in with the 'isdir' setting. The valid combinations are:

isfile=TRUE and isdir=FALSE: the selection may hold only files

isfile=FALSE and isdir=TRUE: the selection may hold only folders

isfile=TRUE and isdir=TRUE': the selection may hold both files and folders

isfile=FALSE and isdir=FALSE: this is an invalid combination (your configuration will never appear)</long>

      </locale>

      <default>true</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/isdir</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/isdir</applyto>

      <owner>nautilus-actions</owner>

      <type>bool</type>

      <locale name="C">

        <short>'true' if the selection can have folders, 'false' otherwise</short>

        <long>This setting is tied in with the 'isfile' setting. The valid combinations are:

isfile=TRUE and isdir=FALSE: the selection may hold only files

isfile=FALSE and isdir=TRUE: the selection may hold only folders

isfile=TRUE and isdir=TRUE': the selection may hold both files and folders

isfile=FALSE and isdir=FALSE: this is an invalid combination (your configuration will never appear)</long>

      </locale>

      <default>false</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/accept-multiple-files</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/accept-multiple-files</applyto>

      <owner>nautilus-actions</owner>

      <type>bool</type>

      <locale name="C">

        <short>'true' if the selection can have several items, 'false' otherwise</short>

        <long>If you need one or more files or folders to be selected, set this key to 'true'. If you want just one file or folder, set 'false'</long>

      </locale>

      <default>false</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/schemes</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/schemes</applyto>

      <owner>nautilus-actions</owner>

      <type>list</type>

      <list_type>string</list_type>

      <locale name="C">

        <short>The list of GnomeVFS schemes where the selected files should be located</short>

        <long>Defines the list of valid GnomeVFS schemes to be matched against the selected items. The GnomeVFS scheme is the protocol used to access the files. The keyword to use is the one used in the GnomeVFS URI.

Examples of GnomeVFS URI include: 

file:///tmp/foo.txt

sftp:///root@test.example.net/tmp/foo.txt

The most common schemes are:

'file': local files

'sftp': files accessed via SSH

'ftp': files accessed via FTP

'smb': files accessed via Samba (Windows share)

'dav': files accessed via WebDav

All GnomeVFS schemes used by Nautilus can be used here.</long>

      </locale>

      <default>[file]</default>

    </schema>

    <schema>

      <key>/schemas/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/version</key>

      <applyto>/apps/nautilus-actions/configurations/0d66e50f-3816-456a-801c-0f7e2e21eb51/version</applyto>

      <owner>nautilus-actions</owner>

      <type>string</type>

      <locale name="C">

        <short>The version of the configuration format</short>

        <long>The version of the configuration format that will be used to manage backward compatibility</long>

      </locale>

      <default>1.0</default>

    </schema>

  </schemalist>

</gconfschemafile>
```

va salvato e importato. la sua dipendenza è depkg, un programma di decompressione universale scritto da shogun_panda  :Wink:  che potete trovare qui. Si consiglia di installarlo con le USE ace e 7zip.

Coda

----------

## unz

doppio applauso a coda, per lo script e per aver segnalato depkg che m'ero perso 

[ahò ma su debian l'installatore di deb non si chiama così?]

----------

## randomaze

 *unz wrote:*   

> [ahò ma su debian l'installatore di deb non si chiama così?]

 

dpkg, se non ricordo male...  :Wink: 

----------

## ReDirEct__

bene bene... solo che per una mia morbosa curiosità volevo sapre se si poteva fare anche senza depkg...

In pratica sono rimasto allo script che vi dicevo prima... solo l'ho modificato in questo modo

```
#!/bin/bash

FILE="$1"

EXT=${FILE#*.}

NEWNAME=basename $FILE $EXT

file-roller --force --extract-to=$NEWNAME $FILE
```

l'unico problema è che ${FILE#*.} non va con i file che contengono spazi... c'è un modo per bypassare questo problema? 

E' cmq valida la mia domanda sul come fare questo senza uno script e direttamente in nautilus-actions, senza depkg...

----------

## unz

scaricati l'xml di coda, e al posto di depkg ci metti file roller ...

Sebbene depkg sia una bomba, ci mette un atomo a scompattare e soprattutto finalmente m'ha liberato da svariati ACE che non riuscivo a decomprimere da mesi ...

----------

## ReDirEct__

 *unz wrote:*   

> scaricati l'xml di coda, e al posto di depkg ci metti file roller ...
> 
> Sebbene depkg sia una bomba, ci mette un atomo a scompattare e soprattutto finalmente m'ha liberato da svariati ACE che non riuscivo a decomprimere da mesi ...

 

hem... non credo funzioni semplicemente sostituendo depkg con file-roller... a parte che hanno bisogno di parametri differenti, poi nn si può fare quello che dico io con file-roller, o almeno io nn conosco il modo per farlo... altrimenti il problema nn me lo sarei proprio posto  :Very Happy: 

----------

## codadilupo

in generale si puo' fare (esiste il modo di decomprimere il tutto in una dir specifica, anche se la dir in questione non esiste (non sono sul pc, quindi non posso fornire ulteriori info)). Quello che mi chiedo è: visto che depkg decomprime qualsiasi cosa senza bisogno di sapere nemmeno cos'e' (es.: un tar, zippato, e rinominato con estensione ciccio), mi chiedo perché tu voglia usare per forza file-roller... se è un probblema di dipendenze, beh, quelle le avresti cmq  :Wink: 

CodaLast edited by codadilupo on Mon May 22, 2006 2:07 pm; edited 1 time in total

----------

## ReDirEct__

niente di tutto ciò  :Very Happy: ... è solo una mia morbosa curiosità  :Razz: ... vorrei soltato capire, se si può fare, come si fa...Last edited by ReDirEct__ on Mon May 22, 2006 2:07 pm; edited 1 time in total

----------

## codadilupo

 *ReDirEct__ wrote:*   

> niente di tutto ciò ... è solo una mia morbosa curiosità 

 

oookey  :Wink: 

P.S.: prova cosi':

nell'action di nautilus metti "file-roller -e"

e come paramentri: %d %M

Coda

----------

## ReDirEct__

 *codadilupo wrote:*   

>  *ReDirEct__ wrote:*   niente di tutto ciò ... è solo una mia morbosa curiosità  
> 
> oookey 
> 
> P.S.: prova cosi':
> ...

 

va ma cmq non estrae i file nella cartella con lo stesso nome del file... in pratica fa la stessa cosa di estrai qui...

----------

## codadilupo

e sostituendo l'opzione -e con l'opzione:

```
-f, --extract           Estrai gli archivi chiedendo la cartella di destinazione e chiudi il programma
```

 :Question: 

Coda

----------

