カラクリスタ

「輝かしい青春」なんて失かった人のブログ

Gnome3 から Openbox に変えた

とりあえず今のところこんな感じとなった:

Gnome3 から Openbox に変えた NixOS のデスクトップ

画面がほぼ真っ黒なのは壁紙を探すのが面倒だったからで、特にこだわりとかも無いんだけど、 とりあえずはこんな感じで使っていて良い感じに使えている。

で、 Dock に相当する Bar が無い様に見えるかもしれないんだけど、 これは Perlwmctrl を使った Openbox の pipe menu を生成するスクリプトで解決していて、 Top bar のタイトル名をクリックするとタスク一覧が出る様になっており、 そこから Window を切り替えられる様になってます。

なお wmctrl を使った Perl スクリプトは次の通り:

#!/usr/bin/env perl

use strict;
use warnings;

my %e = (
  "&" => "&",
  ">" => ">",
  "<" => "&lt;",
  ' => "&#39;",
  '' => "&quot;",
);

sub escape_xml {
  my $src = shift @_;
  $src =~ s{([&><'])}{$e{$1}}g;
  return $src;
}

print qq{<openbox_pipe_menu label="Windows">\n};

for my $item (sort { $a cmp $b } `wmctrl -l`) {
  chomp($item);
  my @data = split qr{ +}, $item;

  my $wid   = shift @data;
  my $did   = shift @data;
  my $mn    = shift @data;
  my $title = escape_xml(join q{ }, @data);

  if ( $title =~ m{^polybar} ) {
    next;
  }

  print qq{<item label="${title}">\n};
  print qq{<action name="Execute"><command>wmctrl -i -a ${wid}</command></action>\n};
  print qq{</item>\n};
}

print qq{</openbox_pipe_menu>\n};

とりあえず、最近はそんなことをもぞもぞとやっておりました。はい。