LINUX.ORG.RU
ФорумTalks

блин, опенсорс, комунити.. ((( где они?


0

0

Глюк, когда в mozilla приложениях собранных под gtk2 не работают хоткеи в не английских раскладках клавиатуры не могут (не хотят) исправить уже два года! Куча багрепортов, куча голосований - а толку - 0!

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

Кто нибудь знает костыль для этой проблемы? Ибо уже достало переключаться на английский что бы копипаст сделать

anonymous

от того, что определенное количество человекоштук собралось в коммунити их человеческие свойства ( например лень и упрямство ) никуда не делись.

Muromec ☆☆
()

есть одно средство :)

use konqueror :)

Komintern ★★★★★
()

И как же это можно свалить на разработчиков gtk, если в остальных gtk-программах хоткеи работают?

Nucleal
()
Ответ на: комментарий от Nucleal

Не во всех. Подсчитывал когда-то, где-то 3/4 GTK1/GTK2 программ работают с русскими хоткеями (при чём, смотрел, скажем, сорцы Epiphany - никаких костылей "обводных" там нет, хоткеи прописаны явные, латинскими макросами), а около 1/4 - нет.

Навскидку, где ещё не пашет - например, Gajim.

KRoN73 ★★★★★
()
Ответ на: комментарий от KRoN73

>Навскидку, где ещё не пашет - например, Gajim.

у меня пашет, gtk+-2.10.0, gajim-0.10.1

kostian ★★★★☆
()

В GAIM если закрыть базарное окно, то сделанному в нём copy не сделать paste в другом окне.

Сам не софсемм догнл что зотел сказать :)

vdm ★★
()

Очень странно что до сих пор не появилось расширение исправляющее этот баг.

Nucleal
()

Господа знатоки GTK! Поведайте мне такую весчь. Вот прога:

#include "gtk/gtk.h"

int main(int argc,char *argv[]) 
{
  GtkWidget *window;
  GtkWidget *TextEdit;
    
  gtk_init(&argc,&argv);
  window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(gtk_ma
in_quit),NULL);
  gtk_container_set_border_width(GTK_CONTAINER(window),5);
 	TextEdit=gtk_text_new(NULL,NULL);
  gtk_text_set_editable(TextEdit,TRUE);
  gtk_container_add(GTK_CONTAINER(window),TextEdit);
  gtk_widget_show(TextEdit);
  gtk_widget_show(window);
  gtk_main();
  return 0;
}

Вот как я её компилю:

gcc test.c -o test `pkg-config --cflags --libs gtk+-2.0`

Только вот локаль у меня нерусская, хотя переключалка клавиш настроена 
и ввод русского во всех приложениях работает.

Запускаю я результат - и упс... Русские буквы не вводятся ваапче.

Запускаю через LC_ALL=ru_RU.cp1251 ./test - в ответ на нажатие клавиш
в русской раскладке выводит крякозяблики.

Ладно, берём Qt 4.1.4, пишем аналогичное приложение - всё работает!
Даже без LC_ALL русский вводится. Чё делать?

anonymous
()
Ответ на: комментарий от anonymous

Дабы не быть голословным, вот прога на Qt:

#include <QApplication>
#include <QtGui>

class Window : public QWidget
{
  Q_OBJECT

public:
  Window() {TextEdit=new QTextEdit(this);};
private:
  QTextEdit *TextEdit;
};

int main(int argc,char *argv[])
{
  QApplication app(argc,argv);
  Window* window=new Window();
  window->show();
  return app.exec();
}

#include "main.moc"

А вот как она компилится:

qmake -project && qmake && make

anonymous
()
Ответ на: комментарий от anonymous

Если у вас qt3, то, соответственно, 

#include <qapplication.h>
#include <qmainwindow.h>
#include <qtextedit.h>

Заниматься всякими resize мне лениво, важен принцип.

anonymous
()
Ответ на: комментарий от anonymous

Да, ну и самое главное: в русской раскладке Ctrl+C/Ctrl+V работают только в Qt-программе, в GTK - хренушки. Даже если сначала набить текст в английской раскладке, сделать Ctrl+C (при этом копируется), а потом переключиться в русскую и сделать Ctrl+V (никуа не вставляется). Может, я какой-то криворукий?

anonymous
()
Ответ на: комментарий от anonymous

>Чё делать?

Остается только избавляться от gtk программ насколько возможно и надеяться на светлое будущее.

Deleted
()
Ответ на: комментарий от AngryElf

> geek'а на тебя не хватает :-)

Ну так пусть придёт geek и исправит мою GTK-программу, я совсем не против :)

anonymous
()
Ответ на: комментарий от anonymous

только что в гтк программе скопировал текст ctrl+C, и вставил в другую ctrl+V. Вы что курите?

lester_dev ★★★★★
()
Ответ на: комментарий от lester_dev

> твою ДНК^WGTK-программу не исправить...

Я так и знал, что по сути тебе сказать нечего.

anonymous
()

а вот в netscape 7.2 в слаквари хоткеи работают и в русской, и в английской раскладке. как-то странно это.

hatefu1_dead
()
Ответ на: комментарий от hatefu1_dead

> а вот в netscape 7.2 в слаквари хоткеи работают и в русской, и в английской раскладке. как-то странно это.

В мозилле тоже работают, если собирать с GTK1.

anonymous
()

OpenSource - you need it, write it.

eXOR ★★★★★
()

"Где они?" - это не про community, а про коммерческую поддержку. А community - это когда тебе что-то сильно надо, то ты это и делаешь, а потом делишься с другими, ибо в общем-то не жалко (плюс может кто-то потом захочет улучшить, тогда и тебе польза будет). А не ходишь и жалуешься, что никто не хочет делать то, что нужно тебе.

Голосовальщиков развелось. :)

Teak ★★★★★
()
Ответ на: комментарий от AcidumIrae

> вам сюда http://www.sib.opennet.ru/gtk-world/gtk2.html

Ты имеешь в виду
--------------------------------
#include "gtk/gtk.h"
#include <libintl.h>

#define _(x) gettext (x)
#define N_(x) (x)

#define GETTEXT_PACKAGE "gtk-hello"
#define LOCALEDIR "mo"

int main(int argc,char *argv[]) 
{
  GtkWidget *window;
  GtkWidget *TextEdit;
    
  bindtextdomain(GETTEXT_PACKAGE,LOCALEDIR);
  bind_textdomain_codeset(GETTEXT_PACKAGE,"UTF-8");
  textdomain(GETTEXT_PACKAGE);
  gtk_init(&argc,&argv);
  window=gtk_window_new(GTK_WINDOW_TOPLEVEL);
  gtk_signal_connect(GTK_OBJECT(window),"destroy",GTK_SIGNAL_FUNC(gtk_ma
in_quit),NULL);
  gtk_container_set_border_width(GTK_CONTAINER(window),5);
  TextEdit=gtk_text_new(NULL,NULL);
  gtk_text_set_editable(TextEdit,TRUE);
  gtk_container_add(GTK_CONTAINER(window),TextEdit);
  gtk_widget_show(TextEdit);
  gtk_widget_show(window);
  gtk_main();
  return 0;
}
--------------------------------
? Нет, всё равно не пашет. А вот в Qt пашет вообще без бубнов. Странно,
да?

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