2024年02月25日

spectrwm-gitをしてみての顛末。archbang-winter-1902-x86_64 / sparky-7.2-amd64-xfce

やはり、C言語で書かれているタイル型の
デスクトップ(ウィンドウマネージャー)を
archbangで試しました。

じぶんには、難しかったです。
dwmとは異なり、設定ファイルがあります。
それが、よく解らずで、、、。

spectrwmは、標準版でもgit版でも、
aurからインストールすることになります。
chaotic-aurにはありません。archbangに
追加したchaoticのrepoから、yayを
インストールし、git版をインストールしました。

$ cp /etc/spectrwm.conf ~/.spectrm.conf

上のコマンド行で、設定の準備は完了しますが。
同設定ファイルは、全面コメントアウトされていて、
そのまま~/.xinitrcでexec spectrwmとし、起動すると、
まっくらやみの画面が出るだけです。
つまりデフォルト設定がどこにもないわけです。

頼れる材料は、ネット検索と、mlocateコマンドを
インストールして、
$ sudo pacman -S mlocate
$ sudo updatedb
$ mlocate spectrwmloc

/etc/spectrwm
/etc/spectrwm.conf
/etc/spectrwm/spectrwm_cz.conf
/etc/spectrwm/spectrwm_es.conf
/etc/spectrwm/spectrwm_fr.conf
/etc/spectrwm/spectrwm_fr_ch.conf
/etc/spectrwm/spectrwm_se.conf
/etc/spectrwm/spectrwm_us.conf

usr/share/spectrwm
/usr/share/doc/spectrwm
/usr/share/doc/spectrwm/CHANGELOG.md
/usr/share/doc/spectrwm/LICENSE.md
/usr/share/doc/spectrwm/examples
/usr/share/doc/spectrwm/examples/baraction.sh
/usr/share/doc/spectrwm/examples/initscreen.sh
/usr/share/doc/spectrwm/examples/screenshot.sh
/usr/share/doc/spectrwm/examples/spectrwm_cz.conf
/usr/share/doc/spectrwm/examples/spectrwm_es.conf
/usr/share/doc/spectrwm/examples/spectrwm_fr.conf
/usr/share/doc/spectrwm/examples/spectrwm_fr_ch.conf
/usr/share/doc/spectrwm/examples/spectrwm_se.conf
/usr/share/doc/spectrwm/examples/spectrwm_us.conf
/usr/share/licenses/spectrwm-git
/usr/share/licenses/spectrwm-git/LICENSE
/usr/share/man/man1/spectrwm.1.gz
/usr/share/spectrwm/baraction.sh
/usr/share/spectrwm/screenshot.sh
/usr/share/xsessions/spectrwm.desktop

重要なところは、上のようなところです。
usキーボードを使う私は、

$ sudo cat/usr/share/doc/spectrwm/examples/spectrwm_us_conf >> ~/.spactrwm.conf

をやってみましたが、ウワッと行数が増えるばかりで、
混乱しました。何もしなければ、
usキーボードみたいなようでもあり、
再度、/etc/spectrwm.confをコピーし、
設定をいちからやりなおしました。

必要とされる、baraction.shは、
参考にした動画を真似て、
$ cp /usr/share/doc/spectrwm/examples/baraction.sh ~/.config/.
のような場所に配置しました。

あとは、全コメント化されているファイルの、
どこをコメント解除するかだけなのですが、
それがむずかしく、、、。
とりあえず動いている状態なのが、下記。

~/.spectrwm.conf

---

