LINUX.ORG.RU

Сообщения robert_foster

 

Простой способ работы с DBus в Python?

Привет всем!

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

Что успел понять. Есть три пути:
1) dbus-python: старый неподдерживаемый биндинг к libdbus
2) биндинги для Glib
3) биндинги для Qt

Первый вариант не рекомендуют сами создатели либы, третий, признаюсь, еще не смотрел, изучал что там с рекомендуемым Glib. И чет приуныл в результате. Конкретно по работе с DBus не могу найти туториалов, по биндингам к этому модулю документация околонулевая, есть только сишная по отдельным классам, а как их вместе использовать - непонятно мне.

Гхм, в общем, вопрос - кто какой путь посоветует, как сами делали подобные вещи?

 ,

robert_foster
()

Перенести окно на другой рабочий стол

Привет всем! Пишу на досуге свою панель задач на питоне с использованием Xlib и Qt. Возникла проблема с перемещением окна на другой десктоп:

from Xlib import *
dsp = display.Display()
window = dsp.create_resource_object('window', 0x03400052)
window.change_property(dsp.intern_atom("_NET_WM_DESKTOP"), Xatom.CARDINAL, 32, [0L])
Id окна я получаю из _NET_WM_CLIENT_LIST, но для простоты воспроизведения его можно взять из вывода wmctrl -d

В качестве WM - KWin.

Результат выполнения для меня непонятный: в выводе xprop -id 0x03400052 значение меняется, в пейджере КДЕшном окно перезжает на нужный десктоп, но вот само окно где было там и осталось.

 ,

robert_foster
()

Почем нынче зубы полечить в Москве?

Приветствую! Назрела необходимость капремонта зубов, долго я их игнорировал -_-
Пошел в клинику, насчитали мне там примерно 120 тыр за 4 пломбы и две коронки на жевательных зубах.
Сориентируйте, пожалуйста, это меня в мажорную клинику занесло или так и есть все нынче?

robert_foster
()

Как влить новую ветку в основную без её промежуточных коммитов?

Всем привет! Есть вопрос по гиту, поясните, пожалуйста.

Суть такова. Вот я создаю новую ветку для добавления багофичей. В ней делаю промежуточные коммиты - без них никак, иногда на разных машинах приходится работать. Потом хочу влить свои художества в основную - и как бы мне сделать, чтобы промежуточные коммиты не вылезли в основной? С простым merge они как раз появляются. Или может вообще такая схема работы неправильная?

 

robert_foster
()

Можно ли использовать favicon'ы поисковиков в своей программе?

Приветствую!
Как думаете, могу ли я использовать favicon'ы поисковиков в своей GPL-ной программе, если в диалоге «О программе» написать что торговые марки и значки являются собственностью своих правообладателей? Ну или как-то так. На самих сайтах поисковиков не смог найти нужной информации, там больше написано про условия пользования их сервисами. Может стоит в их саппорты написать?

Делаю на досуге апплет для гномовской панельки для поиска в Сети:
http://img683.imageshack.us/img683/3461/29851792.png

robert_foster
()

[Qt] Вопрос по кодировкам

Привет всем! Не могу никак понять, в чем проблема. Если конструкцию

    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);
закомментировать, то обе строки отображаются нормально, зато неправильно отображаются нулевые символы. Если оставить, то строка получаемая из dict.cpp, отображается кракозябрами. Системная кодировка - юникод.

main.cpp

#include <main.h>

int main(int argc, char *argv[])
{
    QTextCodec *codec = QTextCodec::codecForName("UTF-8");
    QTextCodec::setCodecForLocale(codec);
    QTextCodec::setCodecForCStrings(codec);

    qDebug() << str;

    QString str2("ТЕСТ");
    qDebug() << str2;

    qDebug() << str[0];
    qDebug() << str2[0];

    return 0;
}

main.h

#ifndef MAIN_H
#define MAIN_H
#include <dict.h>
#include <QString>
#include <QDebug>
#include <QTextCodec>

