FC2ブログ

スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

KDE 4.11.1のkonsole用パッチ

KDE 4.11.1のkonsole用パッチです。SKKで入力するときの三角形などが入った場合にカーソルが半分にならないようにしています。

diff --git a/src/Screen.cpp b/src/Screen.cpp
index c322406..8ce20b8 100644
--- a/src/Screen.cpp
+++ b/src/Screen.cpp
@@ -625,7 +625,7 @@ void Screen::displayCharacter(unsigned short c)
// We indicate the fact that a newline has to be triggered by
// putting the cursor one right to the last column of the screen.

- int w = konsole_wcwidth(c);
+ int w = konsole_wcwidth_cjk(c);
if (w < 0)
return;
else if (w == 0) {
diff --git a/src/TerminalCharacterDecoder.cpp b/src/TerminalCharacterDecoder.cpp
index 0615d5d..2f0b161 100644
--- a/src/TerminalCharacterDecoder.cpp
+++ b/src/TerminalCharacterDecoder.cpp
@@ -127,7 +127,7 @@ void PlainTextDecoder::decodeLine(const Character* const characters, int count,
// of `dialog --infobox "qwe" 10 10` .
if (characters[i].isRealCharacter || i <= realCharacterGuard) {
plainText.append(QChar(characters[i].character));
- i += qMax(1, konsole_wcwidth(characters[i].character));
+ i += qMax(1, konsole_wcwidth_cjk(characters[i].character));
} else {
++i; // should we 'break' directly here?
}
diff --git a/src/konsole_wcwidth.cpp b/src/konsole_wcwidth.cpp
index ba5e06a..fd0796c 100644
--- a/src/konsole_wcwidth.cpp
+++ b/src/konsole_wcwidth.cpp
@@ -218,7 +218,7 @@ int string_width(const QString& text)
{
int w = 0;
for (int i = 0; i < text.length(); ++i)
- w += konsole_wcwidth(text[i].unicode());
+ w += konsole_wcwidth_cjk(text[i].unicode());
return w;
}

@@ -272,7 +272,7 @@ int konsole_wcwidth_cjk(quint16 oucs)
{ 0x02DD, 0x02DD }, { 0x02DF, 0x02DF }, { 0x0391, 0x03A1 },
{ 0x03A3, 0x03A9 }, { 0x03B1, 0x03C1 }, { 0x03C3, 0x03C9 },
{ 0x0401, 0x0401 }, { 0x0410, 0x044F }, { 0x0451, 0x0451 },
- { 0x2010, 0x2010 }, { 0x2013, 0x2016 }, { 0x2018, 0x2019 },
+ /* { 0x2010, 0x2010 }, { 0x2013, 0x2016 }, { 0x2018, 0x2019 },
{ 0x201C, 0x201D }, { 0x2020, 0x2022 }, { 0x2024, 0x2027 },
{ 0x2030, 0x2030 }, { 0x2032, 0x2033 }, { 0x2035, 0x2035 },
{ 0x203B, 0x203B }, { 0x203E, 0x203E }, { 0x2074, 0x2074 },
@@ -293,7 +293,7 @@ int konsole_wcwidth_cjk(quint16 oucs)
{ 0x2282, 0x2283 }, { 0x2286, 0x2287 }, { 0x2295, 0x2295 },
{ 0x2299, 0x2299 }, { 0x22A5, 0x22A5 }, { 0x22BF, 0x22BF },
{ 0x2312, 0x2312 }, { 0x2460, 0x24E9 }, { 0x24EB, 0x254B },
- { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 },
+ { 0x2550, 0x2573 }, { 0x2580, 0x258F }, { 0x2592, 0x2595 }, */
{ 0x25A0, 0x25A1 }, { 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 },
{ 0x25B6, 0x25B7 }, { 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 },
{ 0x25C6, 0x25C8 }, { 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 },
@@ -302,7 +302,8 @@ int konsole_wcwidth_cjk(quint16 oucs)
{ 0x261C, 0x261C }, { 0x261E, 0x261E }, { 0x2640, 0x2640 },
{ 0x2642, 0x2642 }, { 0x2660, 0x2661 }, { 0x2663, 0x2665 },
{ 0x2667, 0x266A }, { 0x266C, 0x266D }, { 0x266F, 0x266F },
- { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0xE000, 0xF8FF },
+ { 0x273D, 0x273D }, { 0x2776, 0x277F }, { 0x300A, 0x300B },
+ { 0x301A, 0x301B }, { 0x3040, 0x309F }, { 0xE000, 0xF8FF },
{ 0xFFFD, 0xFFFD }, { 0xF0000, 0xFFFFD }, { 0x100000, 0x10FFFD }
};

スポンサーサイト

mysqlとkalarm

mysqlを5.5.32にしたら、kalarmが起動できなくなりました。

libmysqlclient.so.18 が /usr/lib64/mysqlに置かれるようになったのが原因のようです。

共有ライブラリのコンパイル時に必要な検索パスを追加する方法 - ドキッ!はてなブログに移転しました!
http://d.hatena.ne.jp/natsumesouxx/20111126/1322339821

を参考にして、/etc/ld.so.conf.d/50libmysqlclient.conf というファイルに

/usr/lib64/mysql


とだけ書いて、

# FEATURES=-ccache emerge -av1 soprano


としてパソコンをリブートしたらkalarmが起動するようになりました。
sopranoのemergeは必要だったかどうかわかりません。FEATURESも必要だったのかよくわかりません。

GentooでのFirefox 21 beta3でFlashが再生できない

GentooでmozillaのoverlayからFirefox 21 beta3 をインストールしたのにFlashが再生できませんでした。
いろいろ調べたらプラグインを置くディレクトリが/usr/lib/firefox/pluginsではなくて
/usr/lib/mozilla/pluginsに変わったそうです。
ln -s /usr/lib/firefox /usr/lib/mozillaといういい加減な対処で再生できるようになりました。

追記
~/.mozilla/pluginsにlibflashplayer.soを置くのもありだそうです。これでも再生できました。

konsoleでのVTE_CJK_WIDTH

konsoleでSKKの▽や▼がきれいに表示できないので、konsoleのパッチを作りました。
単純にkonsole_wcwidthをkonsole_wcwidth_cjkに置き換えるだけだとカーネルでのmake menuconfigの画面の
表示が崩れてしまうので、崩れないようにもしてみました。


diff --git a/konsole-4.9.98/src/Screen.cpp b/konsole-4.9.98/src/Screen.cpp
index 816affe..63db2ec 100644
--- a/konsole-4.9.98/src/Screen.cpp
+++ b/konsole-4.9.98/src/Screen.cpp
@@ -623,7 +623,7 @@ void Screen::displayCharacter(unsigned short c)
// We indicate the fact that a newline has to be triggered by
// putting the cursor one right to the last column of the screen.

- int w = konsole_wcwidth(c);
+ int w = konsole_wcwidth_cjk(c);
if (w < 0)
return;
else if (w == 0) {
diff --git a/konsole-4.9.98/src/TerminalCharacterDecoder.cpp b/konsole-4.9.98/sr
c/TerminalCharacterDecoder.cpp
index 0615d5d..2f0b161 100644
--- a/konsole-4.9.98/src/TerminalCharacterDecoder.cpp
+++ b/konsole-4.9.98/src/TerminalCharacterDecoder.cpp
@@ -127,7 +127,7 @@ void PlainTextDecoder::decodeLine(const Character* const cha
racters, int count,
// of `dialog --infobox "qwe" 10 10` .
if (characters[i].isRealCharacter || i <= realCharacterGuard) {
plainText.append(QChar(characters[i].character));
- i += qMax(1, konsole_wcwidth(characters[i].character));
+ i += qMax(1, konsole_wcwidth_cjk(characters[i].character));
} else {
++i; // should we 'break' directly here?
}
diff --git a/konsole-4.9.98/src/konsole_wcwidth.cpp b/konsole-4.9.98/src/konsole
_wcwidth.cpp
index a2a3309..2f15fe2 100644
--- a/konsole-4.9.98/src/konsole_wcwidth.cpp
+++ b/konsole-4.9.98/src/konsole_wcwidth.cpp
@@ -165,7 +165,7 @@ int konsole_wcwidth_cjk(quint16 ucs)
{ 0x02D0, 0x02D0 }, { 0x02D8, 0x02DB }, { 0x02DD, 0x02DD },
{ 0x0391, 0x03A1 }, { 0x03A3, 0x03A9 }, { 0x03B1, 0x03C1 },
{ 0x03C3, 0x03C9 }, { 0x0401, 0x0401 }, { 0x0410, 0x044F },
- { 0x0451, 0x0451 }, { 0x2010, 0x2010 }, { 0x2013, 0x2016 },
+ { 0x0451, 0x0451 }, /* { 0x2010, 0x2010 }, { 0x2013, 0x2016 },
{ 0x2018, 0x2019 }, { 0x201C, 0x201D }, { 0x2020, 0x2021 },
{ 0x2025, 0x2027 }, { 0x2030, 0x2030 }, { 0x2032, 0x2033 },
{ 0x2035, 0x2035 }, { 0x203B, 0x203B }, { 0x2074, 0x2074 },
@@ -186,7 +186,7 @@ int konsole_wcwidth_cjk(quint16 ucs)
{ 0x2295, 0x2295 }, { 0x2299, 0x2299 }, { 0x22A5, 0x22A5 },
{ 0x22BF, 0x22BF }, { 0x2312, 0x2312 }, { 0x2460, 0x24BF },
{ 0x24D0, 0x24E9 }, { 0x2500, 0x254B }, { 0x2550, 0x2574 },
- { 0x2580, 0x258F }, { 0x2592, 0x2595 }, { 0x25A0, 0x25A1 },
+ { 0x2580, 0x258F }, { 0x2592, 0x2595 }, */ { 0x25A0, 0x25A1 },
{ 0x25A3, 0x25A9 }, { 0x25B2, 0x25B3 }, { 0x25B6, 0x25B7 },
{ 0x25BC, 0x25BD }, { 0x25C0, 0x25C1 }, { 0x25C6, 0x25C8 },
{ 0x25CB, 0x25CB }, { 0x25CE, 0x25D1 }, { 0x25E2, 0x25E5 },
@@ -195,7 +195,7 @@ int konsole_wcwidth_cjk(quint16 ucs)
{ 0x2640, 0x2640 }, { 0x2642, 0x2642 }, { 0x2660, 0x2661 },
{ 0x2663, 0x2665 }, { 0x2667, 0x266A }, { 0x266C, 0x266D },
{ 0x266F, 0x266F }, { 0x300A, 0x300B }, { 0x301A, 0x301B },
- { 0xE000, 0xF8FF }, { 0xFFFD, 0xFFFD }
+ { 0xE000, 0xF8FF }, { 0xFFFD, 0xFFFD }
};

/* binary search in table of non-spacing characters */
@@ -210,6 +210,6 @@ int string_width(const QString& text)
{
int w = 0;
for (int i = 0; i < text.length(); ++i)
- w += konsole_wcwidth(text[i].unicode());
+ w += konsole_wcwidth_cjk(text[i].unicode());
return w;
}

portage 2.1.11.31でのzshの補完

Portage 2.1.11.31にしたら、emergeでのパッケージ名の補完ができなくなってしまいました。

ln -s /etc/portage/make.conf /etc/make.conf
ln -s /usr/share/portage/config/make.globals /etc/make.globals



としたら補完ができるようになりました。
zshの補完関数が/etc/make.confと/etc/make.globalsを参照しているので、元々それがある人は補完ができているのだと思います。ない人向けです。
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。