#
# spectrwm Example Configuration File
#
# PLEASE READ THE MAN PAGE BEFORE EDITING THIS FILE!
# https://htmlpreview.github.io/?https://github.com/conformal/spectrwm/blob/master/spectrwm.html
#
# All example settings in this file are commented out with a '#'.
# See the spectrwm(1) man page for default values.
#
# NOTE: rgb color values are in hexadecimal! See XQueryColor(3) for details.
workspace_limit = 8
#focus_mode = default
#focus_close = previous
#focus_close_wrap = 1
#focus_default = last
#spawn_position = next
#workspace_autorotate = 1
#workspace_clamp = 1
#warp_focus = 1
#warp_pointer = 1
#click_to_raise = 1
# Include mapped workspaces when switching with any of the ws next/prev actions.
#cycle_visible = 1
# Window Decoration
border_width = 1
color_focus = red
color_focus_maximized = yellow
color_unfocus = rgb:88/88/88
color_unfocus_maximized = rgb:88/88/00
color_focus_free = cyan
color_focus_maximized_free = magenta
color_unfocus_free = rgb:00/88/88
color_unfocus_maximized_free = rgb:88/00/88
region_padding = 5
tile_gap = 5
# Region containment
# Distance window must be dragged/resized beyond the region edge before it is
# allowed outside the region.
#boundary_width = 50
# Remove window border when bar is disabled and there is only one window in workspace
#disable_border = 1
# Bar Settings
bar_enabled = 1
bar_enabled_ws[1] = 1
bar_border_width = 1
bar_border[1] = rgb:00/80/80
bar_border_unfocus[1] = rgb:00/40/40
bar_border_free[1] = rgb:80/80/00
bar_color[1] = black
bar_color_unfocus[1] = black
bar_color_free[1] = rgb:40/40/00
bar_color_selected[1] = rgb:00/80/80
bar_font_color[1] = rgb:a0/a0/a0
bar_font_color_unfocus[1] = rgb:a0/a0/a0
bar_font_color_free[1] = white
bar_font_color_selected = black
bar_font = xos4 Terminus:pixelsize=14:antialias=true
bar_font_pua = Typicons:pixelsize=14:antialias=true
bar_action = baraction.sh
bar_action_expand = 0
bar_justify = left
bar_format = +N:+I +S <+D>+4<%a %b %d %R %Z %Y+8<+A+4<+V
workspace_indicator = listcurrent,listactive,markcurrent,printnames
workspace_mark_current = '*'
workspace_mark_current_suffix = ''
workspace_mark_active = '^'
workspace_mark_active_suffix = ''
workspace_mark_empty = '-'
workspace_mark_empty_suffix = ''
workspace_mark_urgent = '!'
workspace_mark_urgent_suffix = ''
bar_at_bottom = 1
#stack_enabled = 1
#stack_mark_horizontal = '[-]'
#stack_mark_horizontal_flip = '[v]'
#stack_mark_vertical = '[|]'
#stack_mark_vertical_flip = '[>]'
#stack_mark_max = '[ ]'
#stack_mark_floating = '[~]'
#focus_mark_none = ''
#focus_mark_normal = ''
#focus_mark_floating = '(f)'
#focus_mark_maximized = '(m)'
#focus_mark_free = '(*)'
clock_enabled = 1
clock_format = %a %b %d %R %Z %Y
iconic_enabled = 0
#fullscreen_hide_other = 0
#maximize_hide_bar = 0
#maximize_hide_other = 0
#window_class_enabled = 0
#window_instance_enabled = 0
window_name_enabled = 0
#verbose_layout = 1
#urgent_enabled = 1
#urgent_collapse = 0
# Dialog box size ratio when using TRANSSZ quirk; 0.3 < dialog_ratio <= 1.0
#dialog_ratio = 0.6
# Split a non-RandR dual head setup into one region per monitor
# (non-standard driver-based multihead is not seen by spectrwm)
#region = screen[1]:1280x1024+0+0
#region = screen[1]:1280x1024+1280+0
# Launch applications in a workspace of choice
#autorun = ws[1]:xterm
#autorun = ws[2]:xombrero http://www.openbsd.org
# Customize workspace layout at start
#layout = ws[1]:4:0:0:0:vertical
#layout = ws[2]:0:0:0:0:horizontal
#layout = ws[3]:0:0:0:0:max
#layout = ws[4]:4:0:0:0:vertical_flip
#layout = ws[5]:0:0:0:0:horizontal_flip
#layout = ws[6]:0:0:0:0:floating
# Set workspace name at start
#name = ws[1]:IRC
#name = ws[2]:Email
#name = ws[3]:Browse
#name = ws[10]:Music
# Change the modifier to use when specifying 'MOD' in bindings.
# This should come before configuring bindings, not after.
# (Mod1: Alt key, Mod4: Windows key, Mod2: Apple key on OSX)
modkey = Mod4
# This allows you to include pre-defined key bindings for your keyboard layout.
# All key bindings are cleared before loading bindings in the specified file.
#keyboard_mapping = ~/.spectrwm_us.conf
# PROGRAMS
# Validated default programs:
#program[lock] = xlock
#program[term] = xterm
#program[menu] = dmenu_run $dmenu_bottom -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
#program[search] = dmenu $dmenu_bottom -i -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
#program[name_workspace] = dmenu $dmenu_bottom -p Workspace -fn $bar_font -nb $bar_color -nf $bar_font_color -sb $bar_color_selected -sf $bar_font_color_selected
# To disable validation of the above, free the respective binding(s):
#bind[] = MOD+Shift+Delete # disable lock
#bind[] = MOD+Shift+Return # disable term
#bind[] = MOD+p # disable menu
# Optional default programs that will only be validated if you override:
#program[screenshot_all] = screenshot.sh full # optional
#program[screenshot_wind] = screenshot.sh window # optional
#program[initscr] = initscreen.sh # optional
# EXAMPLE: Define 'firefox' action and bind to key.
#program[firefox] = firefox http://spectrwm.org/
#bind[firefox] = MOD+Shift+b
# QUIRKS
# Default quirks, remove with: quirk[class:name] = NONE
#quirk[MPlayer:xv] = FLOAT + FULLSCREEN + FOCUSPREV
#quirk[OpenOffice.org 2.4:VCLSalFrame] = FLOAT
#quirk[OpenOffice.org 3.0:VCLSalFrame] = FLOAT
#quirk[OpenOffice.org 3.1:VCLSalFrame] = FLOAT
#quirk[Firefox-bin:firefox-bin] = TRANSSZ
#quirk[Firefox:Dialog] = FLOAT
#quirk[Gimp:gimp] = FLOAT + ANYWHERE
#quirk[XTerm:xterm] = XTERM_FONTADJ
#quirk[xine:Xine Window] = FLOAT + ANYWHERE
#quirk[Xitk:Xitk Combo] = FLOAT + ANYWHERE
#quirk[xine:xine Panel] = FLOAT + ANYWHERE
#quirk[Xitk:Xine Window] = FLOAT + ANYWHERE
#quirk[xine:xine Video Fullscreen Window] = FULLSCREEN + FLOAT
#quirk[pcb:pcb] = FLOAT

