Hi, You probably activated the Fn-Lock. To release it press Fn+Esc if i recall it correctly. Also there should be an option in the BIOS regarding the function keys, you can pick which way you prefer (frimary or secondary function).
https://support.lenovo.com/lt/lt/solutions/ht103044-how-to-use-the-function-keys-without-pressing-fn-in-windows-8110 Hope it helps. Best rEgards, --Z-- Jonathan Thornburg írta 2023. szept.. 11, H-n 23:02 órakor: > *** SUMMARY *** > > Thinkpad T580, OpenBSD amd64 7.3-stable, twm window manager. > Prior to today, I had a window-manager keybinding for "F1". > Starting today, I need to hold down the "Fn" key and press "F1" to get > the "F1" keybinding; if I just press "F1" I get the Lenovo-defined system > action (in this case muting the audio volume). What caused the change, > and how can I revert to the old behavior? > > > *** DETAILS *** > > I have a Thinkpad T580 (dmesg below) running amd64 7.3-stable, currently > with syspatches 001-015 inclusive. I normally use ctwm (ports) as a window > manager, but all the behavior I describe in this message persists when I > switch back to twm (in base). > > I setup various keybindings in my ~/.twmrc and ~/.ctwmrc (given in full > below), including that pressing the "F1" key raises the current window to > be on top in the window-stacking order: > "F1" = : window : f.raise > "F1" = : title : f.raise > I don't set any keybinding for "Fn/F1" (i.e., pressing the "F1" key while > holding down the "Fn" key), so this invokes Lenovo's default action for F1, > i.e., muting the audio output (the F1 keycap has an icon of a speaker with > a line through it). > > I've been using this setup for many years on a variety of Thinkpads and > OpenBSD releases, and it has all worked fine. A few weeks ago I had a > repair shop replace the T580's keyboard after a keyspring started failing; > the above function-key bindings all worked fine with the new keyboard. > > But starting today I see a new behavior: pressing "F1" now gives the > behavior I used to get with "Fn/F1" (mute the audio volume), and pressing > "Fn/F1" now gives the behavior I used to get with plain "F1" (raise the > current window). More generally, for any x in the range 1 through 12 > inclusive, "Fx" now invokes the Lenovo default action, while "Fn/Fx" > invokes my keybinding (if any). (For example, "F5" and "F6" now decrease > and increase the screen brightness.) > > The new behavior has persisted through a cold boot, and (as noted above) > is identical for ctwm (ports) and twm (in base). > > The new behavior does *NOT* occur for a Thinkpad T530 with an identical > software setup (amd64 7.3-stable, same set of syspatches, same ~/.twmrc > and ~/.ctwmrc). That is, on the T530 I see the same behavior I saw prior > to today on the T580, namely that for any x in the range 1 through 12 > inclusive, "Fx" invokes my keybinding for "Fx" (if any), while "Fn/Fx" > invokes the Lenovo default action. (For example, on the T530 "F1" invokes > the raise-window keybinding, while "Fn/F8" and "Fn/F9" decrease and increase > the screen brightness.) > > The twm and ctwm binaries have identical checksums between the T530 and > T580, as do ~/.ctwmrc and ~/.twmrc > % cksum `which ctwm` `which twm` ~/.ctwmrc ~/.twmrc > 1100362473 518296 /usr/local/bin/ctwm > 998664569 202936 /usr/X11R6/bin/twm > 931165269 5767 /home/jonathan/.ctwmrc > 3395929888 5551 /home/jonathan/.twmrc > % > > My basic question is, can anyone suggest what the cause of this change > might be (apart from "wierd hardware failure in new T580 keyboard"), and/or > what I might do on the T580 to revert to the old behavior? One possible > workaround is to modify the key bindings in ~/.twmrc and ~/.ctwmrc, but > I'd prefer to understand the cause of the change before I start trying > workarounds. > > > Here is the T580 dmesg: > --- begin /var/run/dmesg.boot --- > OpenBSD 7.3 (GENERIC.MP) #3: Tue Jul 25 08:20:26 MDT 2023 > > r...@syspatch-73-amd64.openbsd.org:/usr/src/sys/arch/amd64/compile/GENERIC.MP > real mem = 33922605056 (32351MB) > avail mem = 32875106304 (31352MB) > random: good seed from bootblocks > mpath0 at root > scsibus0 at mpath0: 256 targets > mainbus0 at root > bios0 at mainbus0: SMBIOS rev. 3.0 @ 0xa86db000 (62 entries) > bios0: vendor LENOVO version "N27ET43W (1.29 )" date 08/13/2021 > bios0: LENOVO 20L9001GUS > acpi0 at bios0: ACPI 5.0 > acpi0: sleep states S0 S3 S4 S5 > acpi0: tables DSDT FACP SSDT SSDT TPM2 UEFI SSDT SSDT HPET APIC MCFG > ECDT SSDT SSDT BOOT BATB SLIC SSDT SSDT SSDT LPIT WSMT SSDT SSDT SSDT > DBGP DBG2 MSDM DMAR ASF! FPDT UEFI > acpi0: wakeup devices GLAN(S4) XHC_(S3) XDCI(S4) HDAS(S4) RP01(S4) > PXSX(S4) RP02(S4) PXSX(S4) PXSX(S4) RP04(S4) PXSX(S4) RP05(S4) PXSX(S4) > RP06(S4) PXSX(S4) RP07(S4) [...] > acpitimer0 at acpi0: 3579545 Hz, 24 bits > acpihpet0 at acpi0: 23999999 Hz > acpimadt0 at acpi0 addr 0xfee00000: PC-AT compat > cpu0 at mainbus0: apid 0 (boot processor) > cpu0: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1793.87 MHz, 06-8e-0a > cpu0: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu0: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB > 64b/line 4-way L2 cache, 8MB 64b/line 16-way L3 cache > cpu0: smt 0, core 0, package 0 > mtrr: Pentium Pro MTRR support, 10 var ranges, 88 fixed ranges > cpu0: apic clock running at 24MHz > cpu0: mwait min=64, max=64, C-substates=0.2.1.2.4.1.1.1, IBE > cpu1 at mainbus0: apid 2 (application processor) > cpu1: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1794.25 MHz, 06-8e-0a > cpu1: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu1: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB > 64b/line 4-way L2 cache, 8MB 64b/line 16-way L3 cache > cpu1: smt 0, core 1, package 0 > cpu2 at mainbus0: apid 4 (application processor) > cpu2: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1795.82 MHz, 06-8e-0a > cpu2: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu2: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB > 64b/line 4-way L2 cache, 8MB 64b/line 16-way L3 cache > cpu2: smt 0, core 2, package 0 > cpu3 at mainbus0: apid 6 (application processor) > cpu3: Intel(R) Core(TM) i7-8650U CPU @ 1.90GHz, 1795.82 MHz, 06-8e-0a > cpu3: > FPU,VME,DE,PSE,TSC,MSR,PAE,MCE,CX8,APIC,SEP,MTRR,PGE,MCA,CMOV,PAT,PSE36,CFLUSH,DS,ACPI,MMX,FXSR,SSE,SSE2,SS,HTT,TM,PBE,SSE3,PCLMUL,DTES64,MWAIT,DS-CPL,VMX,SMX,EST,TM2,SSSE3,SDBG,FMA3,CX16,xTPR,PDCM,PCID,SSE4.1,SSE4.2,x2APIC,MOVBE,POPCNT,DEADLINE,AES,XSAVE,AVX,F16C,RDRAND,NXE,PAGE1GB,RDTSCP,LONG,LAHF,ABM,3DNOWP,PERF,ITSC,FSGSBASE,TSC_ADJUST,SGX,BMI1,HLE,AVX2,SMEP,BMI2,ERMS,INVPCID,RTM,MPX,RDSEED,ADX,SMAP,CLFLUSHOPT,PT,SRBDS_CTRL,MD_CLEAR,TSXFA,IBRS,IBPB,STIBP,L1DF,SSBD,SENSOR,ARAT,XSAVEOPT,XSAVEC,XGETBV1,XSAVES,MELTDOWN > cpu3: 32KB 64b/line 8-way D-cache, 32KB 64b/line 8-way I-cache, 256KB > 64b/line 4-way L2 cache, 8MB 64b/line 16-way L3 cache > cpu3: smt 0, core 3, package 0 > ioapic0 at mainbus0: apid 2 pa 0xfec00000, version 20, 120 pins > acpimcfg0 at acpi0 > acpimcfg0: addr 0xf0000000, bus 0-127 > acpiec0 at acpi0 > acpiprt0 at acpi0: bus 0 (PCI0) > acpiprt1 at acpi0: bus 2 (RP01) > acpiprt2 at acpi0: bus -1 (RP02) > acpiprt3 at acpi0: bus -1 (RP03) > acpiprt4 at acpi0: bus -1 (RP04) > acpiprt5 at acpi0: bus -1 (RP05) > acpiprt6 at acpi0: bus -1 (RP06) > acpiprt7 at acpi0: bus 4 (RP07) > acpiprt8 at acpi0: bus -1 (RP08) > acpiprt9 at acpi0: bus 7 (RP09) > acpiprt10 at acpi0: bus -1 (RP10) > acpiprt11 at acpi0: bus 64 (RP11) > acpiprt12 at acpi0: bus -1 (RP12) > acpiprt13 at acpi0: bus -1 (RP13) > acpiprt14 at acpi0: bus -1 (RP14) > acpiprt15 at acpi0: bus -1 (RP15) > acpiprt16 at acpi0: bus -1 (RP16) > acpiprt17 at acpi0: bus -1 (RP17) > acpiprt18 at acpi0: bus -1 (RP18) > acpiprt19 at acpi0: bus -1 (RP19) > acpiprt20 at acpi0: bus -1 (RP20) > acpiprt21 at acpi0: bus -1 (RP21) > acpiprt22 at acpi0: bus -1 (RP22) > acpiprt23 at acpi0: bus -1 (RP23) > acpiprt24 at acpi0: bus -1 (RP24) > acpipci0 at acpi0 PCI0: 0x00000010 0x00000011 0x00000000 > acpithinkpad0 at acpi0: version 2.0 > acpiac0 at acpi0: AC unit online > acpibat0 at acpi0: BAT0 model "00UR891" serial 10036 type LiP oem "SMP" > acpibat1 at acpi0: BAT1 model "01AV452" serial 1658 type LiP oem "SMP" > "LEN0100" at acpi0 not configured > "INT3403" at acpi0 not configured > "INT3403" at acpi0 not configured > "INT3403" at acpi0 not configured > "INT3403" at acpi0 not configured > "INT3403" at acpi0 not configured > "INT3403" at acpi0 not configured > "INT3403" at acpi0 not configured > acpicmos0 at acpi0 > acpibtn0 at acpi0: SLPB > "PNP0C14" at acpi0 not configured > "INT33A1" at acpi0 not configured > acpibtn1 at acpi0: LID_ > "PNP0C14" at acpi0 not configured > "PNP0C14" at acpi0 not configured > "PNP0C14" at acpi0 not configured > "INT3400" at acpi0 not configured > tpm0 at acpi0 TPM_ 2.0 (TIS) addr 0xfed40000/0x5000, device 0x0000104a > rev 0x4e > "USBC000" at acpi0 not configured > acpicpu0 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), > C1(1000@1 mwait.1), PSS > acpicpu1 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), > C1(1000@1 mwait.1), PSS > acpicpu2 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), > C1(1000@1 mwait.1), PSS > acpicpu3 at acpi0: C3(200@1034 mwait.1@0x60), C2(200@151 mwait.1@0x33), > C1(1000@1 mwait.1), PSS > acpipwrres0 at acpi0: PUBS, resource for XHC_ > acpitz0 at acpi0: critical temperature is 98 degC > acpivideo0 at acpi0: GFX0 > acpivout0 at acpivideo0: DD1F > cpu0: using VERW MDS workaround (except on vmm entry) > cpu0: Enhanced SpeedStep 1793 MHz: speeds: 2101, 2100, 1900, 1800, > 1700, 1600, 1500, 1400, 1200, 1100, 1000, 800, 700, 600, 500, 400 MHz > pci0 at mainbus0 bus 0 > pchb0 at pci0 dev 0 function 0 "Intel Core 8G Host" rev 0x08 > inteldrm0 at pci0 dev 2 function 0 "Intel UHD Graphics 620" rev 0x07 > drm0 at inteldrm0 > inteldrm0: msi, KABYLAKE, gen 9 > "Intel Core 6G Thermal" rev 0x08 at pci0 dev 4 function 0 not configured > "Intel Core GMM" rev 0x00 at pci0 dev 8 function 0 not configured > xhci0 at pci0 dev 20 function 0 "Intel 100 Series xHCI" rev 0x21: msi, > xHCI 1.0 > usb0 at xhci0: USB revision 3.0 > uhub0 at usb0 configuration 1 interface 0 "Intel xHCI root hub" rev > 3.00/1.00 addr 1 > pchtemp0 at pci0 dev 20 function 2 "Intel 100 Series Thermal" rev 0x21 > "Intel 100 Series MEI" rev 0x21 at pci0 dev 22 function 0 not configured > ppb0 at pci0 dev 28 function 0 "Intel 100 Series PCIE" rev 0xf1: msi > pci1 at ppb0 bus 2 > ppb1 at pci0 dev 28 function 6 "Intel 100 Series PCIE" rev 0xf1: msi > pci2 at ppb1 bus 4 > iwm0 at pci2 dev 0 function 0 "Intel Dual Band Wireless-AC 8265" rev > 0x78, msi > ppb2 at pci0 dev 29 function 0 "Intel 100 Series PCIE" rev 0xf1: msi > pci3 at ppb2 bus 7 > ppb3 at pci0 dev 29 function 2 "Intel 100 Series PCIE" rev 0xf1: msi > pci4 at ppb3 bus 64 > nvme0 at pci4 dev 0 function 0 vendor "Samsung", unknown product 0xa80c > rev 0x00: msix, NVMe 2.0 > nvme0: Samsung SSD 990 PRO 2TB, firmware 1B2QJXD7, serial > S73WNJ0W400838L > scsibus1 at nvme0: 2 targets, initiator 0 > sd0 at scsibus1 targ 1 lun 0: <NVMe, Samsung SSD 990, 1B2Q> > sd0: 1907729MB, 512 bytes/sector, 3907029168 sectors > pcib0 at pci0 dev 31 function 0 "Intel 200 Series LPC" rev 0x21 > "Intel 100 Series PMC" rev 0x21 at pci0 dev 31 function 2 not configured > azalia0 at pci0 dev 31 function 3 "Intel 200 Series HD Audio" rev 0x21: > msi > azalia0: codecs: Realtek ALC257, Intel/0x280b, using Realtek ALC257 > audio0 at azalia0 > ichiic0 at pci0 dev 31 function 4 "Intel 100 Series SMBus" rev 0x21: > apic 2 int 16 > iic0 at ichiic0 > em0 at pci0 dev 31 function 6 "Intel I219-LM" rev 0x21: msi, address > 48:2a:e3:1b:f6:6b > isa0 at pcib0 > isadma0 at isa0 > pckbc0 at isa0 port 0x60/5 irq 1 irq 12 > pckbd0 at pckbc0 (kbd slot) > wskbd0 at pckbd0: console keyboard > pms0 at pckbc0 (aux slot) > wsmouse0 at pms0 mux 0 > wsmouse1 at pms0 mux 0 > pms0: Synaptics clickpad, firmware 8.16, 0x1e2b1 0x940300 0x33cc40 > 0xf01fa3 0x12e800 > pcppi0 at isa0 port 0x61 > spkr0 at pcppi0 > vmm0 at mainbus0: VMX/EPT > uvideo0 at uhub0 port 8 configuration 1 interface 0 "Azurewave > Integrated Camera" rev 2.01/17.11 addr 2 > video0 at uvideo0 > vscsi0 at root > scsibus2 at vscsi0: 256 targets > softraid0 at root > scsibus3 at softraid0: 256 targets > sd1 at scsibus3 targ 1 lun 0: <OPENBSD, SR CRYPTO, 006> > sd1: 65538MB, 512 bytes/sector, 134222419 sectors > root on sd1a (bebcaf82143ab665.a) swap on sd1b dump on sd1b > drm:pid0:intel_ddi_sanitize_encoder_pll_mapping *NOTICE* [drm] > [ENCODER:102:DDI B/PHY B] is disabled/in DSI mode with an ungated DDI > clock, gate it > drm:pid0:intel_ddi_sanitize_encoder_pll_mapping *NOTICE* [drm] > [ENCODER:116:DDI C/PHY C] is disabled/in DSI mode with an ungated DDI > clock, gate it > inteldrm0: 1920x1080, 32bpp > wsdisplay0 at inteldrm0 mux 1: console (std, vt100 emulation), using > wskbd0 > wsdisplay0: screen 1-5 added (std, vt100 emulation) > iwm0: hw rev 0x230, fw ver 36.ca7b901d.0, address 18:56:80:24:28:40 > --- end /var/run/dmesg.boot --- > > And here is the ~/.twmrc > --- begin ~/.twmrc --- > # .twmrc -- set twm(1) defaults > # > > # > # Colors > # > Color > { > BorderColor "white" > BorderTileForeground "white" > BorderTileBackground "black" > TitleForeground "white" > TitleBackground "black" > MenuForeground "white" > MenuBackground "black" > MenuTitleForeground "black" > MenuTitleBackground "white" > MenuShadowColor "white" > IconForeground "white" > IconBackground "black" > IconBorderColor "white" > IconManagerForeground "white" > IconManagerBackground "black" > ##PointerForeground "Red" > ##PointerBackground "Red" > } > > Monochrome > { > BorderColor "white" > BorderTileForeground "white" > BorderTileBackground "black" > TitleForeground "white" > TitleBackground "black" > MenuForeground "white" > MenuBackground "black" > MenuTitleForeground "black" > MenuTitleBackground "white" > MenuShadowColor "white" > IconForeground "white" > IconBackground "black" > IconBorderColor "white" > IconManagerForeground "white" > IconManagerBackground "black" > } > > # > # Fonts > # > MenuFont "9x15bold" > TitleFont "7x14" > IconFont "7x14" > ResizeFont "7x14" > IconManagerFont "7x14" > > # > # Other window appearance stuff > # > BorderWidth 4 > FramePadding 2 > ClientBorderWidth > UsePPosition "on" > RandomPlacement > OpaqueMove > DontMoveOff > Zoom > NoRaiseOnMove > NoRaiseOnResize > DecorateTransients > > # > # Icon manager stuff > # > IconManagerGeometry "=100x10-0+271" > > NoTitle > { > "TWM" > "xclock" > "xbatt" > "temp" > ##"xmeter" > "xcpu" > "console" > } > > NoHighlight > { > "xclock" > "xbatt" > "temp" > "xmeter" > } > > AutoRaise > { > ###"nothing" # I don't like auto-raise > ##"xclock" > ##"xbatt" > ##"temp" > ##"xmeter" > } > > DefaultFunction f.menu "default-menu" > #Button = KEYS : CONTEXT : FUNCTION > #---------------------------------- > Button1 = : root : f.menu "button1" > Button1 = : title : f.menu "button1" > Button1 = : title : f.raiselower > Button1 = : frame : f.raiselower > Button1 = : icon : f.iconify > Button1 = m : icon : f.raise > > Button2 = : root : f.menu "TwmWindows" > Button2 = : title : f.move > Button2 = : frame : f.move > Button2 = : icon : f.move > Button2 = m : icon : f.move > > Button3 = : root : f.menu "button3" > Button3 = : title : f.menu "button3" > ## do NOT raise on right-click so I can click to recover from "mouse grab" > ##Button3 = : frame : f.raiselower > Button3 = : icon : f.raiselower > Button3 = : iconmgr : f.function "de-raise-n-focus" > Button3 = c : root : f.function "beep-beep" > Button3 = m : icon : f.lower > > "F1" = : window : f.raise > "F1" = : title : f.raise > "F2" = : window : f.raise > "F2" = : title : f.raise > > "F9" = : window : :!"$HOME/bin/fsel" > "F9" = : title : :!"$HOME/bin/fsel" > > "F11" = : window : f.lower > "F11" = : title : f.lower > "F12" = : window : f.lower > "F12" = : title : f.lower > > Function "beep-beep" > { > f.beep > f.beep > f.beep > f.beep > f.beep > } > > Function "de-raise-n-focus" > { > f.deiconify > f.raise > f.focus > } > > Function "raise-n-focus" > { > f.raise > f.focus > } > > menu "button1" > { > "Web Browsers" f.title > " firefox (X, different user)" !"(chdir /tmp; $HOME/bin/firefox-via-X &)" > "" f.nop > " iridium" !"(chdir /tmp; iridium > --user-data-dir=$HOME/.config/iridium &)" > "" f.nop > " chromium" !"(chdir /tmp; chrome > --user-data-dir=$HOME/.config/chromium&)" > "" f.nop > " firefox (ssh, different user)" !"(chdir /tmp; $HOME/bin/firefox-via-ssh > &)" > " firefox (jonathan, raw)" !"(chdir /tmp; firefox -P firefox-raw &)" > "" f.nop > " epiphany [Ctrl-q exits]" !"(chdir /tmp; epiphany &)" > ## midori infinite-loops creating new windows over & over again :( > ##" midori [Ctrl-shift-Q exits]" !"(chdir /tmp; midori &)" > "" f.nop > " netsurf [NO JAVASCRIPT]" !"(chdir /tmp; netsurf-gtk &)" > " surf [NO JAVASCRIPT]" !"(chdir /tmp; surf &)" > " dillo [NO JAVASCRIPT]" !"(chdir /tmp; dillo &)" > } > > menu "button3" > { > "Window Ops" f.title > " Refresh" f.refresh > " Resize Window" f.resize > "forceMove Window" f.forcemove > " Raise or Lower" f.raiselower > " Magnify" !"xmag -source 128x128 &" > " Dump >/tmp/bkis.xwd --> .pnm" !"(xwd -out /tmp/bkis.xwd; xwdtopnm > /tmp/bkis.xwd >/tmp/bkis.pnm; /bin/rm -f /tmp/bkis.xwd) &" > "Dump >/tmp/bkis.xwd --> .png" !"(xwd -out /tmp/bkis.xwd; xwdtopnm > /tmp/bkis.xwd | pnmtopng >/tmp/bkis.png; /bin/rm -f /tmp/bkis.xwd) &" > "" f.nop > "Default Menu" f.menu "default-menu" > "" f.nop > "sync; suspend (NO LOCK)" !"sync; sleep 1; sync; sleep 2; zzz" > "sync; blank screen (NO LOCK)" !"sync; xlock -nolock -mode blank > -delay > 250000 &" > "" f.nop > "sync; lock screen" !"sync; xlock -mode blank -delay 250000 &" > "" f.nop > ## this doesn't work reliably -- sometimes it locks, sometimes it > doesn't :( > ##"sync; lock screen ; suspend" !"sync; (xlock -mode blank -delay > 250000 &); sleep 2; sync; sleep 3; zzz" > "" f.nop > "*** Kill Window ***" f.destroy > "" f.nop > "" f.nop > "*** Kill twm ***" f.quit > } > > menu "Icon" > { > "Show Icon Mgr" f.showiconmgr > "Hide Icon Mgr" f.hideiconmgr > "(De)Iconify" f.iconify > "DeIconify" f.deiconify > } > > menu "default-menu" > { > "Default Menu" f.title > "Refresh" f.refresh > "Refresh Window" f.winrefresh > "Zoom" f.zoom > "Icon actions" f.menu "Icon" > "twm Version" f.version > "Focus on Root" f.unfocus > "Source .twmrc" f.twmrc > "Cut File" f.cutfile > "(De)Iconify" f.iconify > "DeIconify" f.deiconify > "Move Window" f.move > "Resize Window" f.resize > "Raise Window" f.raise > "Lower Window" f.lower > "Focus on Window" f.focus > "Raise-n-Focus" f.function "raise-n-focus" > "Destroy Window" f.destroy > "Zoom Window" f.zoom > "FullZoom Window" f.fullzoom > "Kill twm" f.quit > } > --- end ~/.twmrc --- > > > Thanks for any insights anyone can offer, > -- > -- "Jonathan Thornburg [remove -color to reply]" > <dr.j.thornb...@gmail-pink.com> > currently on the west coast of Canada > "!07/11 PDP a ni deppart m'I !pleH" -- slashdot.org page footer, 2022-10-16 > "eHpl !'I mrtpaep dnia P PD1 /107" -- slightly more plausible message given > the PDP-11's little-endian byte order -- --Z--