1-го февраля 2009 года вышел официальный релиз Midnight Commander-4.6.2. Этот релиз, в основном, является багфикс-релизом, предназначенным для исправления многих многолетних ошибок.
Основные исправленные ошибки:
Была переписана значительная часть бэкенда по работе с симлинками через fish (у кого зависал mc при копировании симлинков через «Shell-соединение», тот поймёт о чём речь).
Работает эскапирование (escape) для автодополнения и для командной строки. Раньше невозможно было работать с файлами или каталогами, содержащие спец.символы либо пробелы в начале/конце имени.
Примечание: релиз не содержит официальной поддержки UTF-8 (запланирована на ветку 4.7 в недалёком будущем). Но разработчики знают о востребованности UTF-8 в mc, поэтому был создан git-тэг с UTF-патчами (MC-4.6.2-utf8). Для маинтейнеров дистрибутивов: после получения клона репозитория просто выполните команду для получения патча:
14 декабря 2008 года вышел релиз Midnight Commander версии 4.6.3.
Список основных изменений:
Подсветка файлов по расширению.
Исправлен "озабоченный" шелл (вернее, не совсем исправлен... просто большая проблема заменена на меньшую).
Debian-патчи: синтаксис и распознавание apt/deb по расширениям.
Добавлен файл подсветки awk.syntax и значительно расширен css.syntax.
Debian-патчи: исправления в переводах и в подсветке синтаксиса BASH.
Убрано предупреждение о невозможности сменить права.
Кодировка панелей (при однобайтной системной кодировке).
Перекодировка файлов при редактировании и просмотре.
Переключение режимов отображения панелей (вертикальное/горизонтальное разделение) по нажатию на сочетание клавиш ALT+,(запятая).
Переключение режимов отображения скрытых файлов и каталогов по нажатию на сочетание клавиш ALT+.(точка).
Добавлена возможность включать/выключать автоотступ в редакторе при нажатии на комбинацию клавиш ALT+i. Полезно при вставке текста из буфера обмена.
Добавлена подсветка синтаксиса для C++ из Debian, с поддержкой Qt макросов. Для спецификаторов доступа public/private/protected сделан цвет brightmagenta, т.к. это улучшает визуальное восприятие классов.
При ошибочном соединении (ssh, например) происходит перерисовка экрана, т.е. убраны артефакты после неуспешного соединения, также убраны артефакты при успешном ssh-соединении в первый раз.
Добавлена возможность задания номера порта при ssh-соединении;
> Последний раз, когда щупал федору на десктопе - не порадовало то, что при действиях, которые требуют рутовые привилегии, запрашивался рутовый пароль, а не пользовательский (т.е. использовался аналог gksu, а не gksudo, как в той же Ubuntu)
Разобрался с созданием (qgis) и публикацией (mapserver+ php_mapserver.so)
Не разобрался с привязкой созданного к реальным координатам, а также как в qgis абсолютно точно начать делать в необходимом масштабе. Вообще, если кто сталкивался, ткните в толковый мануал по системам координат - что за они, какие бывают, как переводятся из одной в другую. Я просто ньюб в этом направлении, в море инфы от гугля просто потерялся :(
P.S. После окончательного "вьезжания" в суть технологии обещаю где-нить выложить толковое howto... если его ещё нету.
Сабж, собственно. Язык реализации роли не играет - где будет решение, на том языке и напишу.
Необходимо узнать, кто удалил/переместил/изменил файл/каталог. Если при создании можно просто натравить fstat(), то при перемещении/изменении fstat покажет user/group, каким оно было при создании... при удалении вообще скучно :(
Сначала простенький пример:
----------------------------------------------------------------
#!/usr/bin/perl -w
use strict;
use threads; use threads::shared;
use AnyEvent;
use Net::XMPP2::IM::Connection;
my $dest='myjabberaccount@gmail.com';
my $j = AnyEvent->condvar;
#my $timer;
my $thr2;
my $Con = Net::XMPP2::IM::Connection->new ( jid => 'testaccount@gmail.com', password => 'someC00lPasswdd',
initial_presence => -10, debug => 1);
sub ListenForMessages {
async {
while (1){
print "Sending message inside timer\n";
my $immsg = Net::XMPP2::IM::Message->new (to => $dest, body => "ttteessstt from timer");
$immsg->send ($Con);
sleep 5;
}
};
# $timer = AnyEvent->timer (after => 5, cb => sub {
# print "Sending message inside timer\n";
# my $immsg = Net::XMPP2::IM::Message->new (to => $dest, body => "ttteessstt from timer");
# $immsg->send ($Con);
# sleep 5;
# ListenForMessages();
# });
}
$Con->reg_cb (
session_ready => sub {
my ($con) = @_;
print "Connected as " . $con->jid . "\n";
print "Sending message to $dest:\n$msg\n";
my $immsg = Net::XMPP2::IM::Message->new (to => $dest, body => "ttteessstt"); $immsg->send ($Con);
ListenForMessages();
},
message => sub {
my ($con, $msg) = @_;
print "Message from " . $msg->from . ":\n" . $msg->any_body . "\n---\n";
},
error => sub {
my ($con, $error) = @_;
warn "Error: " . $error->string . "\n";
},
disconnect => sub {
my ($con, $h, $p, $reason) = @_;
warn "Disconnected from $h:$p: $reason\n";
$j->broadcast;
}
);
print "Trying to connect...\n";
$Con->connect ();
$j->wait;
--------------------------------------------------------------
Теперь пояснение: Приходит только "ttteessstt". Ни одна из мессаг "ttteessstt from timer" даже не пытается отправиться (судя по tcpdump). И ни через таймер, ни через async{} не работает. :(
Кто что может подсказать?
Есть г-н Павел Жуков (AKA Langraf) из компании Softline, утверждает, что при окончании срока техподдержки (окончании trial-периода) нужно удалять логотипы Shadowman и Red Hat. Собственно, обсуждение:
Сейчас 10 положенных для ответа дней пошли, думаем оформить результаты дискуссии на своей Wiki в виде вопросов и ответов. Предлагаю аналитикам ЛОРа проанализировать ситуацию и выразить свою точку зрения к данной ситуации (для облегчения обwikiвания)... только, плиз, без сопливого "XXX не нужен", "ждём ебилдов" и прочего детского маразма.