Sublime Forum

"save_on_focus_lost" buggy on Linux

#1

I’m having issues with “save_on_focus_lost” not working after a period of time after launching sublime. I’m using build 3131, but I’ve also noticed this on previous builds. I’ve gone ahead and removed all packages. It can happen pretty randomly, but I think I repro’d the sequence of events to make it happen.

This is on Ubuntu 16.04 with the window manager Awesome 4.1.

The following was after opening sublime, keyboard switching to a terminal, starting xev, keyboarding switching back to sublime, clicking on it, entering some text, and clicking back on the terminal. After this sequence of events, save_on_focus_lost stopped working:

$ xev -id 0x1a00003 -event focus

FocusIn event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyGrab, detail NotifyPointer

FocusIn event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyWhileGrabbed, detail NotifyNonlinear

FocusOut event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyWhileGrabbed, detail NotifyInferior

FocusIn event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyUngrab, detail NotifyVirtual

FocusOut event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyNormal, detail NotifyNonlinearVirtual

The following was after the exact same sequence of events as before except this time, save_on_focus_lost is still working:

$ xev -id 0x1a00003 -event focus

FocusIn event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyGrab, detail NotifyPointer

FocusIn event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyWhileGrabbed, detail NotifyNonlinear

FocusOut event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyWhileGrabbed, detail NotifyInferior

FocusOut event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyUngrab, detail NotifyPointer

FocusIn event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyUngrab, detail NotifyVirtual

FocusOut event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyNormal, detail NotifyNonlinearVirtual

The difference appears to be this event that’s missing from the broken sequence and present in the working sequence:

FocusOut event, serial 18, synthetic NO, window 0x1a00003,
    mode NotifyUngrab, detail NotifyPointer

I’m suspicious that this is due to how unclutter modifies the behavior of the cursor.

0 Likes