LINUX.ORG.RU

Опять новости про беты постят... :?

Впрочем рад за всех, кто использует, хотя сомневаюсь, что эти люди побегут тут же эту бету ставить :)

Хотя на сайте написано, что это development version, а никакая вовсе и не бета.

qleap
()

Ну хоть когда-нибудь хоть какой-нибудь встроенный язык добавят? Или так и будут анонсировать window.[button name].unfocus.pixmap как последнее слово в конфигурабельности?

anonymous
()

А он (встроенный язык) нужен? Объясните с материатистической точки зрения необходимость его применения

anonymous
()

> Объясните с материатистической точки зрения необходимость

1. Ну как же без него?

2. У всех есть, а тут нет.

3. А как во флуксбоксе сделать то-то, то-то и то-то? Не надо говорить, что это никому не нужно.

4. Еще в середине 60х вышла работа "Название", в которой И. Фамилия убедительно доказал необходимость применения встроенных языков для десктопов.

5. Настроечный файл и так программма на встроенном языке, почему не сделать этот язык полноценным (или еще лучше использовать существующие)?

Убедительно?

anonymous
()

Гм ... Знаете, я пользуюсь fluxbox`ом уже около 2-4 месяцев ... мои выводы: 1. Встроенный язык был бы не плох, но прямой необходимости нет. Так как то что есть, вполне хватает .... сейчас там всего-лишь дорабатывают поддержку XFree86 4.3.0 2. В этой верии замеченны баги, ... a) не устанавливаются NLS ... т.е. просто не собирается и не инсталится. Такая-же глюка была в 0.9.0 версии ... ;(( в 0.9.1 ее исправили .. в 0.9.2 она снова появилась ... b) Добавленно много опций в стили (описание themes), которые не описанны в конфиге ... но при подключении стиля (темы) он ругается, и говорит что берет по default`у .. ругается много ....

anonymous
()

anonymous (2003-05-13 15:16:20.505) не... не убедительно. Объясни на пальцах :) просто приведи пару примеров где язык программирования реально нужен и используется

anonymous
()

> не... не убедительно. Объясни на пальцах :) просто приведи пару примеров где язык программирования реально нужен и используется

Я хочу, чтобы при последовательном нажатии клавиш M-x t m все окна, имеющие в заголовке строку *term*, сдвигались на пятый десктоп и располагались определенным образом (в зависимости от того, что еще у них в заголовке). Как мне добиться этого от нынешнего fluxbox?

anonymous
()

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

babai
()

А прозрачнасть там настоящая или только для обоев?

anonymous
()

падает так же как и 0.9.1 ?

anonymous
()

А я вот жду когда же наконец можно будет классам окна свои воркспэйсы назначать (например давишь на линк в гэйме на первом десктопе, а феникс открывается на третьем). Есессно имея встроенный язык все эти фишки не придется встраивать в сам вм. Пойду на ирке с девелоперами пообщаюсь.

IceD

anonymous
()

А падать - падает не хуже :)

IceD

anonymous
()

Я себе уже давно сделал (в 0.1.14) перехват события OnCreateWindow и по конфигурационному файлу всякие действия с окнами. вот мой ~/.fluxbox/autos

class psi RemoveTab
class psi Workspace 1
class kmail RemoveTab
class kmail Maximize 1
class kmail Workspace 3
class Evolution RemoveTab
class Evolution Maximize 1
class Evolution Minimize
name Mozilla RemoveTab
name Mozilla Maximize 1
name Mozilla Workspace 2
class xmms RemoveTab
class Gvim Maximize 1
class bibletime Workspace 5
class bibletime Move 0 0 1024 768
class bibletime RemoveTab
class bibletime Maximize 1

Смотрится соответственоо на class.class и class.name (по аналогии с настройкой xxkb). Расортировывает новые окна по воркспейсам, делает то, что я делал раньше руками. А в ~/.xinitrc просто запускается сразу и psi, и мазилка и мыло, и ева. Очень удобно. Так что язык уже давно есть - c++ называется :0)). Если интересно, могу выслать патч. Только имхо я все-таки идеологически неправильно это сделал - не хватает мне знаний в программировании, особенно вм. То ли надо блокировать события на время обработки уже существующих, то ли просто флукс не такой стабильный, но иногда (примерно раз в 1.5-2 мес) бывает, что все глючит именно в момент появления нового окна. То, что я напрограммировал, есстно, делалось только под себя, для распространеия вообще не готово, но если интересно, пишите - вышлю. Он саавсем маленький.

