From nobody Mon Feb 9 11:33:41 2026 Delivered-To: importer@patchew.org Authentication-Results: mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail(p=none dis=none) header.from=gmail.com ARC-Seal: i=1; a=rsa-sha256; t=1593448946; cv=none; d=zohomail.com; s=zohoarc; b=M1Iqh0J74Rcw/rKCrnVl+ajMT1vxlwl2mNLEj/jKYEXGY41IWiY9ra8dkHcJqdvNG3UEl3YanpJFX9OCe9iSzNV36d8MtQBPkIQItlvld77pgNJKV0LPogCLCt4M1wFIfzv2AD7bIODLxXFsY2ontRxXqCawODTnrfMBRFFxz/Q= ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=zohomail.com; s=zohoarc; t=1593448946; h=Content-Transfer-Encoding:Cc:Date:From:In-Reply-To:List-Subscribe:List-Post:List-Id:List-Archive:List-Help:List-Unsubscribe:MIME-Version:Message-ID:References:Sender:Subject:To; bh=qIOYbuvilU4Digqleh4xnQWueJUIUIR9yScgMm3N+yw=; b=J3oDZUOlVm780key1vcTDTiiWIAtA1mkIWro2+gzWbheWgjkoyRM8ote00dQiqwBlhp/1RNo+qUpkKKMy/V0Z42woCF3Q2CbsuyflyD/AiJ7/8ZzTiOX+eBzHuzHoSKuowbJbIU3MD9fi6BOj2lpihJZpzHfxdiRyQ4WUbi4Oc8= ARC-Authentication-Results: i=1; mx.zohomail.com; dkim=fail; spf=pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) smtp.mailfrom=qemu-devel-bounces+importer=patchew.org@nongnu.org; dmarc=fail header.from= (p=none dis=none) header.from= Return-Path: Received: from lists.gnu.org (lists.gnu.org [209.51.188.17]) by mx.zohomail.com with SMTPS id 1593448946555399.8261959886189; Mon, 29 Jun 2020 09:42:26 -0700 (PDT) Received: from localhost ([::1]:45840 helo=lists1p.gnu.org) by lists.gnu.org with esmtp (Exim 4.90_1) (envelope-from ) id 1jpwrR-00025J-8W for importer@patchew.org; Mon, 29 Jun 2020 12:42:25 -0400 Received: from eggs.gnu.org ([2001:470:142:3::10]:55948) by lists.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_256_GCM_SHA384:256) (Exim 4.90_1) (envelope-from ) id 1jpwqJ-0000IY-Ck for qemu-devel@nongnu.org; Mon, 29 Jun 2020 12:41:15 -0400 Received: from mail-lj1-x244.google.com ([2a00:1450:4864:20::244]:45937) by eggs.gnu.org with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.90_1) (envelope-from ) id 1jpwqH-0007v3-PF for qemu-devel@nongnu.org; Mon, 29 Jun 2020 12:41:15 -0400 Received: by mail-lj1-x244.google.com with SMTP id t25so14187343lji.12 for ; Mon, 29 Jun 2020 09:41:13 -0700 (PDT) Received: from localhost.localdomain (193-239-39-51.ksi-system.net. [193.239.39.51]) by smtp.gmail.com with ESMTPSA id o1sm37641lfi.92.2020.06.29.09.41.11 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 29 Jun 2020 09:41:11 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=qIOYbuvilU4Digqleh4xnQWueJUIUIR9yScgMm3N+yw=; b=Qq56aqrgJSwHYHolUoT6MMfPYS41rRSJ5G8D7yc77fTOszfh6lmmoCfu2KwpwyIURY eQmFG69KEOcxGPerD93wrOK87WTJGa1nH2SkOfdEDO+Igzm/JpGo42kbUzlv5PIyjG/w guF+PtU2LuBsYp7eb6TCcweaJ515J9CxFbg/VaEfWTNgBydM88eI6sapsLx5TpJ5FlxM T9FZSxjClZrptJfxpWz4bqVX80W42uVvTCx3OmTVCdk3rx5y7ZF4A95W/MZtUdx9VICq Qi2t8i4dhQphn9PDvq6/swdDY7B7t67TUnhzTAS8Ac4fFJkMrkuEvq9ox0RG7NiSoh7q jKoA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=qIOYbuvilU4Digqleh4xnQWueJUIUIR9yScgMm3N+yw=; b=hCgThAjYV9tI+gW9buU4sK+Lb7YMyQkxfr+smBXvt5VsS06GxnuCYoOSoaASd5eGfY rrHi/W44ek0BkW2dqtoir0q1sA+p1fp0I2UvbXaWm+xFyPOElIxAunjKd2s6RO42Y18P +oncFCLwCPHLRvNXbDzuyAwiOHuFyYMTrXuGRj0rCyMwnw6Ans2VUyi21Az8HIAmzFuu guDOoNxRdtTRXtvQLcc7zMjz4tioLoNvlKBQdoB515sKky1cpy7sBSL0nHq0+T92HiRl jfRxCfnIRQ0AZ6p/ni5JtEDiqpwLRKmG7HJkhujVCiV+iMD2YZ3ukXsYgvsfJb64zsht nfKA== X-Gm-Message-State: AOAM53086mi21kILOLpXGtPFlrjtOojB/y+B7QQ+sfqX29AoLz2Zo+sP t7M4KfcPar3/b1PyEpWuLUQXrON9HiUYnw== X-Google-Smtp-Source: ABdhPJxIcoI6+rjA6UE46chYve5jNzwvXR8SibuIldCU5D3T/7ssoa6o4tZ5qzKuQxnNFCrVnVShHg== X-Received: by 2002:a2e:b0fa:: with SMTP id h26mr8076038ljl.148.1593448871855; Mon, 29 Jun 2020 09:41:11 -0700 (PDT) From: Szymon Lukasz To: qemu-devel@nongnu.org Subject: [PATCH v3 4/9] char-mux: add support for the terminal size Date: Mon, 29 Jun 2020 18:40:36 +0200 Message-Id: <20200629164041.472528-5-noh4hss@gmail.com> X-Mailer: git-send-email 2.27.0 In-Reply-To: <20200629164041.472528-1-noh4hss@gmail.com> References: <20200629164041.472528-1-noh4hss@gmail.com> MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable Received-SPF: pass (zohomail.com: domain of gnu.org designates 209.51.188.17 as permitted sender) client-ip=209.51.188.17; envelope-from=qemu-devel-bounces+importer=patchew.org@nongnu.org; helo=lists.gnu.org; Received-SPF: pass client-ip=2a00:1450:4864:20::244; envelope-from=noh4hss@gmail.com; helo=mail-lj1-x244.google.com X-detected-operating-system: by eggs.gnu.org: No matching host in p0f cache. That's all we know. X-Spam_score_int: -20 X-Spam_score: -2.1 X-Spam_bar: -- X-Spam_report: (-2.1 / 5.0 requ) BAYES_00=-1.9, DKIM_SIGNED=0.1, DKIM_VALID=-0.1, DKIM_VALID_AU=-0.1, DKIM_VALID_EF=-0.1, FREEMAIL_FROM=0.001, RCVD_IN_DNSWL_NONE=-0.0001, SPF_HELO_NONE=0.001, SPF_PASS=-0.001 autolearn=_AUTOLEARN X-Spam_action: no action X-BeenThere: qemu-devel@nongnu.org X-Mailman-Version: 2.1.23 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: lvivier@redhat.com, berrange@redhat.com, amit@kernel.org, mst@redhat.com, Szymon Lukasz , marcandre.lureau@redhat.com, pbonzini@redhat.com Errors-To: qemu-devel-bounces+importer=patchew.org@nongnu.org Sender: "Qemu-devel" X-ZohoMail-DKIM: fail (Header signature does not verify) Content-Type: text/plain; charset="utf-8" The terminal size of a mux chardev should be the same as the real chardev, so listen for CHR_EVENT_RESIZE to be up to date. We forward CHR_EVENT_RESIZE only to the focused frontend. This means frontends should probably update their view of the terminal size on receiving CHR_EVENT_MUX_IN. Signed-off-by: Szymon Lukasz --- chardev/char-mux.c | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/chardev/char-mux.c b/chardev/char-mux.c index 46c44af67c..fa81f8341e 100644 --- a/chardev/char-mux.c +++ b/chardev/char-mux.c @@ -247,9 +247,24 @@ void mux_chr_send_all_event(Chardev *chr, QEMUChrEvent= event) } } =20 +static void mux_update_winsize(Chardev *chr) +{ + MuxChardev *d =3D MUX_CHARDEV(chr); + uint16_t cols, rows; + + qemu_chr_fe_get_winsize(&d->chr, &cols, &rows); + qemu_chr_resize(chr, cols, rows); +} + static void mux_chr_event(void *opaque, QEMUChrEvent event) { - mux_chr_send_all_event(CHARDEV(opaque), event); + Chardev *chr =3D CHARDEV(opaque); + + if (event =3D=3D CHR_EVENT_RESIZE) { + mux_update_winsize(chr); + } else { + mux_chr_send_all_event(chr, event); + } } =20 static GSource *mux_chr_add_watch(Chardev *s, GIOCondition cond) @@ -330,6 +345,7 @@ static void qemu_chr_open_mux(Chardev *chr, */ *be_opened =3D machine_init_done; qemu_chr_fe_init(&d->chr, drv, errp); + mux_update_winsize(chr); } =20 static void qemu_chr_parse_mux(QemuOpts *opts, ChardevBackend *backend, --=20 2.27.0