忍者ブログ
Home > LXQt

rago1975の部屋

このブログは管理人が個人的に興味がある事項を書き留めておくメモみたいなものです。当面は、Manjaro Linux関係の記事が中心になります。

[PR]

×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。


qterminalを使いこなす。

qterminalについては、先日、日本語(を含む全角文字)の表示について、記事を書いたところですが、今回はVimなどの動かす場合などに使えそうな小技について書きたいと思います。

全角記号の表示

いわゆる、漢字・かなについては、きれいに表示されるのですが、「★」や「※」などのいわゆる全角記号は半角文字と認識されているので表示がくずれます。通常の端末として使用する分にはあまり問題がない(ファイル名にこれらの記号を含むことが無い限り)のですが、Vimを動かしてテキストファイルを編集する場合は少し困ります。
文字の表示幅を決めているのがqtermwidgetというパッケージの中の、lib/konsole_wcwidth.cppというファイルになります。この記事を参照にして、こんな感じで表示したい文字のコードを追加します。なお、各文字のユニコードはこちらのサイトで調べることができます。ファイルの修正後、ビルドします(ビルドの方法はAURでPKGBUILDを見れば良いと思います)。

コマンドラインでの、これらの文字の入力については、まだ不具合がありますが、これは別に良いでしょう。
なお、Vim(Neovim)上で、これらの文字を全角として扱うために、.vimrc(Neovimの場合~/.config/nvim/init.vim)に以下の行を追加します。
set ambiwidth=double

256色環境への設定

Vimには、様々なcolor schemeがありますが、color schemeを反映させるためには、環境変数TERMを(例えば xterm-256color といった)多色対応のものに変更する必要があります。私の環境ではTERMのデフォルトの値がxtermになっていたので、.bashrcに以下の行を加えました。

  if [ -e /usr/share/terminfo/x/xterm-256color ]; then
      export TERM='xterm-256color'
  else       
      export TERM='xterm-color'
  fi
PR

qterminalの日本語の表示がおかしい件について、修正しようと思った。

先日、【メモ】Manjaro Linux LXQtでNeovimを使ってみるという記事を書きましたが、その中で現在の公式リポジトリに入っているqterminalのバージョンではneovimが動作せず、qterminalの構成要素であるqtermiwidgetを最新のgitバージョンに差し替えると、Neovimは動いたものの、「日本語の全角文字の文字間隔がおかしい」という現象が現れるという話をしました。

具体的な状態は、こんな感じです。全角と半角が混在する行では、文字が重なってしまいます。


その原因を調べるために、ソースコードを読んでみました。去年の2月ぐらいに、qterminalをプロポーショナルフォントで使用できるようにしよう、という修正がなされたみたいでした。等幅フォントの場合、文字を描画する位置は、単純に(フォント幅)×(列位置)になるのですが、プロポーショナルフォントの場合、一文字ごとにQFontmetricsでフォント幅を見て、それを積算して描画する位置を決めるかたちになっていました。
で、そのコードの中で、日本語の全角文字は自動的にプロポーショナルフォント扱いにされ、全角文字のフォント幅が、(実はここらへんの仕様が、私にはよくわからないのですが)厳密には半角文字の2倍になっていないので、上の図のような全角と半角で描画の位置がずれるという現象が発生しているのではないか、と推測されました。

ということで、「日本語の全角文字は自動的にプロポーショナルフォント扱いにする」という部分のコードを削除すれば良いんじゃないか、と思って、コードをいじってやってみたら、こんな感じになりました。



ということで、GithubにPull requestを送りました。その結果です。深夜の錆びついた頭の状態で作業したので、ひどいタイポがあったのですが、そこは見逃してください、、、。

LXQt 0.10 がリリースされました。

 3日前の話ですが、11月2日にLXQt 0.10がリリースされました。具体的なリリースノートはこちらです。
Arch linuxのリポジトリに既に入ったので、近いうち(来週くらい)にManjaro のstableでもアップデートがかかると思います。
今回、私がtwitterで相互フォローしている@u_ho_bros氏がLXQt-session の翻訳に参加されています。
(私もちょっとだけ手伝っています。)

デスクトップ環境LXQtを使ってみよう

はじめに

Linuxをデスクトップの作業で使用する際、多くの方がデスクトップ環境を導入されていると思います。GNOME、KDEを中心として様々なデスクトップ環境があり、ユーザーは自由に選択することができます。今年はじめの記事ですが、各デスクトップ環境の特徴について、日本語の翻訳状況も含めて、あわしろいくや氏がまとめておられます。