Az
()

Az: пость сюда прямо - глянем

А вообще говоря - есть remember patch - тоже ничего такая весчь

IceD

anonymous
()

Вот функция(сильно не пинайте :0):

#include "Screen.hh"
#include "StringUtil.hh"
#include <iostream>
#include <string.h>

void findAutos (FluxboxWindow *win) {

#define AUTOS_FILE "/home/sergio/.fluxbox/autos"
#define MAX_STRING_LENGHT 255

ifstream autosfile(AUTOS_FILE);
char line[MAX_STRING_LENGHT];
string action, name;
unsigned int param[4], i;
vector<string> oneAuto;
BScreen *scr;

if (autosfile.good())

while (autosfile.getline(line,MAX_STRING_LENGHT)) {

oneAuto.clear();
StringUtil::stringtok(oneAuto, line);

if ( oneAuto.size() < 3 or oneAuto.size() > 7 ) continue;

if ( oneAuto[0] == "class" ) name = win->className();
else if ( oneAuto[0] == "name" ) name = win->instanceName();
else continue;

if ( name == oneAuto[1] ) {

action = oneAuto[2];
param[0]=atoi(&oneAuto[3][0]);

if ( action == "Minimize" ) win->iconify();
else if ( action == "RemoveTab") win->setTab(false);
else if ( action == "Move")
if ( oneAuto.size() != 5 ) continue;
else {
for (i=0; i<2; i++) param[i]=atoi(&oneAuto[i+3][0]);
win->configure(param[0],param[1],win->getWidth(),win->getHeight());
}
else if ( action == "Maximize" )
if ( param[0] < 1 or param[0] > 3 ) continue;
else win->maximize(param[0]); /* button */

else if ( action == "Workspace") {
scr = win->getScreen();
if ( param[0] < 1 or param[0] > scr->getCount() ) continue;
else scr->sendToWorkspace(param[0]-1,win,false);
}
}
}
else
cerr<<"Can't open the file of autos "<<AUTOS_FILE<<endl;
}



Вызывается она из fluxbox.cc в функции Fluxbox::HandleEvent().
В оригинале стоит

case CreateNotify: {
}

У меня:

case CreateNotify: {
FluxboxWindow *win = searchWindow(e->xcreatewindow.window);
if (win != 0) findAutos(win);
}

Формат файла я уже показывал. Криво кнечно, но я не смог найти как заставить case работать со строками. :0))

Az
()

Az: действительно криво. Но работает.

PS. case со строками не работает. if в этом случае вполне ок.

IceD

anonymous
()

Я не плюсплюсник :0), доведите до ума, кто может. Выложил я это дело под GPL. :0)))

Az
()

а в виндоу-макере есть встроенные язык?вроде в фввм есть а в вм нету:((

anonymous
()

Ну вот таким макаром будем встраивать языки во всё подряд ...
Идея кнешно сама по себе неплоха, за исключением одного но -
в unix нету аналога COM - то есть получится что в двухстах утилит 
со встроенными языками одни и те же вещи делаются по разному - 
это кому то надо ? Да и централизация скрптовых наподобии windows scripting host тоже не повредит иначе получится что вместе с оконным менеджером мне надо ставить  питона а чтоб работал файловый менеджер 
мне надо поставить ruby , и это при том что в жизни я ни тем не другим 
не пользуюсь ....

ezhikov
()

> Ну вот таким макаром будем встраивать языки во всё подряд ...

Почему во все? Речь шла исключительно о WM. Вы бы еще сказали, что в шелле никакой скриптовый язык не нужен.

> Идея кнешно сама по себе неплоха, за исключением одного но - в unix нету аналога COM - то есть получится что в двухстах утилит со встроенными языками одни и те же вещи делаются по разному - это кому то надо ?

А что в этом плохого? Здоровая конкуренция. Те проекты, создатели которых ошиблись с выбором скриптового языка (и не могут заменить его), просто сдохнут.

> Да и централизация скрптовых наподобии windows scripting host тоже не повредит иначе получится что вместе с оконным менеджером мне надо ставить питона а чтоб работал файловый менеджер мне надо поставить ruby , и это при том что в жизни я ни тем не другим не пользуюсь ....

Ето да. Заменить elisp на scheme, а внутренний язык vim на lua, исправлением одной строчки в конфиге было бы прикольно.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.