LINUX.ORG.RU

Сообщения ZLv

 

libgnome-keyring-devel

Ошибка. ОС: Fedora 13. Для установки пакета libgnomeui-devel через yum требуется libgnome-keyring-devel, но при установке этого пакета появляется следующее:

Ошибка: Пакет: libgnome-keyring-devel-2.30.0-2.fc13.i686 (fedora)
            Необходимо: libgnome-keyring = 2.30.0-2.fc13
            Установлено: libgnome-keyring-2.30.1-1.fc13.i686 (@updates-testing)
            Доступно: libgnome-keyring-2.30.0-2.fc13.i686 (fedora)
 Вы можете попробовать --skip-broken чтобы обойти проблему.
 Вы можете попробовать запустить: rpm -Va --nofiles --nodigest

подскажите что делать, чтобы установить пакет

ZLv
()

Программа для отправки сообщений smtp с произвольного сервера (что-то вроде MDA)

Нашёл в интернете, немного дороботал пример отправки сообщений через smtp. Ничего толкового не получилось, программа способна, так сказать, только отсылать спам — все попытки отправки сообщений к примеру через smtp.list.ru (или smtp.mail.ru) расцениваются как спам . Возможно тут какая-то проблемма с caller ID. http://www.cyberforum.ru/attachment.php?attachmentid=30469&d=1274270807

ZLv
()

Создание списка в gtk

Не знаю как сделать список для программы просмотра игровых серверов. Следующий вариант его реализации подсмотрел в программе xqf (http://www.linuxgames.com/xqf/index.shtml). Но список должен обновляться через некоторые промежутки времени, а в данной реализации происходят разные ошибки выполнения.

#include <iostream>
#include <gtk/gtk.h>
char titles[][30+1] = {"First","Second"};
GtkWidget* store;
pthread_mutex_t* mutex;
void m(int);
void* tick_temp(void*);
int main(int argc, char** argv)
{    
    gtk_init(&argc, &argv);
    GtkWidget* window = gtk_window_new(GTK_WINDOW_TOPLEVEL);
    gtk_window_set_default_size ( GTK_WINDOW(window), 600, 400);
    int sz=2;
    store = gtk_clist_new (sz);
    GTK_CLIST_SET_FLAG (GTK_CLIST (store), CLIST_SHOW_TITLES);
    GtkWidget* label,*alignment;
    for (int i=0; i<sz; i++)
    {
        alignment = gtk_alignment_new (0.0, 0.5, 0.0, 0.0);

        label = gtk_label_new (titles[i]);
        gtk_label_set_justify (GTK_LABEL (label), GTK_JUSTIFY_LEFT);
        gtk_container_add (GTK_CONTAINER (alignment), label);
        gtk_widget_show (label);

        gtk_clist_set_column_widget (GTK_CLIST (store), i, alignment);
        gtk_clist_set_column_width(GTK_CLIST (store), i, 151);
        gtk_widget_show (alignment);
    }
    GtkWidget* container = gtk_vbox_new(0,0);
    gtk_box_pack_end(GTK_BOX(container), store, 0, 0, 0);
    label = gtk_label_new ("UGABUGA!!!");
    gtk_box_pack_start(GTK_BOX(container), label, 0, 0, 0);
    gtk_container_add(GTK_CONTAINER(window), container);
    gtk_widget_show_all(window);
    
    struct sigaction act;
    act.sa_handler = m;
    sigemptyset(&act.sa_mask);
    act.sa_flags = 0;
    
    sigaction(SIGUSR1,&act,NULL);
    pthread_t thread;
    
    mutex = new pthread_mutex_t();
    
    pthread_mutex_init(mutex, NULL);
    pthread_mutex_lock(mutex);
    int res = pthread_create(&thread, NULL, tick_temp, NULL);
    pthread_mutex_unlock(mutex);
    gtk_main();
    
    delete mutex;
    
    return 0;
}
void* tick_temp(void*)
{
    int notfirst=0;
    while (1)
    {
        pthread_mutex_lock(mutex);
        if(!notfirst++) sleep(0.3);
        kill(getpid(),SIGUSR1);
        pthread_mutex_unlock(mutex);
        sleep(1);
    }
}
void m(int)
{
    pthread_mutex_lock(mutex);
    int sz=2;
    char** text;
    text = new char*[sz];
    static int count = 0;
    
    gtk_clist_clear (GTK_CLIST (store));
    int sts = 8;
    for (int i=0; i<sts; i++)
    {
        count++;
        text[0] = new char[50]; text[1] = new char[50];
        sprintf(text[0],"What the fuck!?");
        sprintf(text[1],"%d",count);
    
        gtk_clist_insert(GTK_CLIST (store),i,text);
    }
    pthread_mutex_unlock(mutex);
}

ZLv
()

RSS подписка на новые темы