The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



"Midnight Commander & буфер обмена X-ов"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Открытые системы на рабочей станции (X Window, GUI / Linux)
Изначальное сообщение [ Отслеживать ]

"Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 04-Сен-09, 15:21 
Столкнулся с следующей проблемой...  
Поставил себе Arch Linux  & Openbox  и в качестве менеджера буфера обмена использую parcellite.
Решил запустить Midnight Commander в xterm и заметил что во встроенный редактор mcedit я могу вставлять клавишами Shift + Ins все что в буфере  X-ов  . а когда пытаюсь скопировать из редактора (нажимая Crtl +Ins) то выделенный текст не попадает в глобальный буфер а попадает в файл .mc/cooledit.clip...
А теперь вопросы :
1. Может ли редактор mc вообще работать с буфером X-ов или только со своим файлом .mc/cooledit.clip ?  в официальной документации я нашел только что буфер реализован с помощью этого файла
2. Если может работать буфером X-ов... то как настроить чтобы правильно (копировал в буфер иксов) обрабатывалась комбинация  Ctrl + ins  ?

GNU Midnight Commander, версия 4.7.0-pre2... пробовал и старшие  версии MC проблема сохраняется .


Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от angel_il on 04-Сен-09, 17:12 
>[оверквотинг удален]
>1. Может ли редактор mc вообще работать с буфером X-ов или только
>со своим файлом .mc/cooledit.clip ?  в официальной документации я нашел
>только что буфер реализован с помощью этого файла
>2. Если может работать буфером X-ов... то как настроить чтобы правильно (копировал
>в буфер иксов) обрабатывалась комбинация  Ctrl + ins  ?
>
>
>GNU Midnight Commander, версия 4.7.0-pre2... пробовал и старшие  версии MC проблема
>сохраняется .
>

есть тикет на m-c.o, пока не реализовано, если устроит по рабоче-крестьянски могу сказать где что прописать чтобы работало.

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 04-Сен-09, 17:30 
>[оверквотинг удален]
>>2. Если может работать буфером X-ов... то как настроить чтобы правильно (копировал
>>в буфер иксов) обрабатывалась комбинация  Ctrl + ins  ?
>>
>>
>>GNU Midnight Commander, версия 4.7.0-pre2... пробовал и старшие  версии MC проблема
>>сохраняется .
>>
>
>есть тикет на m-c.o, пока не реализовано, если устроит по рабоче-крестьянски могу
>сказать где что прописать чтобы работало.

устроит конечно ... руки не кривые собрать смогу ... и ссылку на тикет если можно

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 04-Сен-09, 17:37 
>[оверквотинг удален]
>>>
>>>GNU Midnight Commander, версия 4.7.0-pre2... пробовал и старшие  версии MC проблема
>>>сохраняется .
>>>
>>
>>есть тикет на m-c.o, пока не реализовано, если устроит по рабоче-крестьянски могу
>>сказать где что прописать чтобы работало.
>
>устроит конечно ... руки не кривые собрать смогу ... и ссылку на
>тикет если можно

кажется уже сам нашел , вот тикет : http://midnight-commander.org/ticket/30
там и патч лежит .. сча попробую собрать

Ответить | Правка | ^ к родителю #2 | Наверх | Cообщить модератору

4. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 04-Сен-09, 18:09 
>>[оверквотинг удален]
>
>кажется уже сам нашел , вот тикет : http://midnight-commander.org/ticket/30
>там и патч лежит .. сча попробую собрать

накатил патч , на версию 4.6.1  собрал заново ... не помогло , проблема сохраняется .. расстроился ..
в тиките написано что в 4.7.0-pre3 реализуют .. будем наедятся  и ждать

Ответить | Правка | ^ к родителю #3 | Наверх | Cообщить модератору

5. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от angel_il on 05-Сен-09, 10:54 
>>>[оверквотинг удален]
>>
>>кажется уже сам нашел , вот тикет : http://midnight-commander.org/ticket/30
>>там и патч лежит .. сча попробую собрать
>
>накатил патч , на версию 4.6.1  собрал заново ... не помогло
>, проблема сохраняется .. расстроился ..
>в тиките написано что в 4.7.0-pre3 реализуют .. будем наедятся  и
>ждать

ну этот патч еще пилить надо, я то хотел посоветовать сделать через вызов утилиты xclip, ее вызов надо вставить в
edit_copy_to_X_buf_cmd и edit_cut_to_X_buf_cmd, пример запуска утилиты есть например в
edit_block_process_cmd

Ответить | Правка | ^ к родителю #4 | Наверх | Cообщить модератору

8. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 07-Сен-09, 13:26 
>[оверквотинг удален]
>>
>>накатил патч , на версию 4.6.1  собрал заново ... не помогло
>>, проблема сохраняется .. расстроился ..
>>в тиките написано что в 4.7.0-pre3 реализуют .. будем наедятся  и
>>ждать
>
>ну этот патч еще пилить надо, я то хотел посоветовать сделать через
>вызов утилиты xclip, ее вызов надо вставить в
>edit_copy_to_X_buf_cmd и edit_cut_to_X_buf_cmd, пример запуска утилиты есть например в
>edit_block_process_cmd

готово... спасибо за подсказку ....
изменил только одну функцию в коде  файла editcmd.c
вот что получилось

int edit_copy_to_X_buf_cmd (WEdit * edit)
{
    int len;
    long start_mark, end_mark;
    if (eval_marks (edit, &start_mark, &end_mark))
    return 0;
    if (!edit_save_block_to_clip_file (edit, start_mark, end_mark)) {
    edit_error_dialog (_(" Copy to clipboard "), get_sys_error (_(" Unable to save to file. ")));
    return 1;
    }
    edit_mark_cmd (edit, 1);
    unsigned char *block;
    char *tmp;
    block = edit_get_block (edit, start_mark, end_mark, &len);
    tmp = g_strconcat ("xclip -i ",concat_dir_and_file (home_dir, EDIT_CLIP_FILE)," -selection clipboard", NULL );
    system (tmp);
    g_free(tmp);
    return 0;
}


заново собрал и теперь все работает ))))) очень удобно

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

9. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 07-Сен-09, 13:32 
>[оверквотинг удален]
>    block = edit_get_block (edit, start_mark, end_mark, &len);
>    tmp = g_strconcat ("xclip -i ",concat_dir_and_file (home_dir, EDIT_CLIP_FILE),"
>-selection clipboard", NULL );
>    system (tmp);
>    g_free(tmp);
>    return 0;
>}
>
>
>заново собрал и теперь все работает ))))) очень удобно

жаль что только не получилось проапдейтить тикет на http://www.midnight-commander.org/ticket/30 ... прав нет  даже после регистрации на сайте ... так я и не понял зачем там тогда регистрация нужна

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

10. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 13:35 
>жаль что только не получилось проапдейтить тикет на http://www.midnight-commander.org/ticket/30 ... прав нет
> даже после регистрации на сайте ... так я и не
>понял зачем там тогда регистрация нужна

заменить патч нельзя, чтобы не было спам-вандальства. Попробуйте зааплоадить патч под другим именем.

Ответить | Правка | ^ к родителю #9 | Наверх | Cообщить модератору

11. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 07-Сен-09, 14:04 
>>жаль что только не получилось проапдейтить тикет на http://www.midnight-commander.org/ticket/30 ... прав нет
>> даже после регистрации на сайте ... так я и не
>>понял зачем там тогда регистрация нужна
>
>заменить патч нельзя, чтобы не было спам-вандальства. Попробуйте зааплоадить патч под другим
>именем.

спасибо ,добавил код еще для cut и добавил патч http://www.midnight-commander.org/attachment/ticket/30/mc-4....

Ответить | Правка | ^ к родителю #10 | Наверх | Cообщить модератору

12. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 14:15 

>спасибо ,добавил код еще для cut и добавил патч http://www.midnight-commander.org/attachment/ticket/30/mc-4....

это Вам спасибо :).

Ответить | Правка | ^ к родителю #11 | Наверх | Cообщить модератору

13. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от anonymous (??) on 10-Сен-09, 09:42 
>    tmp = g_strconcat ("xclip -i ",concat_dir_and_file (home_dir, EDIT_CLIP_FILE)," -selection clipboard", NULL );

Ай-ай-ай, нехорошо memory leak в программе делать. :) Кто будет за вас удалять результат concat_dir_and_file() ? Иван Фёдорович Крузенштерн?

Ответить | Правка | ^ к родителю #8 | Наверх | Cообщить модератору

16. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от uchti (ok) on 11-Сен-09, 15:21 
>>    tmp = g_strconcat ("xclip -i ",concat_dir_and_file (home_dir, EDIT_CLIP_FILE)," -selection clipboard", NULL );
>
>Ай-ай-ай, нехорошо memory leak в программе делать. :) Кто будет за вас
>удалять результат concat_dir_and_file() ? Иван Фёдорович Крузенштерн?

каюсь .... пофиксил патч
http://www.midnight-commander.org/attachment/ticket/30/mc-4....

Ответить | Правка | ^ к родителю #13 | Наверх | Cообщить модератору

18. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от Anton (??) on 25-Апр-10, 01:37 
>>>    tmp = g_strconcat ("xclip -i ",concat_dir_and_file (home_dir, EDIT_CLIP_FILE)," -selection clipboard", NULL );
>>
>>Ай-ай-ай, нехорошо memory leak в программе делать. :) Кто будет за вас
>>удалять результат concat_dir_and_file() ? Иван Фёдорович Крузенштерн?
>
>каюсь .... пофиксил патч
>http://www.midnight-commander.org/attachment/ticket/30/mc-4....

Попробовал установить ваш патч, но при компиляции ругается на EDIT_CLIP_FILE. Говорит, что он undeclared. Подскажите, пожалуйста, что исправить? :)

Ответить | Правка | ^ к родителю #16 | Наверх | Cообщить модератору

21. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от Anonim (??) on 20-Июн-18, 21:30 
> ну этот патч еще пилить надо, я то хотел посоветовать сделать через
> вызов утилиты xclip, ее вызов надо вставить в
> edit_copy_to_X_buf_cmd и edit_cut_to_X_buf_cmd, пример запуска утилиты есть например
> в
> edit_block_process_cmd

А можно подробней пожалуйста.

Ответить | Правка | ^ к родителю #5 | Наверх | Cообщить модератору

6. "Midnight Commander & буфер обмена X-ов"  +1 +/
Сообщение от zd3n (ok) on 07-Сен-09, 07:34 
Да работает всё искаропки....

Копирование из консоли(я юзаю Konsole) (из мс в частности): жмём SHIFT, и пока держим - мышью выделяем нужный текст. Далее (не отпуская SHIFT) жмакаем правой кнопкой мыши на выделенном объекте и из меню выбираем КОПИРОВАТЬ. ВСЁ.... Далее можно делать вставку в любое Х-овое приложение.  

Копирование из Х-ового буфера обмена в консоль(или открытый файл через редактор mc):
Курсор в нужное место. Нажимаем SHIFT, жмакаем правой кнопкой мыши на выделенном объекте и из меню выбираем ВСТАВИТЬ.(либо Нажимаем SHIFT, жмакаем СРЕДНЕЙ кнопкой мыши).
ВСЁ....

Пробовал на разных дистрибутивах, нигде с этим проблем не было....

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

7. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от Slavaz (ok) on 07-Сен-09, 10:58 
>Да работает всё искаропки....

Тут разговор про работу с иксовым буфером обмена без помощи мышки :)

Указанные манипуляции с мышкой - это универсальная работа. Сработает везде и на любых полях ввода в любой иксовой программе.

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

14. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от xintrea on 11-Сен-09, 13:11 
>Да работает всё искаропки....
>
>Копирование из консоли(я юзаю Konsole) (из мс в частности): жмём SHIFT, и
>пока держим - мышью выделяем нужный текст. Далее (не отпуская SHIFT)
>жмакаем правой кнопкой мыши на выделенном объекте и из меню выбираем
>КОПИРОВАТЬ. ВСЁ.... Далее можно делать вставку в любое Х-овое приложение.

И что у тебя получится в буфере обмена, если текст шире окна терминала?
А как ты собираешься копировать кусок текста, который занимает больше одного экрана по высоте? По частям чтоли долбаться будешь?

Ответить | Правка | ^ к родителю #6 | Наверх | Cообщить модератору

15. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от zd3n (ok) on 11-Сен-09, 13:23 

>И что у тебя получится в буфере обмена, если текст шире окна
>терминала?
>А как ты собираешься копировать кусок текста, который занимает больше одного экрана
>по высоте? По частям чтоли долбаться будешь?

С редактором mc в этом случае проблематично...., но для небольших объектов копирования/вставки сгодится.

По мне, так гораздо удобнее в таких случаях vi использовать...

Ответить | Правка | ^ к родителю #14 | Наверх | Cообщить модератору

17. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от angel_il on 12-Сен-09, 13:53 
>How get editor codepage as string, i.e. "UTF-8"?
>How get system codepage as string, i.e. "KOI-8R"?

используй get_codepage_id (source_codepage)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

19. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от Denis Ryzhkov email on 08-Сен-11, 14:02 
та же проблема на debian wheezy, в репозитории ещё версия без поддержки буфера Х-ов, а собирать-патчить не хочется, в итоге написал короткий скрипт, работает в фоне, полностью синхронизирует буфер Х-ов и mcedit:
http://denis.ryzhkov.org/soft/xclip-sync-mcedit/xclip-sync-m...
Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

20. "Midnight Commander & буфер обмена X-ов"  +/
Сообщение от am_eagle (ok) on 30-Авг-12, 18:19 
советую вообщеи из mc убрать его редактор в настройках mc. а прописать в профале

cd
ee .profile
EDITOR=/usr/bin/ee;     export EDITOR

и всё по умолчанию по F4 в mc будет открываться ее

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру