Caja копировать в, переместить в

Автор VitSM, 26 февраля 2017, 20:21:54

« назад - далее »

0 Пользователи и 1 гость просматривают эту тему.

VitSM

Всем здравствуйте! иногда пользую Debian + Mate на слабой машинке, не знаю может это только у меня в подменю всегда неактивный пункт Другая панель... мне нужно чтобы был выбор папки куда копировать или переместить. Это возможно сделать в Caja? Пока установил Nautilus работает, но тормозит на слабом нетбуке.

CoolAller

#1
VitSM, в смысле вторая панель как в Total Commander? Кнопка F3, у меня в опциях эта функция тоже доступна. Попробуйте сделать: aptitude reinstall libcaja-extension1 caja caja-common, после: killall caja или завершить сеанс. Если не поможет, то: apt-get dist-upgrade.

VitSM

#2
Цитата: CoolAller от 26 февраля 2017, 20:31:10в смысле вторая панель как в Total Commander? Кнопка F3, у меня в опциях эта функция тоже доступна
А ясно тогда для чего этот пункт, это я неправильно понял для чего он нужен.
Нет мне не нужна вторая панель нужно просто чтобы открывалось окно с выбором куда копировать или переместить, в других же файл. менедж. так.

CoolAller

VitSM, помоему видел где-то на github такой скрипт, поищите. По дефолту доступно перемещение/копирование в домашний каталог и на рабочий стол, впрочем я и этим не пользуюсь, либо хоткеи, либо терминал.

VitSM

CoolAller
хорошо поищу, спасибо, жаль что не помните, может подскажет кто.

alsoijw

Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

VitSM

Цитата: alsoijw от 27 февраля 2017, 15:05:49https://www.linux.org.ru/forum/desktop/9585576
?
Ну мне удалять пункты меню не зачем, а вот добавить если можно то что именно в caja-shell-ui.xml ?

alsoijw

VitSM, у меня нет caja. Вставь сюда текст файла и уже можно будет понять в каком виде что писать.
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

VitSM

alsoijw
Открыть содержимое (спойлер)
<ui>
<accelerator action="ZoomInAccel"/>
<accelerator action="ZoomInAccel2"/>
<accelerator action="ZoomOutAccel"/>
<menubar name="MenuBar">
<menu action="File">
<placeholder name="New Items Placeholder"/>
<separator/>
<placeholder name="Open Placeholder"/>
<separator/>
<placeholder name="Location Placeholder"/>
<menuitem name="Connect to Server" action="Connect to Server"/>
<separator/>
<placeholder name="File Items Placeholder"/>
<separator/>
<placeholder name="Global File Items Placeholder"/>
<separator/>
<placeholder name="Extension Actions"/>
<separator/>
                <placeholder name="Close Items Placeholder"/>
<menuitem name="Close" action="Close"/>
</menu>
<menu action="Edit">
<placeholder name="Undostack Actions"/>
<separator/>
<placeholder name="Clipboard Actions">
</placeholder>
<separator/>
<placeholder name="Copy Move to Placeholder"/>
<separator/>
<placeholder name="Select Items"/>
<separator/>
<placeholder name="File Items Placeholder"/>
<separator/>
<placeholder name="Dangerous File Items Placeholder"/>
<separator/>
<placeholder name="Edit Items Placeholder"/>
<placeholder name="Global Edit Items Placeholder"/>
<separator/>
<placeholder name="Extension Actions"/>
<separator/>
<menuitem name="Backgrounds and Emblems" action="Backgrounds and Emblems"/>
<menuitem name="Preferences" action="Preferences"/>
</menu>
<menu action="View">
<menuitem name="Stop" action="Stop"/>
<menuitem name="Reload" action="Reload"/>
<separator/>
<placeholder name="Show Hide Placeholder"/>
<separator/>
<placeholder name="View Preferences Placeholder"/>
<separator/>
<placeholder name="View Items Placeholder"/>
<separator/>
<placeholder name="Zoom Items Placeholder">
<menuitem name="Zoom In" action="Zoom In"/>
<menuitem name="Zoom Out" action="Zoom Out"/>
<menuitem name="Zoom Normal" action="Zoom Normal"/>
</placeholder>
<placeholder name="View Choices">
        <separator/>
