Skip to content

Instantly share code, notes, and snippets.

Reading the log, the focus loss is caused by a second X window that maps at the same moment — not by the GIMP dialog itself.
## What the log shows
The GIMP "Open Image" dialog (`#x1e04e81`) maps and gets focus correctly:
```
[01:21:05] exwm-input--update-focus: Set focus on #x1e04e81
```
[01:21:00]exwm-input--on-buffer-list-update: current-buffer=#<buffer *EXWM*> selected-window=#<window 283 on *EXWM*>
[01:21:00]exwm-layout--refresh: frame=#<frame editor 0x5f52fe6ecae0>
[01:21:00]exwm-layout--refresh-workspace: Refresh workspace #<frame editor 0x5f52fe6ecae0>
[01:21:00]exwm-layout--show: Show #x1e00087 in #<window 283 on *EXWM*>
[01:21:00]exwm--set-geometry: Setting #x1e00087 to 954x1058+966+0
[01:21:00]exwm-layout--set-state: id=#x1e00087
[01:21:00]exwm-layout--set-client-list-stacking:
[01:21:00]exwm-layout--refresh: frame=#<frame editor 0x5f52fe6ecae0>
[01:21:00]exwm-layout--refresh-workspace: Refresh workspace #<frame editor 0x5f52fe6ecae0>
[01:21:00]exwm-layout--show: Show #x1e00087 in #<window 283 on *EXWM*>
"""PyVista adapter for AnimData → MultiBlock (UnstructuredGrid blocks).
Adapted from vtkhdfwriter.py which wrote VTK-HDF5 format.
This version outputs PyVista datasets.
"""
from typing import Any, Optional
import numpy as np
import os, re
import pyvista as pv
from .animstructs import AnimData
direnv: export +CONDA_DEFAULT_ENV +CONDA_PREFIX +CONDA_SHLVL +GSETTINGS_SCHEMA_DIR +GSETTINGS_SCHEMA_DIR_CONDA_BACKUP +PIXI_ENVIRONMENT_NAME +PIXI_ENVIRONMENT_PLATFORMS +PIXI_EXE +PIXI_IN_SHELL +PIXI_PROJECT_MANIFEST +PIXI_PROJECT_NAME +PIXI_PROJECT_ROOT +PIXI_PROJECT_VERSION +PIXI_PROMPT +PROJ_DATA +PROJ_NETWORK +VIRTUAL_ENV +XML_CATALOG_FILES ~PATH ▪ preparing packages [━━━q@mypc:pyroll$
direnv: loading ~/.dotfiles/home/config/pixi/pyroll/.envrc
direnv: export +CONDA_DEFAULT_ENV +CONDA_PREFIX +CONDA_SHLVL +GSETTINGS_SCHEMA_DIR +GSETTINGS_SCHEMA_DIR_CONDA_BACKUP +PIXI_ENVIRONMENT_NAME +PIXI_ENVIRONMENT_PLATFORMS +PIXI_EXE +PIXI_IN_SHELL +PIXI_PROJECT_MANIFEST +PIXI_PROJECT_NAME +PIXI_PROJECT_ROOT +PIXI_PROJECT_VERSION +PIXI_PROMPT +PROJ_DATA +PROJ_NETWORK +VIRTUAL_ENV +XML_CATALOG_FILES ~PATH
q@mypc:pyroll$
Debugger entered--Lisp error: (args-out-of-range "] 0/0 " 0 -17)
(term-emulate-terminal #<process mistty tty *mistty*> "\33[36m\342\240\201\33[0m updating lock file [00:00:00] [\33[38;5;11m\33[37m\33[2m\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\33[0m\33[0m] 0/0 \33[2m \33[0m\15\33[2K\33[36m\342\240\201\33[0m updating lock file [00:00:00] [\33[38;5;11m\33[37m\33[2m\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\200\342\224\20

If you want to bypass Kitware's animtovtkhdf translation layer entirely, you can read OpenRadioss ANIM files directly into Python memory using Vortex-Radioss, an open-source Python library developed by the OpenRadioss community specifically for post-processing.

Vortex-Radioss unpacks the compressed binary/ASCII arrays inside A00x files into standard NumPy arrays. Once the data is in NumPy, it is straightforward to construct a native pyvista.UnstructuredGrid.

Step 1: Install Dependencies

Vortex-Radioss relies on lasso-python for CAE array handling.

pip install lasso-python

Based on my thorough study of the extracted source code from both animtod3plot and openradioss-to-vtkhdf, I now have a comprehensive understanding of the Radioss animation file format. Let me summarize what I've learned and provide you with a complete PyVista reader implementation.

Radioss Animation File Format Summary

The Radioss animation file (.anim) is a big-endian binary format containing:

File Header (Flags)

  • magic - file format version
  • time - simulation time for this state
  • Various text fields (time_text, mod_anim_text, radioss_run_text)
import re
import numpy as np
import pandas as pd
import matplotlib as mpl
import matplotlib.pyplot as plt
import pyroll.core
import pyroll.pillar_model
import pyroll.freiberg_flow_stress
from pyroll.freiberg_flow_stress import FreibergFlowStressCoefficients
# import pyroll.hill_spreading
;;; hl-line-global.el --- highlight the current line -*- lexical-binding:t -*-
(defface hl-line
'((t :inherit highlight :extend t))
"Default face for highlighting the current line in Hl-Line mode.")
(defvar hl-line-overlay-priority -50)
(defvar-local hl-line-global-overlay nil)
@QiangF
QiangF / test-exwm.el
Last active April 6, 2026 02:17
test exwm on termux
(require 'package)
(setq package-check-signature nil)
(package-initialize nil)
(require 'use-package)
(use-package compat)
(use-package xelb
:config
;; (setq xcb:keysyms:auto-update nil)
(setq xcb:connection-timeout 5))