autorun = ws[1]:xrandr --output Virtual-1 --mode 1920x1200
autorun = ws[1]:nitrogen --restore
#autorun = ws[9]:feh --bg-scale ~/Backgrounds/winter.jpg
autorun = ws[2]:fcitx5 -d
autorun = ws[4]:vmware-user
autorun = ws[5]:sudo vmhgfs-fuse /mnt/hgfs -o auto_unmount -o allow_other
program[ff] = /usr/bin/firefox
program[th] = /usr/bin/thunar
program[al] = /usr/bin/alacritty
program[lf] = /usr/bin/l3afpad
bind[ff] = MOD1+Shift+w
bind[th] = MOD1+Shift+f
bind[al] = MOD1+Shift+Return
bind[lf] = MOD1+Shift+l

---

間違っているところも多々あると思います。
もっともわからないのは、autorunさせたいときに、
ws[ ]の中の数字のもつ意味が釈然としないことでした。
ワークスペースの番号かな、と思いましたが、
よくわかりません。起動の順位?

この設定でじぶんが、できたい、ことでできないのは、
bar内の日付の、日本語になるべきところが、お豆腐に
なっていること。それと、conkyが表示されないことですけど。
いまのところ対策はわかりません。日本語入力はKO。

それ以外は、ふつうに使えています。やはり軽くて、
youtubeの動画は仮想環境上ながらも軽快に動きます。

ただ、使いこなすには、それなりの力量が必要そうです。
とにかく、ハッカーが作ったデスクトップだそうで、
構築の手間より、仕上がったときのスピード感と
効率性が最重要視されているようではあります。

spectrwm2_2024-02-25_12-49-49.jpg
dmenu(super + p)は、下のバーが使用時だけ
一時的にdmenuバーに変身します。

spectrwm1_2024-02-25_12-48-11.jpg
主要4ツールは、archbangのまま。

設定が構文上、間違っているとき、
デスクトップが出なくなります。rootでログインし、
コンソール操作で、一旦設定を戻すとか
することになります。なので、オートログインは
やめたほうがいいいでしょう。
設定がビシッと決まったあとも!


posted by ブログ開設者 at 13:22| Comment(0) | linux | このブログの読者になる | 更新情報をチェックする