пока ждете — попробуйте Double Commander
очень приличный двухпанельник на QT, который к тому же развивается постоянно.
Я им деже на винде пользуюсь, вроде даже есть и под мак
рад что вам понравилось))
это, кстати не совсем порт, но ребята конечно вдохновлялись TC, но я даже им пользуюсь и на винде на работе) хоть у нас купленный ТС есть;)
Я давно его пробовал, был настолько сырой, что как-то плюнул на него и забыл.
Сейчас вспомнил, попробовал… он стал совсем другой! Во-первых замечательно работает, стабильно, шустро. Во-вторых много настроек, 5 минут — и конфетка!
Рад за проект.
Мне он не нравится своей вырвиглазностью, отсутствием поддержки gnome-окружения (да хотя бы ассоциаций файлов), отсутствием поддержки буфера обмена и многим другим. В графическое окружение он не вписывается, а в консоли я прекрасно обхожусь ls и cd. Наверное, я просто не попадаю в его целевую аудиторию.
Каким образом? xdg-open недавно добавили, а раньше ассоциации через mc.ext настраивались. Замучаешься добавлять туда все что нужно, к тому же никакой интеграции с gnome или kde или чем-то еще.
Есть у него ассоциация файлов, но своя. Активно пользуюсь под маком запуская mplayer на всякие *.avi :)
mc — нормальный олдскульный коммандер, а все остальное от Лукавого или для новичкофф :)
С клавы, да, неудобно. А для мышки походит. Просто у вас не написано, что акцент на максимизации использования клавы (да, сказано, что можно, но так и из наутилуса можно).
На счёт потоков… Делайте операции отдельными процессами, так как во-первых, при падении дочернего не упадёт главный, второе, так как дочерние процессы будут относительно редко использоваться (чай не вебсервер, где потоки создаются по 3 на секунду) и их будет мало, то всё же лучше форкать основной процесс. Зависший процесс вешает всю апликуху. Яркий пример это фаерфокс, где залупившийся поток может на долгие секунды повесить весь браузер.
А почему потоки должны падать? Предполагается, что при корректной работе программы потоки падать не должны. Если поток почему-то виснет, основной GUI программы не виснет. При некорректной работе программы запросто может упасть основной процесс, так что ни процессы, ни потоки нас уже не спасут.
Пока я не понял, чем в данной ситуации процессы лучше.
Можно спросить, вы F3 нажимали в Nautilus?
Жаль, это выпилили в Nautilus, который в Ubuntu 12.10.
После сего печального для меня события перешел на Marlin.
Тогда посмотрите на Marlin, сейчас мне он кажется самым удобным вариантом, но он тоже очень молодой, и двух панелей там пока нет, только табы. Если у вас будут обе вещи при том же удобстве — это будет идеально.
Удачи!
Обязательно посмотрю.
Я когда-то пользовался табами в Total Commander, но это оказалось неудобно. У меня накапливалось 5-8 разных табов, и найти среди них нужный было совершенно невозможно (тем более, что нужная папка могла быть не точно такой же, как в табе, а, например, его родительской папкой). В итоге я закрывал все табы и открывал нужную папку заново. Сталкивались ли вы с этой проблемой?
Мне кажется, использование навигации по списку последних посещенных папок и возможность создания закладок вполне заменяют табы. Но, может быть, иногда табы полезны.
У меня обычно до 4 табов.
Когда подключаюсь по sftp к серверу — открываю в одной 4 локальных папки в табах, а во второй панели 4 точно таких же папок, только на удалённом сервере. Получается достаточно удобно, вместе до 8 табов в окне получается. Сейчас приходится вместо панелей открывать новые окна, но схема в целом та же.
Поиска нет, первые версии у меня в 12.10 при запуске наглухо висли, сейчас нормально.
Ищу что-то очень не часто, для этого можно и в Nautilus зайти.
На счёт доделан — да, вполне юзабелен. Пользуюсь уже месяц, если не больше. Выглядит компактнее Nautilus, и постепенно наращивает функции, а не теряет их.
> не реализованы многие функции (и самая важная из них — управление файлами)
> файловый менеджер
Поделил на ноль.
Непонятно, зачем выкладывать в паблик сырой проект в начальной стадии разработки, который ещё не умеет выполнять даже самых основных действий, для которых, собственно, и нужен файловый менеджер?
Кстати, по скриншоту непонятно, как перейти в родительский каталог. Где ".."?
Это opensource проект, фактическии он с самого начала в паблике. Да и лучше выложить сырой проект, но обсудить его с сообществом, чем несколько месяцев его делать, а потом обнаружить какую-то фатальную ошибку в проектировании.
В родительский каталог можно перейти по настраиваемому хоткею, который по умолчанию установлен на backspace. Или с помощью клика по строке кнопок в верхней части окна. Элемент ".." убран за ненадобностью.
А как же люди привыкшие нажимать Home -> Enter? Мне кажется что оставить ".." для «совместимости» было бы неплохо.
И еще было бы неплохо добавить настройку действий с файлами как в FAR. Например, по умолчанию для расширения *.txt по F3 открывается стандартный вьювер, по F4 — редактор, но можно переназначить программы которые будут запускаться по данным комбинациям (F3, F4, Shift + F3, Shift + F4, Enter, Shift + Enter).
Планируемая система управления всем с клавиатуры в любом случае будет непривычной. А Home -> Enter — это совсем мелочь, переучиться несложно.
Просмотр и редактирование по F3/F4 уже есть, переназначить комбинацию клавиш и задать соответствующие программы в настройках уже можно. Позже будет встроенный viewer с поддержкой разных типов файлов.
Он не несет смысловой нагрузки, а всё, что не несет смысловой нагрузки — плохо, я люблю минимализм. Еще этот элемент мешает визуально оценить число файлов: вместо трех строк я вижу четыре, а вместо пустого списка — одну строку. На самом деле, конечно, это всё субъективно. Я уже думаю, что стоит сделать возможность включить отображение этого элемента для тех, кто его любит.
тоже долго искал замену тоталу. в итоге остановился на Double Commander когда нужно много работать с фс, для простых операций использую наутилус в двухпанельном режиме, ну а на серверах естественно mc. но как сказали выше:«Альтернатива — это всегда хорошо.» — попробуем и ваш велосипед:)
Заявленная цель прекрасна. Только текущий вариант имеет с ней мало общего. Как уже было сказано: кому нужен файл менеджер без возможности управлять файлами? Я от всей души желаю сил и терпения довести этот проект до ума, но писать посты о программах в такой степени готовности — это лишнее.
Windows Total Commander — единственное, о чём я до сих пор сожалею, перейдя с Винды на Убунту. Если вы реализуете те же хоткеи, и тот же функционал (ну хотя бы основной) в своём менеджере — то цены ему не будет.
Интересная программа, надо будет посмотреть. Кстати, на видео как раз видна та проблема, о которой я писал: перед копированием программа делает «Searching for files». Собственно, на видео до копирования дело не дошло.
Не совсем верно. Это не Unix way делать комбайны. Лучше организовать хорошую интеграцию с существующими программами. Например, зачем реализовывать утилиту сравнения файлов если, например, этим прекрасно занимается meld. Тот же случай — групповое переименование файлов. Это тоже должна быть отдельная утилита.
А я, грешный, тотал коммандер через вайн запускал, потому-что ничего лучше его листера для просмотра логов сервера не нашел. А для остальных целей наутилуса с ф3 и табами хватало.
Я сторонник mc, но, тем не менее, желаю вам успешно довести данный проект до конца.
От себя добавлю, что в будущем, вероятно, система плагинов так или иначе потребуется, поэтому, возможно, стоит это учесть заранее.
Чтобы сделать систему плагинов, нужно представлять, что эти плагины должны уметь. Эмуляция различных файловых систем в Linux делается через GVFS, файловым менеджерам об этом заботиться не надо. Для чего еще могут понадобиться плагины? Какими полномочиями их наделить?
Возможно, стоит сделать лишь базовый функционал файлового менеджера. А все остальные дополнительные фишки делать через плагины? Может быть, так программа бы более активно развивалась сторонними разработчиками. Т.к. написать плагин с примерами и документацией проще, чем копаться в чужих исходниках и потом еще ждать «одобрения» этой фишки для релиза.
В общем, более гибко получается.
Я боюсь, файловый менеджер почти целиком состоит из базового функционала. Вот разве что поддержку архивов и просмотр файлов действительно можно отделить, как подсказали в комментарии выше.
Как я вижу, используется кроссплатформенный Qt. Вопос — почему сам проект при этом не кроссплатформенный? Зачем сразу жестко завязывать на Linux? Под тем же маком не то чтобы сильно больше двухпанельных файловых менеджеров :)
Изначально программа делалась для конкурса Ubuntu, поэтому поддержка Ubuntu-специфичных вещей была важнее. Делать версию для Windows пока не считаю нужным, для Windows и так файловых менеджеров огромное количество. Про мак даже не думал, у меня нет компьютера с Mac Os, с ее инфраструктурой и ПО я не знаком. Поэтому версию для маков я просто не могу сделать.
При необходимости портирование на другую ОС не составит проблем. Достаточно реализовать компиляцию без поддержки Linux-специфичных библиотек (на данный момент это только GIO). Весь остальной код кроссплатформенный.
Мне в свое время как GTKшная замена Total Сommander наиболее приглянулся Tux Commander с поддержкой кнопок ярлыков, FTP, архивов как папок, и более мение шустрой отзывчивостью, правда уже три года как не обновляется
> Все операции, связанные с файловой системой, выполняются в отдельных потоках.
Поподробнее пожалуйста. Рассматривался ли асинхронный IO, используется ли пул потоков, и прочие радости жизни расписать бы. Вот это был бы годный пост, заодно и советов, может быть, надавали бы.
В настоящий момент чтение содержимого папок выполняется в одном отдельном потоке, но это оказалось плохим решением, потому что один медленный запрос приводит к задержке выполнения остальных запросов. Видимо, здесь придется переделать на пул потоков. Для операций копирования и т.п. создается новый поток для каждой очереди. Общение между потоками осуществляется через сигналы и слоты Qt, это удобная, безопасная, неблокирующая система. Работа с GIO (точки монтирования, типы файлов, ассоциации) происходит через асинхронное API. Асинхронный IO не рассматривался, но спасибо за идею, теперь рассмотрю.
Посмотрите в сторону QtConcurrent, он очень легко позволяет использовать счастье многопоточности с использованием thread pull'а, возможно и код станет короче :)
Исоходный код FARа открыт, можно там подсмотреть логику работы многих функций, или просто посмотреть как это написано, переделав под свой проект. Или еще проще посмотреть в исходниках родного MC.
Удачи, приятно было бы увидеть хороший файловый менеджер на Си и Qt.
Проблема почти всех двухпанельных менеджеров в Linux — плохая поддерка консоли. Два единственных исключения: mc и Xnc. Первый не иксовый, второй давно заброшен (что печально).
То есть удобное управление с клавиатуры — это, конечно, хорошо. Но без прозрачного ввода команд не могу представить, что он оказался бы мне полезен. Впрочем, наверняка найдутся те, кому ваша программа будет полезна.
хорошая поддержка консоли = возможность использования полноценного шелла.
с буфером вывода, прокручивающимся без необходимости запускать less
с историей команд, желательно как в readline (с поиском по ctrl-r, без дублирования одинаковых команд)
с автодополнением, желательно как в ubuntu-bash (/etc/bash_completion.d)
реализация как в mc (с дочерним шелл-процессом) весьма хороша, хотя история команд путается
Что-то все желают удачи и идут мимо, а человек ведь пишет: «буду рад помощи», так давайте спросим про номер кошелька Webmoney или PayPal и кинем ему кто сколько сможет? Вероятность, что что-то у него получится, сильно повысится.
Riateche советую присмотреться к виндовому менеджеру Directory Opus, в нем есть крутые штуковины, которые даже Total не умеет, было бы круто еслиб они были в вашем ФМ. И думаю роадмап не помешал бы ))
На Windows я считал самым известным двухпанельником Total Commander. Возможно у него и следует подсмотреть удачные идеи. Особенно меня привлекает идея расширяемости за счет плагинов.
SpaceFM, вроде ещё не советовали. Развивается не очень активно, но по соотношению легкость/функциональность очень-очень хорош. Он многотабовый и многопанельный, позволяет извращаться при работе с файлами как ни один другой мне встречавшийся.
А я внезапно влезу с предложением добавить жесты мыши а-ля Thunar. Невероятно удобная вещь. Да, я понимаю, что здесь упор на клавиатуру, но иногда бывает проще воспользоваться мышью. По той же причине, кстати, не стоит совсем убирать кнопки, дублируемые клавиатурными сочетаниями, стоит просто предоставить возможность их отключения.
Каждый столбец занимает столько, сколько необходимо для отображения его содержимого. В будущем можно будет выбирать видимые столбцы и менять их местами, чтобы на виду было самое нужное.
Я думаю вертикальная сетка это лишнее. Может быть стоит сделать выделение строк фоном и не сеткой? При своих недостатках в Nautilus 2.30.1 отображение данных сделано классно.
Моей идеей-фикс является написание своего файлового менеджера, теперь уже, с широким использованием QT, мультиплатформенного. Идей — полно, даже части их реализации я ни у кого пока не видел ;)
Раз уж автор просил подкидывать идеи, то вот ещё одна: временный переход под sudo для выполнения дисковых операций или записи отредактированного файла когда под текущем пользователем для такого действия прав не хватает. Я такого в Линуксе пока не встречал ни в каком виде.
У меня есть одно замечание. Пожалуйста, не надо пользоваться стандартными системными элементами для вывода списка файлов. Это смотрится ужасно. Честно. Раз — они слишком большие. Два — они тащат из темы всякие градиенты. Три — соответствие темам не всегда играет на руку. Например, у меня стоит светлая тема интерфейса, а я хочу темные панели.
В том самом Gnome Commander'е панели намного удобнее, чем в скриншоте в начале поста. Хотя и к нему есть серьёзные претензии.
Берите пример с Total Commander. Полностью настраиваемые цвета, настраиваемый курсор, все минималистично и приятно. Ни одного лишнего элемента или пустого пикселя. Кстати, еще одна деталь, которую стоит скопировать: в ТС, если значение, например, размера не помещается в ширину поля, оно выходит за его границы. Вот так.
Если вам кажется, что обычная таблица в вашей системной теме выглядит ужасно, это повод сменить тему оформления. Меня внешний вид моей темы вполне устраивает. Впрочем, соглашусь с вами в том, что нужно уменьшить размеры элементов и дать пользователю возможность настроить цвета. С границами тоже что-то нужно сделать.
А скриншот, который вы приложили во втором комментарии, по-моему, показывает плохой пример: в колонке «размер» почему-то свободное место, при этом тип и размер оказались в одной куче. Совершенно нечитаемо. Но это уже вопрос реализации. Вообще, эта опция действительно будет полезной.
Ridual — новый файловый менеджер для Ubuntu