私は2013年6月に初めてManjaro Linuxをインストールした時以来、一貫してXfceを使用し続けていました。現在、Xfceについては特に不満はありません。しかし、あわしろ氏の記事にもあるように、GTK+2ベースのXfceについて、先があるかどうかは、若干不安なところがありますし、2年使用していると、少し飽きてきたところがありました。

LXQtについては、もともとはLXDEの後継としてQt5で開発されはじめました。昨年10月に0.8.0がリリースされ、私も簡単にブログに書きました。当時はAURにgitバージョンしかなかったのですが、Manjaro コミュニティの有志により、独自リポジトリが建てられ、コミュニケーション版の開発が始まった頃です。その後、LXQtパッケージがManjaro公式リポジトリに入り、コミュニティ版も配布されるようになりました。

そういうわけで、Manjaro Linux LXQt-0.8.13 日本語版を出したついでに、私のPCもこれでクリーンインストールして、LXQtの環境構築を実際にやってみながら有用(かもしれない)情報を時間があるときに書いてみたいと思います。

Manjaro Linux LXQtの入手

LXQtのサイトによると、Ubuntu、Fedoraをはじめ、各ディストリビューションでパッケージが配布されているみたいです。Manjaro Linuxも公式リポジトリからパッケージを配布しているほか、インストール用イメージとしてコミュニティ版がリリースされています
今回は(手前味噌で申し訳ないのですが)日本語版(OSDNrago1975.net)をクリーンインストールしました。

インストール方法は、OSDNのリリースノートに書いてあるとおりで、10分ぐらいで終わりました。デスクトップの画面はこんな感じです。
LXQtはXfceよりもリソースの使用量は大きいみたいですが、体感上は、アプリケーションの起動などはXfceと比較して結構早く感じます。



アプリケーションの外観の設定

Manjaro LXQt インストール直後は、GTK+アプリケーションはごく少数(Gparted、Leafpad)しかプリインストールされていません。しかし、Firefoxはともかく、Sylpheed、Libreoffice、MikutterあたりはQtベースの代替がないので、結局インストールすることになります。その際、問題になるのがアプリケーションの外観が、GTK+、Qtでバラバラになることです。さらにQtでもQt4とQt5では個々に外観を設定する必要があります。

また、LXQtの場合、ウィンドウマネージャとしてOpenboxがよく使用されています。ウィンドウの枠や境界線の色や、フォントについてはOpenboxを設定することになります。

LXQt全体およびQt5ウィジェット

  • GUIによる設定アプリケーション: lxqt-config-appearance
  • 設定ファイル:  ~/.config/lxqt/lxqt.conf

Qt4 ウィジェット

  • GUIによる設定アプリケーション: qtconfig-qt4 (qtchooserパッケージが必要)
  • 設定ファイル:  ~/.config/Trolltech.conf
  • ユーザー設定ファイル(例えば~/.xprofile)に以下の文を追加する。(参照
    export QTCHOOSER_RUNTOOL=qtconfig
    export QT_SELECT=4

GTK+2 ウィジェット

  • GUIによる設定アプリケーション: lxappearance
  • 設定ファイル:  ~/.gtkrc-2.0

openbox

  • GUIによる設定アプリケーション: obconf
  • 設定ファイル:  ~/.config/openbox/rc.xml

デスクトップ・壁紙(デスクトップ上で右クリックで設定ウィンドウが開く)

  • 設定ファイル:  ~/.config/pcmanfm-qt/lxqt/setting.conf
LXQt全体およびQt5、Qt4についてそれぞれウィジェットのスタイルを「GTK+」(QGtkStyle)に設定すれば、外観はGTK+のほうに統一されます。

アプリケーションメニューの編集

上述したlxappearanceなどは、デフォルトでは、Lxqtのアプリケーションメニューには出てきません。それは、/usr/share/applications/lxapperance.desktop というファイル内に
NotShowIn=GNOME;KDE;XFCE;
という行が入っているからです(LXQtはKDEと判定されるみたいです)。この行を削除したものを~/.local/share/applications/ ディレクトリに保存し、一度ログアウトしてXを再起動させれば、メニューに現れます。(ついでにファイル内のName の行を編集して、好きな名前に変更することもできます。)

LXQtの翻訳について

LXDEでは、Pootleサーバーを使って翻訳が行われており、LXQtについてもそこで翻訳がされている、、と思っていたのですが、最近の変更はPootleには反映されていない模様です。直接Githubにコミットしたほうがいいと思います。

        
  • 1
  • 2

プロフィール

HN:
rago1975 (Takefumi Nagata)
HP:
性別:
男性
自己紹介:
熊本在住の一般人です。Manjaro Linux関係の翻訳などを少々やっています。
twitter: https://twitter.com/rago1975

カレンダー

05 2019/06 07
S M T W T F S
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28 29
30

P R