type error in python script for dynamic control based on focused window in i3

#4 · closed · 2 comments

View on GitHub ↗

moniker23

variable c can be sometimes non string object and the script crashes. i fixed it by explicit conversion of c to string. it happened to me when opened brave browser. interestingly enough when i did i3 reload, the error never occured. ``` r = re.compile(r'chrom|edge|signal|brave', re.I) fd = open("/tmp/libinput_discrete_deltay_multiplier", "r+b") m = mmap.mmap(fd.fileno(), 0, access=mmap.ACCESS_WRITE) def on_window_focus(i3loc, e): v = 1 c = e.container.window_class if r.search(str(c)): v = 6 m.seek(0) m.write(str(v).encode()) ```

Comments

tkkcc

I check my script and find it filtering out None type of c ```python c = e.container.window_class if not c: return ``` I update readme. 9aa12fa8d8093dc8f054f55c01d6176cf8c15143 Converting to string is ok too.

moniker23

I don't know python so I just did solution based on error message, which is obviously not ideal. I will modify the script according to your solution. Thanks