#endif // MAIN_H

dict.cpp

#include "dict.h"
QString str = "ТЕСТ";

dict.h

#ifndef DICT_H
#define DICT_H
#include <QString>
extern QString str;
#endif // DICT_H

 

robert_foster
()

[youtube] Typical Linux User

 

robert_foster
()

[противникам user-friendly дистров] А почему свободное ПО не может быть доступным для всех?

Давно вот хотел поинтересоваться у воинствующих элитариев: а почему свободное ПО должно быть уделом только технически грамотных пользователей? Что вам плохого сделают домохозяйка Маша и школьник Петя, поставив ту же самую Убунту или Мандриву? Почему они не заслуживают свободы, которой так гордятся Линукс-юзеры? Я считаю, что это самая настоящая дискриминация по уровню технической подготовки и социальному статусу. Стыдно, товарищи.

robert_foster
()

[Jamendo] [folk, blues] Robin Grey

http://www.jamendo.com/en/album/30315
Захотелось вот с вами поделиться.

Вчерась искал информацию по третьему гному, в обзоре на Ютубе первый трек из этого альбома играл, так и нашел. Замечательные вещи порой можно на Jamendo встретить.

robert_foster
()

[ЖЖ] Постоянное дежавю

В последнее время все чаще чувствую, что «где-то я это уже видел и слышал». Дошло до того, что глядя на свой десктоп, мне кажется, что я уже видел подобный скриншот на ЛОРе. С такой же обоиной и таким же оформлением. Хотя смастерил это дело только вчера.

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

Блин, то ли лыжи не едут...

 

robert_foster
()

Ubunchu 3

Третий выпуск вышел «оперативненько», всего-то полгода прошло. Вроде еще не обсуждалось.

История очень трогательная получилась, я чуть было не прослезился. Уверен, что бедную девочку так травмировал ЛОР, переведенный гугль-транслейтом. http://seotch.wordpress.com/2009/11/25/ubunchu03/

robert_foster
()

[WTF?!] Что-то ОЧЕНЬ странное с Qt в Убунте 9.10

Попытался вот собрать свой институтский проект под недавно установленной убунтой 9.10. Смотрю - не собирается и вываливает кучу ошибок. Полез копаться, дошел до кутешных заголовков и, мать честная, что я там вижу!
http://img163.imageshack.us/img163/9454/52873575.png (Optikn вместо Option)
http://img689.imageshack.us/img689/9699/36704070.png
http://img20.imageshack.us/img20/5809/20444164.png
Прямо диверсия какая-то. Что это за левые символы в /usr/include/qt4/QtGui/qstyle.h, ума не приложу.

robert_foster
()

Новая песня от группы OpenBSD

http://www.openbsd.org/lyrics.html#46
Ну и операционка свежая, конечно же.

robert_foster
()

Qt, С++, указатели, отчаяние.

