LINUX.ORG.RU

Сообщения braboar

 

После удаления виджет 'already exists'

Форум — Development

Код, конечно, не весь, но, вроде, должно быть понятно. Есть ttk::notebook, хочется добавлять/удалять вкладки:

ttk::notebook .nb

proc add_tab {} {
  set tab_cnt [.nb index end]
  .nb add [frame .nb.fr$tab_cnt]
}

proc del_tab {} {
  set tab_no [expr [.nb index end] - 1]
  .nb forget .nb.fr$tab_no
}

Последняя вкладка удаляется, как и было задумано, но при попытке добавить новую, получаю

window name «fr0» already exists in parent

Как правильно удалить вкладку?

 ,

braboar
()

Странный QProcess

Форум — Development

Делаю я тут одну программу, все как обычно - MainWindow с GUI. По нажатию кнопки требуется запустить консольную утилиту, выход которой перехватывается и отображается в окне. Ну вот прямо в MainWindow создаю QProcess, его сигналы соединяю со слотами MainWindow, командую ему start - все работает. Так как хотелось бы все это делать в отдельном потоке - переношу код в потомка от QThread и тут всем весом попадаю на грабли. В заботливо созданные слоты потока сигнал не приходят. WTF или так и должно быть? Да, куда рыть и что искать?

 ,

braboar
()

Изменить размер виджета text

Форум — Development

Что-то не удалось связать размер виджета с размером окна. Делал так:

frame .textarea
text .txt -yscrollcommand ".srl_y set" -xscrollcommand ".srl_x set" -width 20 -height 10
scrollbar .srl_y -command ".txt yview" -orient v
scrollbar .srl_x -command ".txt xview" -orient h
grid .txt   -in .textarea -row 1 -column 1
grid .srl_y -in .textarea -row 1 -column 2 -sticky ns
grid .srl_x -in .textarea -row 2 -column 1 -sticky ew
pack .textarea -fill x -fill y
меняю размер окна, а text не меняется. Можно ли сделать text с меняющимся размером?

 

braboar
()

Поиск файла

Форум — Development

Здравствуйте, добрые люди!

Написал такоую конструкцию:

package require fileutil

proc exact_match { name } {
    return [ string match qmake [ ::file tail $name ] ]
}

proc is_qmake { name } {
    return [ exact_match $name ] && [ ::file isfile $name ] 
}

set files [ ::fileutil::find /usr is_qmake ]
foreach file $files {
    puts "$file: [ file type $file ]"
}

Вроде exact_match и is_qmake работают, как надо, но выводит почему-то любые файлы. Объсните, плиз, что не так.

 

braboar
()

Как научить qmake понимать вывод mercurial

Форум — Development

В qmake-based проекте есть такая строка

CHANGESET=$$system(hg parents --template '{node\\|short}')
В горячо любимом Linux'е собирается и работает, вопросов нет. Потребовалось собрать в винде, а там эта строка генерирует сообщение
'short}' is not recognized as an internal or external command

Насколько я понял, надо заэкранировать

|

, но что-то у меня ничего не выходит. Есть какие-ибудь идеи?

 

braboar
()

И снова Tcl, на этот раз ttk::combobox

Форум — Development

Сделал я на днях простейший скрипт, там есть ttk::combobox. При инициализации указываю:

ttk::combobox .cmb -values $names
все хорошо и работает. А когда понадобилось изменять содержимое выпадающего списка, ничего лучше не придумал, чем
.cmb configure -values $names
Есть ли другие решения? Может быть, правильнее|лучше?

 

braboar
()

button -command не работает с командой

Форум — Development

Есть такой скрипт:

#!/bin/sh
# calling wish \
exec wish "$0" ${1+"$@"}

set cmakeBinName "<noname>"

proc Get_CMakeBin {} {
    set cmakeBinName [ tk_getOpenFile -initialdir / ]
}


label .l  -text { CMake bin: }
label .lb -bg white -width 24 -textvar cmakeBinName
button .cmb -text "..." -command "set cmakeBinName \[ tk_getOpenFile -initialdir / \]"
# button .cmb -text "..." -command Get_CMakeBin

grid .l .lb .cmb
Помогите, пожалуйста, разобраться, почему не работает закомментированная строка. Что я пропустил? Заранее благодарен.

 ,

braboar
()

Значение dict не возвращается, что не так?

Форум — Development

Такой код:

#!/usr/bin/tclsh
#
proc processdict d {
    dict append d key Key
    dict append d value Value
    puts $d
}
set data [dict create name Bob age 20]
puts $data

processdict $data
puts $data
выводит:
name Bob age 20
name Bob age 20 key Key value Value
name Bob age 20
Как вернуть из команды значение?

 

braboar
()

задать место на экране KDE screenlocker password dialog

Форум — Desktop

Картинку фоновую поменял, как изменить местоположение диалога?

 

braboar
()

JavaScript - объясните, что происходит

Форум — Development

Есть ip.js

var net = require('net');

function getNetworkIP(callback) {
  var socket = net.createConnection(80, 'www.google.com');
  socket.on('connect', function() {
    callback(undefined, socket.address().address);
    socket.end();
  });
  socket.on('error', function(e) {
    callback(e, 'error');
  });
}

