Представлен (https://mail.gnome.org/archives/mc-devel/2014-September/msg0...) выпуск консольного файлового менеджера Midnight Commander 4.8.13 (http://www.midnight-commander.org/), распространяемого в исходных текстах под лицензией GPLv3+.Список основных изменений (https://www.midnight-commander.org/wiki/NEWS-4.8.13):
- Реализована возможность удобного прерывания пользователем длительно выполняемых операций;
- Во встроенном редакторе улучшена подсветка синтаксиса сценариев CMake и PHP;
- Реализована (https://mail.gnome.org/archives/mc/2014-May/msg00000.html) возможность определения отдельного цветового оформления для просмотрщика;
- При переходе по номеру строки в просмотрщике (F5) нумерация теперь начинается с 1, а не с 0;
- Решены проблемы с отображением системных руководств (man), содержащих текст в utf-8;
- Проведена чистка кода;
- Добавлены новые цветовые темы gray-green-purple256 и gray-orange-blue256.
URL: https://mail.gnome.org/archives/mc-devel/2014-September/msg0...
Новость: http://www.opennet.me/opennews/art.shtml?num=40526
>Реализована возможность определения отдельного цветового оформления для просмотрщика;Давно пора, а то, многие цветовые схемы делали просмотрщик непригодным.
> Реализована возможность удобного прерывания пользователем длительно
> выполняемых операций;Да неужели?! Я джва, нет, тжри, нет... дохжрена годов этого ждал! А если какой-нибудь там архиватор в фоне пароль просит - оно срубится вместо того чтобы просто висеть неопределенное время? :)
Еще бы постановку в очередь при копировании добавили и больше ждать будет нечего :) Разве что inotify.
inotify делали, не пошло. Портабильность убивается, фрибздя, суньось, аих, вмс, хпюх этого не умеют.
Так не обязательно же намертво гвоздями прибивать, достаточно опции при компиляции. Есть ссылка на патч/обсуждение? Может сам допилю.
Давно это было, API уже раза два меняли.http://www.midnight-commander.org/search?q=dnotify&noquickju...
http://web.archiveorange.com/archive/v/qGUvtLboFEzntiExbBxX
для 4.6.2 патч http://launchpadlibrarian.net/19888159/24.diff
фрибздя и прочие бздя для того же умеют kevent, остальные, наверняка, тоже имеют свое.
> фрибздя и прочие бздя для того же умеют kevent, остальные, наверняка, тоже имеют свое.Да всё там есть kevent, kqueue, и poll/epoll можно задействовать, и даже портабельный select.
>хпюхЧпукс что-ли?
когда, уже можно будет редактировать содержимое устройств напрямую (типа диск эдита)?
> когда, уже можно будет редактировать содержимое устройств напрямую (типа диск эдита)?Миднайт - файловый менеджер, а не байтовый.
> Миднайт - файловый менеджер, а не байтовый.каким образом это должно мешать открыть в просмотрщике /dev/blocksmth, переключиться в hex, нажать F2 и редактировать?
>> Миднайт - файловый менеджер, а не байтовый.
> каким образом этоЭто как ядерное оружие - лучше не надо, чем у всех.
тогда надо клавиатуру отобрать, это самое опасное.
Всю не надо, но некоторые кнопки выдрать можно.
> должно мешать
> лучше не надо
> отобрать
> выдратьВо, блин, люди пекутся о благе человечества...
> Миднайт - файловый менеджер, а не байтовый.Ну так /dev/sda - это, типа, файл. И хексэдитор в mc есть. То что он привередничает на предмет блочных устройств - тупняк редкостный, остальные редакторы на порядок менее разборчивы, а вот нужда их запускать при наличии в mc своей вьюшки в стиле mc - анноит.
>> Миднайт - файловый менеджер, а не байтовый.
> Ну так /dev/sda - это, типа, файл.Придумайте - накой вам побайтовая, ручная запись на диск? (причём постоянно, чтоб это было в миднайте)
Во времена MSDOS без hex-редактора как без рук. Потому как вечно, что-то не туда писалось, не оттуда читалось...
А при сбое питания мог сдохнуть весь FAT. Флоппики 1.44 руками правили... Накой хрен он сейчас вообще,
с терабайтными винтами, на FS c журналированием... :-\dd if=/dev/sda of=~/sda_image.img bs=скоканада offset=неибугде
cp ~/sda_image.img ~/sda_image.img.orig
mcedit ~/sda_image.img
...
обратно так же.
---
> обратно так же.А зачем вот это всё? Или ты, как обычно, не понял в чем была суть вопроса? Вопрос был о редактировании диска в mc напрямую.
> А зачем вот это всё? Или ты, как обычно, не понял в
> чем была суть вопроса? Вопрос был о редактировании диска в mc
> напрямую.Типа Norton diskedit.exe? В mc? "А зачем вот это всё?"
> Типа Norton diskedit.exe? В mc? "А зачем вот это всё?"а почему бы и да? блочное устройство — это таки файл. почему один файл можно, значит, открыть, а на /dev/sdc я получаю: «cannot view: not a regular file»? что полезного делает эта проверка? да ничего.
постоянные слёты 256-цветной цветовой схемы в редакторе после переключения на панель/другой редактор починили уже?или авторы традиционно своим поделием не пользуются, поэтому до сих пор не в курсе?
inb4: пиши багрепорт — нет.
>>Реализована возможность удобного прерывания пользователем длительно выполняемых операцийлучше бы добавили фоновый задачи и приостановление длительно выполняемых операций на них - это всё что требуется для этого менеджера в 21 веке.
+ очередь их исполнения, простите...
но зачем? в XXI-м веке можно открыть ещё один терминал / вкладку в терминале. фоновые задачи требуют достаточно сильного перетряхивания архитектуры.
> но зачем? в XXI-м веке можно открыть ещё один терминал / вкладку
> в терминале. фоновые задачи требуют достаточно сильного перетряхивания архитектуры.Фоновую задачу в стек для приложения запустить - сильное перетряхивание? Серьёзно?
> Фоновую задачу в стек для приложения запустить - сильное перетряхивание? Серьёзно?да. серьёзно.
действительно, ведь какая разница хирургу: аппендикс ли вырезать, ногу ли отпиливать… всё равно резать ведь!
> действительно, ведь какая разница хирургу: аппендикс ли вырезать, ногу ли отпиливать…
> всё равно резать ведь!если ваш хирург при аппендиците ногу отрезает, то собственно разницы нет, согласен...
Речь то не о постановке диагноза, а о выздоровлении организма. Правда?P.S.:
а насчёт:
>> в XXI-м веке можно открыть ещё один терминал / вкладку в терминале.Ну так, судя по логике, незачем пользоваться MC, просто: ls *args; cp file1 > file2 ? Долго? Неудобно? Ненаглядно? Да пофиг! Зато аппендикс на месте и пузо не резали!
ну так взял — и добавил, в чём проблема-то? там же ничего перетряхивать не надо, дел на часик под пивко.
> ну так взял — и добавил, в чём проблема-то? там же ничего
> перетряхивать не надо, дел на часик под пивко.:) почти убедили, но если я на все языки и во все проекты буду нос совать - на свои времечка не останется, увы...
UPD:
Давайте заниматься каждый своим, но от души и чтобы комар (djbaldey в частности) носа не подтачивал!
ну, тогда изволь поверить, когда тебе говорят, что надо перетряхивать. или проверь сам.если у тебя нет опыта с этой кодовой базой, и некто сказал тебе, что это достаточно сложно, то или поверь (возможно, сказавший это не просто так сказал), или спроси напрямую у разработчиков, сайт-то известен.
да, это можно сделать. но или кривыми хаками, или перетряхивать архитектуру, если делать нормально. mc — далеко не лучший образец кода, хотя его и подчистили в последние годы. конечно, ребята могли плюнуть и начать писать свой mc, с нуля, правильно и красиво. но таких проектов уже было, и все счастливо умерли. поэтому — миримся с тем, что есть. или таки пишем свой, с нуля и красиво. вон, как товарищ с Wal Commander (нет, не тот, который с гитхаба).
p.s. Wal Commander — это про «с нуля», а не про «красиво».
> ну, тогда изволь поверить, когда тебе говорят, что надо перетряхивать. или проверь
> сам.
> если у тебя нет опыта с этой кодовой базой, и некто сказал
> тебе, что это достаточно сложно, то или поверь (возможно, сказавший это
> не просто так сказал), или спроси напрямую у разработчиков, сайт-то известен.Прошу прощения, но не верю, что организовать потоки в "только что" реструктуризованном (http://www.opennet.me/opennews/art.shtml?num=22834) коде сложно, либо невозможно. Может хорошо заявили, но плохо сделали? Или не задумались?
> конечно, ребята могли плюнуть и начать
> писать свой mc, с нуля, правильно и красиво. но таких проектов
> уже было, и все счастливо умерли. поэтому — миримся с тем,
> что есть.миримся и пользуемся, но высказываем мнение, что не так-то?
> миримся и пользуемся, но высказываем мнение, что не так-то?мнение было в #18. в #20 я сказал, что это сложно. дальше пошло пальцегнутие, оперирование понятиями «верю/не верю» и всякая ерунда.
> мнение было в #18. в #20 я сказал, что это сложно. дальше
> пошло пальцегнутие, оперирование понятиями «верю/не верю» и всякая ерунда.Про ерунду - это лично Ваше мнение, про пальцегнутие - может в #20(Ваше) и как следствие в #23(моё)? Ну а про понятия «верю/не верю» - это к Станиславскому или гоп-стопу, я "на ты" не переходил, заметьте, ни разу.
По существу, кроме: 'невозможно' и 'проверь сам', комментировать нечем?
>но зачем? в XXI-м веке можно открыть ещё один терминал / вкладку в терминале. фоновые задачи требуют достаточно сильного перетряхивания архитектуры.Пример: приходит знакомый, приносит винт, просит закинуть музыки/фильмов/etc. Начинаешь просматривать, что есть и записывать. Если писать в несколько потоков, скорость записи/чтения падает. Если запись ведется под "завязку", то удобнее когда один файл или директория не влезла, чем 5-10, которые придется чистить.
По поводу сложности: https://www.midnight-commander.org/ticket/2240
Фактически в mc уже есть фоновые операции, но нет очереди и нормального UI - невиден прогресс операции.
> Фактически в mc уже есть фоновые операции, но нет очереди и нормального
> UI - невиден прогресс операции.насколько я помню, по этому поводу в mc был говнокод и пичалечка. судя по всему, особо ничего не поменялось, потому что путь от «фактически есть» до «вот рабочая фича» — он длинный, и затрагивает много разных мест.
(про говнокод — это не претензия, это сожаление о чудесном legacy)
> насколько я помню, по этому поводу в mc был говнокод и пичалечка.
> судя по всему, особо ничего не поменялось, потому что путь от
> «фактически есть» до «вот рабочая фича» — он длинный, и затрагивает
> много разных мест.Ну не все так плохо, там патч на 1.5KB и очередь готова. UI нужно отдельно править.
> (про говнокод — это не претензия, это сожаление о чудесном legacy)
Жаль, что возродили последний mc, а не mc-light.
> Ну не все так плохо, там патч на 1.5KB и очередь готова.
> UI нужно отдельно править.успехов тогда. без сарказма, если что.
> Жаль, что возродили последний mc, а не mc-light.
в код последнего не смотрел. так кто-то свинарник поразгрёб? гвозди бы делать…
> в код последнего не смотрел. так кто-то свинарник поразгрёб? гвозди бы делать…Он основан на более старой версии, она была почище, насколько помню, даже glib не тянет за собой: http://mc.linuxinside.com/cgi-bin/dir.cgi
спасибо. я в курсе, что такой форк был, просто как-то не довелось поковыряться. их (mc) в своё время нафоркали несколько штук, если мне память не изменяет. и ещё сайты со всякими патчами от умельцев были.
p.s. тогда уже и многопанельность бы вместо двухпанельности…
> p.s. тогда уже и многопанельность бы вместо двухпанельности…Тут уж точно все переделывать придется :) Вот если бы табы для каждой панели ...
> Вот если бы табы для каждой панели ...по-моему, технологически это почти одно и то же. то есть, в любом случае переделывать из состояния «есть ТА панель и ЭТА панель» в состояние «есть панели, пить панели».
> по-моему, технологически это почти одно и то же. то есть, в любом
> случае переделывать из состояния «есть ТА панель и ЭТА панель» в
> состояние «есть панели, пить панели».Мне реализация табов представляется следующим образом:
1. добавляем кнопки, изображающие табы для панелей
2. при нажатии на таб меняем путь в панели, позицию курсора и выделение.Таким образом переделка UI минимальна, все остальное работает как и раньше - ведь фактически мы просто меняем путь в одной и той же панели.
> Мне реализация табов представляется следующим образом:
> 1. добавляем кнопки, изображающие табы для панелей
> 2. при нажатии на таб меняем путь в панели, позицию курсора и
> выделение.бесполезно, если нельзя создать несколько «panelized»-табов. пути и из истории добыть можно, дело нехитрое и неинтересное.
алсо, такая реализация будет атомно тормозить на больших каталогах (привет, $HOME с кучей дот-файлов в режиме «не скрывать доты»), а потому станет наполовину неюзабельной.
UI же и для «мультипанелей» менять не надо. просто добавить хоткей «выбрать панель» (примерно как сейчас для редакторов-просмотрщиков), и заменять текущую панель на выбраную. то есть, изменений даже меньше, чем в варианте с табами.
> алсо, такая реализация будет атомно тормозить на больших каталогахНе будет. У меня есть директория в которой 12500 поддиректорий (кэш polipo) - первый вход в нее занимает 10 секунд, повторный вход: 0.2 - 0.3 секунды.
P.S. Я думал что "многопанельность" это когда три-четыре панели сразу на экране ;)
>> алсо, такая реализация будет атомно тормозить на больших каталогах
> Не будет. У меня есть директория в которой 12500 поддиректорий (кэш polipo)
> - первый вход в нее занимает 10 секунд, повторный вход: 0.2
> - 0.3 секунды.а потом оно из кэша йок — и опять… лично меня бы взбесило очень быстро. до очередного комментария типа «криворукие дятлы опять сделали то, чем сами не пользуются!», рождённого досадой за испорченую фичу.
> P.S. Я думал что "многопанельность" это когда три-четыре панели сразу на экране
> ;)а, пардон. это я криво выразился, конечно. зачем их больше-то? помнится, был такой pie commander во времена DOS, с возможностью целых четыре панели на экране иметь. все обалдевали, но никто не использовал. ;-)
(мечтательно) а если бы ещё возможность очередь копирования в отдельной панели смотреть… это же идеальный интерфейс для очередей и фоновых файловых операций, чудесно ложащийся во «всё на свете — панель!»
p.s. кстати, тогда бы и фоновое сканирование каталога отлично покатило. открыл панель там, где файлов дофига — начало сканировать. в это время переключился на другую панель, а прошлая на фоне продолжает файлы собирать.
>...э-э-э-э-э- табы. Ctrl-Enter юзаете ваще?
Использую для быстрого перехода в несколько часто используемых директорий. Но это не подходит когда нужно раскидать файлы из одной директории в две/три другие.
> Но это не подходит когда нужно раскидать файлы из одной директории в две/три другие.Вот, зато научишься планировать структуру FS, чтоб типы данных валялись на одном уровне,
с шагом в один каталог.
>> Но это не подходит когда нужно раскидать файлы из одной директории в две/три другие.
> Вот, зато научишься планировать структуру FS, чтоб типы данных валялись на одном
> уровне,
> с шагом в один каталог.А еще лучше валить все в корень и не использовать директории вообще. Тогда не только табы не понадобятся, но и вторая панель ненужна :)
> Использую для быстрого перехода в несколько часто используемых директорий. Но это не
> подходит когда нужно раскидать файлы из одной директории в две/три другие.Дысь, ... команды mv, cp, mkdir, .... cразу выкинуть можно.
в утилях порезать флаги -r, -R, --recursive, --depth
сискалы mkdir/chdir тоже выкинуть.
Если бы не юзера, операционки занимали бы 2 мега и работали бы в 640к!
Видюх, камер, мышей, звуковух, ваще не было..., а то от них одни глюки в системах.И ваще, - Админ должен быть приятным и красивым дополнением компьютера!
Каждый компьютер должен гордиться и любить своего админа!
Кормить, е...ать и давать денег!
Красивый, умный, нежный и ласковый админ - гордость настоящего компьютера!
> э-э-э-э-э- табы. Ctrl-Enter юзаете ваще?поскольку это ничем не отличается от простого enter, то зачем?
> p.s. кстати, тогда бы и фоновое сканирование каталога отлично покатило. открыл панель
> там, где файлов дофига — начало сканировать. в это время переключилсяУ меня на кнопке Shift-F12 забиндено рожание нового xterm c mc
> У меня на кнопке Shift-F12 забиндено рожание нового xterm c mcАналогично. Использую связку st+tabbed. ctrl+t новый таб с башем, ctrl+m новый таб с mc. Но в некоторых ситуациях независимые табы для каждой панели были бы удобнее.
> У меня на кнопке Shift-F12 забиндено рожание нового xterm c mcя очень рад за тебя. у меня в терминалке таких сочетаний больше, на всякий вкус. что никак не решает проблему с медленным сканированием и отсутствием дополнительных панелей. а, и хреновым редактором, конечно, у которого постоянно ломается подсветка и нет нормального скриптования.
> в терминале. фоновые задачи требуют достаточно сильного перетряхивания архитектуры.Не понял? Там уже есть фоновое копирование сто лет?
>> в терминале. фоновые задачи требуют достаточно сильного перетряхивания архитектуры.
> Не понял? Там уже есть фоновое копирование сто лет?было некоторое время, потом без шума и пыли пропало. потому что работало хреново и не вписалось в рынок.
выпустили бы полноценный консольный web браузер. Цены бы ему не было!
> выпустили бы полноценный консольный web браузер. Цены бы ему не было!С флешем и html5 ? :)
> выпустили бы полноценный консольный web браузер. Цены бы ему не было!ну, адаптируй хромого для framebuffer. будет у тебя в консоли запускаться. но зачем?
> ну, адаптируй хромого для framebuffer. будет у тебя в консоли запускаться.Вот только фреймбуфер - не консоль.
>> ну, адаптируй хромого для framebuffer. будет у тебя в консоли запускаться.
> Вот только фреймбуфер - не консоль.ломающие новости!