Помогите, пожалуйста, диалог отладить. Есть класс DepartmentDialog. В нем объявлены модель model1 (QSqlTableModel) и представление view1(QTableView). Еще у класса есть метод add_row. Так вот когда обращаешься к model1 и view1 внутри DepartmentDialog::DepartmentDialog - все работает корректно, а когда из метода add_row - сегфолтится. Всю голову уже сломал :(

departmentdialog.h

#ifndef DEPARTMENTDIALOG_H
#define DEPARTMENTDIALOG_H
#include <QDialog>
#include <QtGui>
#include <QtSql>

//static QSqlTableModel model;

class DepartmentDialog: public QDialog
{
    Q_OBJECT
    public:
    DepartmentDialog(QWidget *parent = 0);

    private:
    QSqlTableModel *model1;
    QTableView *view1;
    QPushButton *add_button;
    QHBoxLayout *main_layout;


    public slots:
        void add_row();
        //void del_row();
};


#endif // DEPARTMENTDIALOG_H

departmentdialog.cpp

#include "departmentdialog.h"

#include <QDialog>
#include <QtGui>
#include <QtSql>

#include <dbconnectdialog.h>
DepartmentDialog::DepartmentDialog(QWidget *parent):QDialog(parent)
{
    //db.close();
    QSqlDatabase mydb = QSqlDatabase::addDatabase("QMYSQL");
    mydb.setHostName("localhost");
    mydb.setDatabaseName("mydb");
    mydb.setUserName("root");
    mydb.setPassword("something");
    mydb.open();

    QLabel *main_label = new QLabel("тест");
    QPushButton *add_button = new QPushButton("add");
    QHBoxLayout *main_layout = new QHBoxLayout;
    setLayout(main_layout);
    main_layout->addWidget(main_label);
    main_layout->addWidget(add_button);

    QSqlTableModel *model1 = new QSqlTableModel;
    model1->setTable("Departments");
    model1->select();

    QTableView *view1 = new QTableView;
    main_layout->addWidget(view1);
    view1->setModel(model1);
    view1->show();
    //Следующая строка всегда работает корректно:
    int row = model1->rowCount();
    qDebug()<< row;
    //add_row();
    connect(add_button, SIGNAL(pressed()), this, SLOT(add_row()) );
}


void DepartmentDialog::add_row()
{
    //А из-за этой происходит сегфолт:
    int row = model1->rowCount();
    qDebug() << row;
    model1->insertRow(0);
    model1->submitAll();
}

robert_foster
()

Аналог tiled WM для консоли

Видел когда-то такую вещь в галерее, да название забыл, напомните, пожалуйста.

robert_foster
()

[despair] Музыкальные плееры в Linux

Здравствуй, дорогой ЛОР. Захотелось мне поговорить, так сказать, о наболевшем.

Почему до сих пор, до сих пор, ёклмн, нет нормального аудиоплеера под линукс?! Был когда-то старый амарок, весьма близкий к идеалу, да помер вместе с третьими кедами. Казалось бы, добра-то! А вот и фиг.

Amarok 2 - память жрет как не в себя, over 120 мб! Безнадежно болен добавлением новых рюшечек и кривоватой плазмой посреди окна (отключается, да, но памяти это не сильно освобождает.) В версии 2.2 обещают возможность настроить все любое, да. Скачал да посмотрел вторую бету. Честно признаюсь, я не осилил настроить плейлист чтобы он выглядел пристойно, а дефолтные пара конфигов не устаривают.

Audacious - привет, Винамп ветки 2.х. Подходит, чтобы закинуть пару треков из файлового менеджера, но не более.

MPD со товарищи - простите меня, если сможете, но городить клиент-серверную архитектуру для аудиоплеера это безумие, не переубедить вам меня.

Songbird - беззубый клон iTunes с тормозным интерфейсом, жрет память похлеще Амарока, файлы, закинутые из файлового менеджера без спросу добавляет в коллекцию. Отсоединяем внешний накопитель с музыкой и наблюдаем мертвые души в коллекции.

Banshee - Моно, память, управление обложками отсутствует даже в последней development-версии.

Exaile - был в общем-то неплох, несмотря на некоторую кривоватость локализации и интерфейса, но сейчас радостно скачет по граблям вместе с амароком - там недоделали, сям переделали, а получили тихий ужас.

Такие дела вот.

robert_foster
()

Взаимодействие программ с Иксами

Привет всем! Помогите, пожалуйста, найти документацию по взаимодейсвию с иксами: управлению окнами и всему такому. Хочу на досуге слабать панельку, аля pypanel или bmpanel, да вот не могу литературу найти, что-то мои навыки гугления меня подводят.

robert_foster
()

Про Арч и упдатесы

А вот я хочу спросить: это у меня руки кривые, или в последние несколько месяцев шутка про "Не было печали - апдейтов накачали" становиться суровой действительностью?

Мне почему-то вспоминается, что прошлым летом даже крупные обновления проходили довольно безболезненно, а сейчас - танцы с бубном и нытье (не мое) на форумах.

robert_foster
()

Кеды. Переключалка. Опять.

Хир ви гоу аген. Арч, Кеды 4.2 из kdemod. Раскладка меняется, значок в трее нет. Похоже, самого трея им показалось мало, решили старую-добрую переключалку вспомнить. Наверно, у меня карма плохая :(

robert_foster
()

Должны ли иксы жрать столько памяти?

Привет всем.
Имеется eeepc 701 с интеловской видюхой. На нем установлен Arch с последними апдейтами. Дрова для видео - "intel". Для тачпада используется драйвер "synaptics".
Вопрос таков - без иксов система использует примерно 15 Мб памяти, а после запуска иксов, без всяких DE, просто startx - уже около 85. Должно ли так быть? На мой взгляд как-то многовато получается.

Вот конфиг иксов, взял его из арчевской вики.

Section "ServerLayout"
Identifier "ArchLinux"
Screen 0 "Screen0"
InputDevice "keyboard"
InputDevice "mouse"
InputDevice "synaptics"
EndSection

Section "Files"
RgbPath "/usr/share/X11/rgb"
ModulePath "/usr/lib/xorg/modules"
FontPath "/usr/share/fonts/misc"
FontPath "/usr/share/fonts/100dpi:unscaled"
FontPath "/usr/share/fonts/75dpi:unscaled"
FontPath "/usr/share/fonts/TTF"
FontPath "/usr/share/fonts/Type1"
EndSection

Section "Module"
Load "glx"
Load "dri"
Load "extmod"
Load "synaptics"
EndSection

Section "ServerFlags"
Option "AllowMouseOpenFail"
Option "BlankTime" "5"
Option "AIGLX" "false"
EndSection

Section "InputDevice"
Identifier "keyboard"
Driver "kbd"
Option "CoreKeyboard"
Option "XkbRules" "xorg"
Option "XkbLayout" "us"
Option "XkbVariant" ""
EndSection

Section "InputDevice"
Identifier "mouse"
Driver "mouse"
Option "Device" "/dev/input/mice"
Option "Protocol" "IMPS/2"
Option "Emulate3Buttons" "yes"
Option "ZAxisMapping" "4 5"
Option "CorePointer"
EndSection

Section "InputDevice"
Identifier "synaptics"
Driver "synaptics"
Option "Device" "/dev/psaux"
Option "Protocol" "auto-dev"
Option "LeftEdge" "1000"
Option "RightEdge" "5400"
Option "TopEdge" "1000"
Option "BottomEdge" "4900"
Option "PalmDetect" "0"
Option "SHMConfig" "true"
Option "SendCoreEvents" "yes"
Option "HorizScrollDelta" "0"
Option "RBCornerButton" "0"
Option "RTCornerButtom" "0"
Option "MaxSpeed" "0.1"

# You will also need the following 3 lines if you're using Xorg 1.5RC6 or newer
Option "TapButton1" "1"
Option "TapButton2" "2"
Option "TapButton3" "3"
EndSection

Section "Monitor"
Identifier "Monitor0"
VendorName "ASUS"
ModelName "eeePC P701"
Modeline "800x480" 29.58 800 816 896 992 480 481 484 497 -HSync +Vsync # 60 Hz
EndSection

Section "Device"
Identifier "Card0"
Driver "intel"
VendorName "Intel Corporation"
BoardName "Mobile 915GM/GMS/910GML Express Graphics Controller"
BusID "PCI:0:2:0"
Option "AccelMethod" "EXA"
Option "MigrationHeuristic" "greedy"
EndSection

Section "Screen"
Identifier "Screen0"
Device "Card0"
Monitor "Monitor0"
DefaultDepth 24
SubSection "Display"
Viewport 0 0
Depth 8
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 15
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 16
EndSubSection
SubSection "Display"
Viewport 0 0
Depth 24
EndSubSection
EndSection

Section "DRI"
Mode 0666
EndSection

robert_foster
()

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