exports.getNetworkIP = getNetworkIP;

Подключаю, вызываю:

var addr;
ip.getNetworkIP(function (error, addr) {
    console.log('inner: ' + addr);
    if (error) {
        callback(e, 'error');
    }
});
console.log('ip: ' + addr);
Получаю:

ip: undefined
inner: 192.168.21.94

Помогите понять, как сохранить ip в переменной. Заранее благодарен.

 

braboar
()

console colors

Форум — General

subj, собственно. Хотел раскрасить konsole по-своему. Ну, например, можно редактировать профиль konsole. Вот только не могу найти соответствие цветов файлам, директориям и пр. Дайте, плиз, ссылок на доки. заранее благодарен.

braboar
()

QMAKE_LFLAGS_SONAME

Форум — Development

По независящим от меня обстоятельствам, вынужден некую либу именовать без префикса, myCoolLib.so. Нашел у qmake флаг, QMAKE_LFLAGS_SONAME, но он на префикс не влияет. Кто-нибудь знает, как заставить qmake не добавлять префикс?

Заранее благодарен.

 

braboar
()

sources отдельно, objects отдельно

Форум — Development

Сочинил я вот такой makefile:

EXECUTABLE=bin/test
CC=gcc
CFLAGS=-c -Wall
LDFLAGS=

SOURCES=src
SEARCH_WILDCARDS=$(addsuffix /*.c,$(SOURCES))

$(EXECUTABLE): $(notdir $(patsubst %c,%o,$(wildcard $(SEARCH_WILDCARDS))))
	$(CC) $(LDFLAGS) $^ -o $@

VPATH=$(SOURCES)

%.o: %.c
	$(CC) $(CFLAGS) $(addprefix -I,$(SOURCES)) $< # -o obj/$(notdir $<)

clean:
	rm -f *.o test
чтобы sources лежали в src, результаты сборки - в bin. Вот только не получается сложить объектники в obj/.

Как это сделать?

braboar
()

Растолкуйте про wait_event_interruptible_timeout

Форум — Development

Ибо сказано:

The function returns 0 if the timeout elapsed, -ERESTARTSYS if it was interrupted by a signal, and the remaining jiffies otherwise if the condition evaluated to true before the timeout elapsed.

Использую функцию в модуле ядра. Если обработчик прерывания отработал, возвращается 500 (это мой timeout), если нет - 0. В каком случае функция вернет -ERESTARTSYS?

braboar
()

Не устанавливается ecb в emacs

Форум — General

Захотелось освоить emacs хоть немного. Только вот при попытке поставить cedet+ecb возникают проблемы. ECB требует cedet-1.0pre6 или cedet-1.0.9, которого нигде нет, а cedet-1.0pre6 не собирается:

lmcompile.el:35:1:Error: Forgot to expand macro eieio-object-p

Кто-нибудь сможет помочь советом и делом?

GNU Emacs 24.3.1

Заранее спасибо.

 ,

braboar
()

Драйвер, обработчик прервания не вызывается

Форум — Development

Кажется, сделал все, что нужно. При инициализации модуля

enable_irq(dev.irq_line);
if (0 != request_irq(dev.irq_line, irq_hndl, IRQF_SHARED, DRV_NAME, dev.dev_id)) {
     /* printk error code */
}
ошибки не выдает. Железка устроена так, что когда в нее пишут, после операции чтения/записи она должна выставить прерывание. Соответственно,
iowrite32(some_command, BAR0+8);
wait_event_interruptible_timeout(my_queue,
                                 dev.irq_flag != 0,
                                 500);
А вот обработчик прерывания у меня почему-то не вызывается. Железка показывает, что операция выполнена (соответствующий бит взводится). Что порекомендуете проверить?

 

braboar
()

И снова драйвер

Форум — Development

LDD3 при установке обработчика прерываний рекомендуют:

request_irq(short_irq, short_interrupt, SA_INTERRUPT, ...
однако

error: 'SA_INTERRUPT' undeclared

Чем лучше заменить SA_INTERRUPT?

 

braboar
()

Непонятно мне...

Форум — Development
    bar0 = pci_resource_start(pdev, 0);
    val = pci_resource_len(pdev, 0);

    if (0 != pci_request_region(pdev, 0, DRV_NAME)) {
        printk(KERN_INFO"  can not request region for device %s\n", DRV_NAME);
        return -EFAULT;
    }

сообщает что не может запросить регион. Да и dmesg показывает:

sgdma 0000:01:00.0: BAR 0: can't reserve [mem 0xf7c01000-0xf7c0107f]

Что бы это могло значить?

 

braboar
()

Linux device drivers

Форум — Development

Доброго времени суток!

Надо сделать драйвер pci-e устройства.

Сижу, читаю LDD3. Кое-что понял, а вопрос организовался такой: как пользовательская программа должна читать/писать данные? Символьные устройства используют структуру file_operations, блочные - block_device_operations, а pci устройства что используют?

 ,

braboar
()

PCI-express и VirtualBox

Форум — Development

Есть некий PCI-e device и надо его драйвер сочинить. lspci его видит и жизнь прекрасна. Запускаю virtual box - а девайса на шине нет. Так и должно быть или что-то я не сделал?

braboar
()

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