mirror of
				https://github.com/tmux/tmux.git
				synced 2025-11-04 09:26:05 +00:00 
			
		
		
		
	Sync OpenBSD patchset 1003:
Only hide flags on the current window when the session is attached, from Roland Walker.
This commit is contained in:
		@@ -76,6 +76,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
			
		||||
		ctx->curclient->session = s;
 | 
			
		||||
		session_update_activity(s);
 | 
			
		||||
		server_redraw_client(ctx->curclient);
 | 
			
		||||
		s->curw->flags &= ~WINLINK_ALERTFLAGS;
 | 
			
		||||
	} else {
 | 
			
		||||
		if (!(ctx->cmdclient->flags & CLIENT_TERMINAL)) {
 | 
			
		||||
			ctx->error(ctx, "not a terminal");
 | 
			
		||||
@@ -104,6 +105,7 @@ cmd_attach_session_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
			
		||||
		environ_update(update, &ctx->cmdclient->environ, &s->environ);
 | 
			
		||||
 | 
			
		||||
		server_redraw_client(ctx->cmdclient);
 | 
			
		||||
		s->curw->flags &= ~WINLINK_ALERTFLAGS;
 | 
			
		||||
	}
 | 
			
		||||
	recalculate_sizes();
 | 
			
		||||
	server_update_socket();
 | 
			
		||||
 
 | 
			
		||||
@@ -108,6 +108,7 @@ cmd_switch_client_exec(struct cmd *self, struct cmd_ctx *ctx)
 | 
			
		||||
	recalculate_sizes();
 | 
			
		||||
	server_check_unattached();
 | 
			
		||||
	server_redraw_client(c);
 | 
			
		||||
	s->curw->flags &= ~WINLINK_ALERTFLAGS;
 | 
			
		||||
 | 
			
		||||
	return (0);
 | 
			
		||||
}
 | 
			
		||||
 
 | 
			
		||||
@@ -56,8 +56,10 @@ server_window_loop(void)
 | 
			
		||||
				server_status_session(s);
 | 
			
		||||
			TAILQ_FOREACH(wp, &w->panes, entry)
 | 
			
		||||
				server_window_check_content(s, wl, wp);
 | 
			
		||||
 | 
			
		||||
			if (!(s->flags & SESSION_UNATTACHED))
 | 
			
		||||
				w->flags &= ~(WINDOW_BELL|WINDOW_ACTIVITY);
 | 
			
		||||
		}
 | 
			
		||||
		w->flags &= ~(WINDOW_BELL|WINDOW_ACTIVITY);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
@@ -72,7 +74,7 @@ server_window_check_bell(struct session *s, struct winlink *wl)
 | 
			
		||||
 | 
			
		||||
	if (!(w->flags & WINDOW_BELL) || wl->flags & WINLINK_BELL)
 | 
			
		||||
		return (0);
 | 
			
		||||
	if (s->curw != wl)
 | 
			
		||||
	if (s->curw != wl || s->flags & SESSION_UNATTACHED)
 | 
			
		||||
		wl->flags |= WINLINK_BELL;
 | 
			
		||||
 | 
			
		||||
	action = options_get_number(&s->options, "bell-action");
 | 
			
		||||
@@ -129,7 +131,7 @@ server_window_check_activity(struct session *s, struct winlink *wl)
 | 
			
		||||
 | 
			
		||||
	if (!(w->flags & WINDOW_ACTIVITY) || wl->flags & WINLINK_ACTIVITY)
 | 
			
		||||
		return (0);
 | 
			
		||||
	if (s->curw == wl)
 | 
			
		||||
	if (s->curw == wl && !(s->flags & SESSION_UNATTACHED))
 | 
			
		||||
		return (0);
 | 
			
		||||
 | 
			
		||||
	if (!options_get_number(&w->options, "monitor-activity"))
 | 
			
		||||
@@ -165,7 +167,7 @@ server_window_check_silence(struct session *s, struct winlink *wl)
 | 
			
		||||
	if (!(w->flags & WINDOW_SILENCE) || wl->flags & WINLINK_SILENCE)
 | 
			
		||||
		return (0);
 | 
			
		||||
 | 
			
		||||
	if (s->curw == wl) {
 | 
			
		||||
	if (s->curw == wl && !(s->flags & SESSION_UNATTACHED)) {
 | 
			
		||||
		/*
 | 
			
		||||
		 * Reset the timer for this window if we've focused it.  We
 | 
			
		||||
		 * don't want the timer tripping as soon as we've switched away
 | 
			
		||||
@@ -217,7 +219,7 @@ server_window_check_content(
 | 
			
		||||
	/* Activity flag must be set for new content. */
 | 
			
		||||
	if (!(w->flags & WINDOW_ACTIVITY) || wl->flags & WINLINK_CONTENT)
 | 
			
		||||
		return (0);
 | 
			
		||||
	if (s->curw == wl)
 | 
			
		||||
	if (s->curw == wl && !(s->flags & SESSION_UNATTACHED))
 | 
			
		||||
		return (0);
 | 
			
		||||
 | 
			
		||||
	ptr = options_get_string(&w->options, "monitor-content");
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user