# Now it's OpenBSD on my Thinkpad X220 ## 2nd week of February 2022 After it turned out DragonflyBSD is not something I want to have on my X220, things barely documented and especially acpi sleep not working and apparently unfixable, I turned to installing OpenBSD on it. Default being fvwm, I decided to go for it. In the past I tried using FVWM also starting with some pretty defaul fvwmrc but this time the OpenBSD's seemed like a much nicer start. And I didn't fancy coming back to long-tried cwm. In the example system.fvwmrc I added myself an xbatt in place of the right part of an 2x1 xload in an FvmmButtons "button-bar" with FvwmIconMan. As I definitely lacked sudoedit, I put in my ~/bin/ a doasedit script by AN3223 => https://raw.githubusercontent.com/AN3223/scripts/master/doasedit but in line 20 I replaced '/dev/shm/' in 'export TMPDIR=' with '/tmp/' for it to work. A surprise was that `pv -d: not available on systemd without /proc/self/fdinfo`. Another surprise is that VSCode doesn't really seem to be ported to OpenBSD. But the ports' 'editors' path was inspiring, I learnt about: axe cooledit moe ne wordgrinder, all of which i installed from binary packages with pkg_add. The first two are descended in idea from xedit, and xedit is somewhat fascinating to me as I have gotten fascinated with X Athena widgets (Xaw) and pure Xt GUI programming. I intend to make attempts into writing GUI applications in pure C. I am writing this in WordGrinder right now, and it just seems that "Export to plain text" will perfectly do for publishing in gemtext format. For some reason my /etc/apm/ scripts all with `pkill -USR1 xidle` as Soléne's blogpost suggested keep not working for me, so I keep not having xidle run xlock for me on suspend/resume. => https://dataswamp.org/~solene/2021-07-30-openbsd-xidle-xlock.html But I have then both neatly configured with .Xresources instead of commandline options: ``` XIdle*timeout : 300 XIdle*program : /usr/X11R6/bin/xlock XIdle*position : sw XIdle*delay : 5 XLock.dpmsoff : 1 XLock.dpmsstandby: 5 XLock.mode : blank ``` At one time I had issues with my keybard layout not working, later not working aside fron Firefox. But setting (redundatly, most probably) both LC_CTYPE and LC_ALL and even LANG all to `pl_PL.UTF-8` fixed the issue. Now my /etc/X11/xorg.conf.d/00-keyboard.conf: ``` Section "InputClass" Identifier "Keyboard0" MatchIsKeyboard "on" Option "XkbLayout" "pl" Option "XkbModel" "thinkpad" Option "XkbOptions" "caps:ctrl_modifier,compose:menu" EndSection ``` But what made me really cause myself a mess was when I tried setting XkbOptions like `altwin:meta_alt` because for some reason while tcsh manual recommends binding run-fg-editor to ^Z and by default has it bound to M-^Z — or Esc ^Z, supposedly —, neither seemed to ever work. Idk anyone has it working even? How do i diagnose how my modifiers work, especially with the signal keys which seems why ^Z specifically isn't working for me? Surprisingly `keyboard.map+="keysym Caps_Lock = Control_L"` in /etc/wsconsctl.conf doesn't seem to work for a tty-console remap. A minor disappointment was how I don't have my ThinkVantage button bindable as XF86Launch1 anymore. And I looked below it at the lock button that is Fn+F2 and I couldn't find any way to use it either, it's not some XF86Lock or anything. And what does even the battery-plus button at Fn+F3 ever do? Funnily, Fn+F5 wireless switch button now switches on and off Bluetooth only. But overall wireless is lovely, the join command, just several join/wpakey and then `inet autoconf` at the end, just an /etc/hostname.iwn0. Noice.o What surprised me a bit was how default performance policy was just manual=99. I set hw.perfpolicy=auto with /etc/sysctl.conf. But hibernate and suspend both work perfectly. Besides the moment when they stopped for some reason and it turned out I suddenly had apmd_flags=NO, but that was a quick fix in /etc/rc.conf.local after a lot of confusion. Wireless drivers don't crash. Syncthing works. Things are neat. Aside from the default .my.domain hostname suffix which i keep feeling weird about but I didn't think the installer would really insert it as an actual default domain for me when I pressed enter.