Skip to content

Commit c411208

Browse files
Anna Maniscalcomisyltoad
authored andcommitted
steamcompmgr: pick focused pid consistently with engine
Pick focusedWindow_pid the same way as focusedWindow_engine which has proven more reliable.
1 parent 7d4e835 commit c411208

File tree

1 file changed

+5
-4
lines changed

1 file changed

+5
-4
lines changed

src/steamcompmgr.cpp

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1022,7 +1022,7 @@ unsigned int g_BlurFadeDuration = 0;
10221022
int g_BlurRadius = 5;
10231023
unsigned int g_BlurFadeStartTime = 0;
10241024

1025-
pid_t focusWindow_pid;
1025+
pid_t focusWindow_pid, sdFocusWindow_pid;
10261026
std::shared_ptr<std::string> focusWindow_engine = nullptr;
10271027

10281028
focus_t g_steamcompmgr_xdg_focus;
@@ -4161,8 +4161,8 @@ determine_and_apply_focus( global_focus_t *pFocus )
41614161

41624162
#if HAVE_LIBSYSTEMD
41634163
pid_t newFocusedWindowPID = pFocus->focusWindow ? pFocus->focusWindow->pid : 0;
4164-
if (g_dbus && focusWindow_pid != newFocusedWindowPID) {
4165-
const char *unfocusedWindowUnit = unit_from_pid(focusWindow_pid);
4164+
if (g_dbus && sdFocusWindow_pid != newFocusedWindowPID) {
4165+
const char *unfocusedWindowUnit = unit_from_pid(sdFocusWindow_pid);
41664166
const char *focusedWindowUnit = unit_from_pid(newFocusedWindowPID);
41674167
bool sameUnit = unfocusedWindowUnit && focusedWindowUnit && !strcmp(unfocusedWindowUnit, focusedWindowUnit);
41684168

@@ -4187,7 +4187,7 @@ determine_and_apply_focus( global_focus_t *pFocus )
41874187
focusedBaseAppId = pFocus->focusWindow->appID;
41884188
focusedAppId = pFocus->inputFocusWindow->appID;
41894189
focused_display = get_win_display_name(pFocus->focusWindow);
4190-
focusWindow_pid = pFocus->focusWindow->pid;
4190+
sdFocusWindow_pid = pFocus->focusWindow->pid;
41914191
}
41924192

41934193
g_focusedBaseAppId = (uint32_t)focusedAppId;
@@ -6507,6 +6507,7 @@ bool handle_done_commit( steamcompmgr_win_t *w, xwayland_ctx_t *ctx, uint64_t co
65076507
hasRepaint = true;
65086508

65096509
focusWindow_engine = w->engineName;
6510+
focusWindow_pid = w->pid;
65106511
}
65116512

65126513
if ( w == pFocus->overrideWindow )

0 commit comments

Comments
 (0)