>> pull-hidden-other sorts all windows in the group by their last access >> time. So windows that were recently focused are at the beginning of >> the list. Then it walks that list until it finds a window that is not >> its frame's top window. It pulls that window into the current frame. > > Thanks! That helps quite a bit. I'm guessing that the line in the first > paragraph should read "looking for a window that is not *any* frame's > top window", right?
Well, the two statements are equivalent right now. A window always exists in only one frame's list. So if it's not the top window in its frame then it's not the top window for any frame. >>> In a semi-related question, is anyone doing anything like the following, >>> and/or could anyone help me fix this? >>> >>> --8<---------------cut here---------------start------------->8--- >>> (defun send-key-other-window (dir) >>> ;; `last' of `group-frames' doesn't actually return the most >>> ;; recently focused frame, just the last in a list apparently >>> ;; starting at top left. How do we sort according to most recently >>> ;; focused? >>> (send-fake-key >>> (frame-window (car (last (group-frames (current-group))))) >>> (kbd dir))) > Interesting… That's good to know, though my problem here is with > targeting the correct frame and window, not with sending the keypress. > I'll muddle with it a bit more. Ah! I missed that part. frames are stored in a tree so that destroying frames removes the split the way it was created. group-frames collapses that tree into a list. you want (frame-window (tile-group-last-frame (current-group))) Curiously frames don't have a last-accessed-time the way windows do. tile-group-last-frame is kind of a hack to get around that. -Shawn _______________________________________________ Stumpwm-devel mailing list Stumpwm-devel@nongnu.org https://lists.nongnu.org/mailman/listinfo/stumpwm-devel