<placeholder name="Extra Viewer"/>
<separator name="Before Short List"/>
<placeholder name="Short List"/>
</placeholder>
</menu>
<placeholder name="Other Menus"/>
<menu action="Help">
<menuitem name="Caja Manual" action="Caja Manual"/>
<menuitem name="About Caja" action="About Caja"/>
</menu>
</menubar>
<popup name="background">
<placeholder name="Before Zoom Items">
<placeholder name="New Window Items"/>
<placeholder name="New Object Items"/>
<separator/>
       <placeholder name="Extension Actions"/>
</placeholder>
        <separator/>
<placeholder name="Zoom Items">
<menuitem name="Zoom In" action="Zoom In"/>
<menuitem name="Zoom Out" action="Zoom Out"/>
<menuitem name="Zoom Normal" action="Zoom Normal"/>
</placeholder>
        <separator/>
<placeholder name="After Zoom Items"/>
</popup>
</ui>
[свернуть]

alsoijw

Похоже что этот совет не подходит. Поигуглил - предлагают поставить плагины caja и вот ещё один совет http://pingvinus.ru/note/nautilus-context-menu-items
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

VitSM

alsoijw спасибо за наводку, в общем почти сделал что хотел

1. Установил для jessie пакеты caja-actions-common caja-actions отсюда http://puga.vdu.lt/debian/dists/jessie/main/binary-i386/c/caja-actions/ (подходящих больше нигде не нашёл)
2. Создал два скрипта в /home/username/bin/
источник https://ubuntu-mate.community/t/move-to-copy-to-in-caja/330/12
Открыть содержимое (спойлер)
copy_to.sh
#!/bin/bash
numberArgs=$#

OUTPUT=$(zenity --file-selection --directory --title="Выбрать место для копирования")

if [ "$?" -eq 1 ]; then
    zenity --error --text="Отменен"
    exit 1
fi

TARGETDIR=$(awk -F, '{print $1}' <<<$OUTPUT)

for (( i=1; i<=$numberArgs; i++ )); do
    echo "# ${1##*/}"
    cp -r "${1}" "$TARGETDIR/"
    echo "$(( (i * 100)/$numberArgs ))"
    sleep 0.5
    shift 1
done | zenity --progress --title="Копирование файлов в $TARGETDIR" --percentage=0

if [ "$?" -eq 1 ]; then
    zenity --error --text="Отменен!"
    exit 1
fi

move_to.sh
#!/bin/bash
numberArgs=$#

OUTPUT=$(zenity --file-selection --directory --title="Выбрать место для перемещения")

if [ "$?" -eq 1 ]; then
    zenity --error --text="Отменен"
    exit 1
fi

TARGETDIR=$(awk -F, '{print $1}' <<<$OUTPUT)

for (( i=1; i<=$numberArgs; i++ )); do
    echo "# ${1##*/}"
    mv "${1}" "$TARGETDIR/"
    echo "$(( (i * 100)/$numberArgs ))"
    sleep 0.5
    shift 1
done | zenity --progress --title="Перемещение файлов в $TARGETDIR" --percentage=0

if [ "$?" -eq 1 ]; then
    zenity --error --text="Отменен!"
    exit 1
fi
[свернуть]
3. И последнее - пункты меню с помощью Caja-Actions Configuration Tool
Открыть содержимое (спойлер)



[свернуть]

Как бы ещё сделать чтобы при совпадении имён файлов был диалог подтверждения перезаписи.

alsoijw

Цитата: VitSM от 28 февраля 2017, 12:54:57Как бы ещё сделать чтобы при совпадении имён файлов был диалог подтверждения перезаписи.
Как насчёт того чтобы связаться с разработчиками?
Мало видеть нам начало - надо видеть и конец. Если видишь ты создание - значит где-то есть ТВОРЕЦ
Многие жалуются: геометрия в жизни не пригодилась. Ямб от хорея им приходится отличать ежедневно?

VitSM

Цитата: alsoijw от 28 февраля 2017, 13:06:25Как насчёт того чтобы связаться с разработчиками?
Я конечно не против если Вы им напишите, у меня с англ. не очень.

VitSM

#13
Цитата: VitSM от 28 февраля 2017, 12:54:57Как бы ещё сделать чтобы при совпадении имён файлов был диалог подтверждения перезаписи.
Пришлось самому делать, не идеально конечно в смысле при совпадении названия папки в выбранном каталоге выдается запрос только на замену папки, а то что в ней заменяется без вопросов если конечно выбрать заменить, но меня это вполне устраивает...
Открыть содержимое (спойлер)

Копировать
#!/bin/bash
nArgs=$#
DIR=$(zenity --file-selection --directory --title="Выбрать место для копирования")

if [ "$?" -eq 1 ]; then
    exit 1
fi

selAll=false
spAll=false
for (( i=1; i<=nArgs; i++ )); do
    f=${1}
    fn=${1##*/}
    echo "# Копируется: $fn"
    if [ false = "$selAll" ] && [ -e "$DIR/$fn" ]; then
        sel=$(zenity --list --radiolist --title="Файловый конфликт" --column="" --column="" --hide-header --width=500 --height=170 --cancel-label="Пропустить" --text="Выберите действие из списка ниже" TRUE "Заменить $fn" FALSE "Заменить все" FALSE "Пропустить все")
        case "$sel" in
            "Заменить $fn" )
                cp -R "$f" "$DIR/"
            ;;
            "Заменить все" )
                selAll=true
                cp -R "$f" "$DIR/"
            ;;
            "Пропустить все" )
                selAll=true
                spAll=true
                echo "# Пропуск: $fn"
            ;;
            * )
                echo "# Пропуск: $fn"
            ;;
        esac
    elif [ true = "$spAll" ] && [ -e "$DIR/$fn" ]; then
        echo "# Пропуск: $fn"
    else
        cp -R "$f" "$DIR/"
    fi
    echo "$(( (i * 100)/nArgs ))"
    sleep 0.5
    shift 1
done | zenity --progress --title="Копирование файлов в $DIR" --percentage=0  --width=500 --auto-close

if [ "$?" -eq 1 ]; then
    zenity --info --text="Отмена копирования..." --timeout=10
    exit 1
fi

Переместить
#!/bin/bash
nArgs=$#
DIR=$(zenity --file-selection --directory --title="Выбрать место для перемещения")

if [ "$?" -eq 1 ]; then
    exit 1
fi

selAll=false
spAll=false
for (( i=1; i<=nArgs; i++ )); do
    f=${1}
    fn=${1##*/}
    echo "# Перемещается: $fn"
    if [ false = "$selAll" ] && [ -e "$DIR/$fn" ]; then
        sel=$(zenity --list --radiolist --title="Файловый конфликт" --column="" --column="" --hide-header --width=500 --height=170 --cancel-label="Пропустить" --text="Выберите действие из списка ниже" TRUE "Заменить $fn" FALSE "Заменить все" FALSE "Пропустить все")
        case "$sel" in
            "Заменить $fn" )
                cp -R "$f" "$DIR/" && rm -R "$f"
            ;;
            "Заменить все" )
                selAll=true
                cp -R "$f" "$DIR/" && rm -R "$f"
            ;;
            "Пропустить все" )
                selAll=true
                spAll=true
                echo "# Пропуск: $fn"
            ;;
            * )
                echo "# Пропуск: $fn"
            ;;
        esac
    elif [ true = "$spAll" ] && [ -e "$DIR/$fn" ]; then
        echo "# Пропуск: $fn"
    else
        cp -R "$f" "$DIR/" && rm -R "$f"
    fi
    echo "$(( (i * 100)/nArgs ))"
    sleep 0.5
    shift 1
done | zenity --progress --title="Перемещение файлов в $DIR" --percentage=0  --width=400 --auto-close

if [ "$?" -eq 1 ]; then
    zenity --info --text="Отмена перемещения..." --timeout=10
    exit 1
fi

[свернуть]
Пишите если есть предложения/замечания по скриптам.

ivm

В Caja по F3 открывается вторая панель и копировать/перемещать в другую панель - это касается второй открытой панели. Нет второй панели, команда будет не активной. Если команда не активна при открытой второй панели, значит на это действие нет прав.