From mboxrd@z Thu Jan 1 00:00:00 1970 X-Spam-Checker-Version: SpamAssassin 3.4.4 (2020-01-24) on inbox.vuxu.org X-Spam-Level: X-Spam-Status: No, score=-3.3 required=5.0 tests=DKIM_SIGNED,DKIM_VALID, MAILING_LIST_MULTI,RCVD_IN_DNSWL_MED,T_SCC_BODY_TEXT_LINE, UNPARSEABLE_RELAY autolearn=ham autolearn_force=no version=3.4.4 Received: (qmail 17001 invoked from network); 19 Aug 2022 21:08:02 -0000 Received: from zero.zsh.org (2a02:898:31:0:48:4558:7a:7368) by inbox.vuxu.org with ESMTPUTF8; 19 Aug 2022 21:08:02 -0000 ARC-Seal: i=1; cv=none; a=rsa-sha256; d=zsh.org; s=rsa-20210803; t=1660943282; b=DlLWLXcSvAGZjl6jriLO5Kl91GVGli4pG1kBxgzTlo0qBLjmACj8IXLsOO2GqfNDATrUosPTJW AB3nMRldhHYrweWLPnTE7bTaFRcS/6RsXmF9JWnDRT7aF22EXCOMlXhU0eoBDQ5eiqBya95P6n vbyGOYNn5TQTg+TGUsBtbWqZ0jtJmLaXogIGOHL3ySn7kbNtRMlPebMcQa2Vd1iHnuj80WnfBH JJZgOsA9Sb8585o/YQwm5sGLmKq45X0PElaHDlm+GJHEs4Mw0+J6VDvebiMzARFDbDz6XvFB3W WNo5L6bkZxPJ3+Gdp1O1swdhCxerjPMwWjgpdsGUFYBv/Q==; ARC-Authentication-Results: i=1; zsh.org; iprev=pass (mail-ej1-f42.google.com) smtp.remote-ip=209.85.218.42; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed; d=zsh.org; s=rsa-20210803; t=1660943282; bh=pZEmJQUFKTODARoL1PPEirSBQ42h+/4oNUUnMoi4etY=; h=List-Archive:List-Owner:List-Post:List-Unsubscribe:List-Subscribe:List-Help: List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID:Date:From:In-Reply-To: References:MIME-Version:DKIM-Signature:DKIM-Signature; b=IX518fAF4Ropwsu/vDKtSSoks3CCPa/CJSTT5tnv8R/VhvSdB50w+TBO3UCbagqDvCWyT5nOqH mlDhwMm6WufjPe8iSjAYpfSnixkYyFF5aW7jchQEtjC8oyXOvdMgKmMs88wGUHgbgX+aAcD6Sb kcfXjevyF8mqqdcOKHd1BEDNYL+NLEvipchQaWGDo4Qy8QdpMcDOEWnLEDuuHh8qEmzMqOsKZd ZTq5r88e0TW/HVbkwbPeNR4uZTxVdeEUXvdG3RJ9iRLw1pZaLEahNx0wgAoGLWWZNSudSjXFdV 5My5odXAWI/a6XTUmdJh/qKGbDPV3YmECUKRMSBY00BIzg==; DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=zsh.org; s=rsa-20210803; h=List-Archive:List-Owner:List-Post:List-Unsubscribe: List-Subscribe:List-Help:List-Id:Sender:Content-Type:Cc:To:Subject:Message-ID :Date:From:In-Reply-To:References:MIME-Version:Reply-To: Content-Transfer-Encoding:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID; bh=pZEmJQUFKTODARoL1PPEirSBQ42h+/4oNUUnMoi4etY=; b=Gwy6cp7KUcOt6+bX5jFPIRc+eY 7S2mNQIuqhWijRkNa4Jc/SBAUO5TD/VrOxbwzwQuhDEbzljrXofcKh/iMJDgCmKv0f11CR1VQSCPu sl2zfnG3Wu7WCy/lGKc3FK620J9S95uIJCnjNOvKyjhXHQ+FApNj5SceaRHF2n6qjcAsLXj311I9D qhjo+NXaEG7GdmBuGjCDtnQZdLyBTuGVd8KViCxpXSZnYTf3qnqSSuE8rTX+IHG74e1W7sD65HADq JVt2ApxXBuicJd1iDfRbmCBkj/hI0SCiTdlps48VEIQKiXxTkvfBNJZdASp2QkwDijdxaspO6Oz/8 oLQeluKw==; Received: from authenticated user by zero.zsh.org with local id 1oP9Dl-000FYs-K5; Fri, 19 Aug 2022 21:08:01 +0000 Authentication-Results: zsh.org; iprev=pass (mail-ej1-f42.google.com) smtp.remote-ip=209.85.218.42; dkim=pass header.d=brasslantern-com.20210112.gappssmtp.com header.s=20210112 header.a=rsa-sha256; dmarc=none header.from=brasslantern.com; arc=none Received: from mail-ej1-f42.google.com ([209.85.218.42]:40922) by zero.zsh.org with esmtps (TLS1.3:TLS_AES_128_GCM_SHA256:128) id 1oP9CZ-000ErT-GU; Fri, 19 Aug 2022 21:06:48 +0000 Received: by mail-ej1-f42.google.com with SMTP id w19so10957538ejc.7 for ; Fri, 19 Aug 2022 14:06:47 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=brasslantern-com.20210112.gappssmtp.com; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc; bh=pZEmJQUFKTODARoL1PPEirSBQ42h+/4oNUUnMoi4etY=; b=ViAdWNCNv1CmE84mK3I3BVV3voHaAKilFpjNtyNGn8Pe4JsMua5vsJ6/2UNZRBJuC6 8HlVJgwICjYb7lwi3eCG5/Dj6Qij3paSe/EFsDBRLk+1HcCyeLyMXCPv2OI1sU9YBFeh u4yDrMAAURPXpu5dmpZon5/+orMtdk6/svWtQAIFalf95BvjxPCgHopYZXMldmGjZCaX 8Rwe6ArfBGYAZtL6HcOK+ITRFN6qWxX9VFckW3rXds42bH3KijqjpUjJCn+M5jWR2VWJ ssUBZScKsbfcNon3eZWGfPXM1lczOKX9bR32HlSSnpeoYHV0v1aKMp/4YtMhacKJsZVJ NDXA== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc; bh=pZEmJQUFKTODARoL1PPEirSBQ42h+/4oNUUnMoi4etY=; b=ETwmxK0ietG4SCeGngokx23enVnkjEB51KopO1MxLmqEwRyRrQqMDuRtO8VgvjNRV6 qvFU9zsxe83l3MmozUCTHtSCZEo+41CBo1JGz28i7vRshhbnXgW6zbm8il7fiSi6Hps4 XnN6SlXBddeZ8TkYdAi0YUMIiHtff85f4BMpRncyPIL9oAJ7aWtmIDHkHfOTzsuqCb9q OnSTS9gV8srn9yby8jHrAfJIMLxoExGy+CrLF0EaBz+7IOG71OZWgVEcGOE+OXM1VHYm 3TTnLbZ9xWyJWXvH3LiS4QQ1+PHYjVqQ9UiT3LAukbsay9WQWEz5OH1BtX67LlKkpVG3 5zGw== X-Gm-Message-State: ACgBeo2gg/mi6O99YagNLqndmoRCf5gWMIG0JVg1OtrixH6JgZ654HDv UP3uCRJs9sFKzS+bIQsUDm/PKbqdpm1UHo1nEFAxottMHSI= X-Google-Smtp-Source: AA6agR6AwtnOs3grS7CbFmzpCZ3miRWJQLTAO7iOuQqtibiGDzDETfWQRvYFfVmgiMO8FEb4YMVMw6b1jbHThENFf9M= X-Received: by 2002:a17:907:284a:b0:730:a1f1:38b5 with SMTP id el10-20020a170907284a00b00730a1f138b5mr5766211ejc.732.1660943207098; Fri, 19 Aug 2022 14:06:47 -0700 (PDT) MIME-Version: 1.0 References: In-Reply-To: From: Bart Schaefer Date: Fri, 19 Aug 2022 14:06:35 -0700 Message-ID: Subject: Re: Curses overlay on existing screen content To: Zach Riggle Cc: Zsh Users Content-Type: text/plain; charset="UTF-8" X-Seq: 27972 Archived-At: X-Loop: zsh-users@zsh.org Errors-To: zsh-users-owner@zsh.org Precedence: list Precedence: bulk Sender: zsh-users-request@zsh.org X-no-archive: yes List-Id: List-Help: List-Subscribe: List-Unsubscribe: List-Post: List-Owner: List-Archive: On Fri, Aug 19, 2022 at 1:16 PM Zach Riggle wrote: > > I'm new to curses and was playing around with zsh/curses, but it seems that the screen will always clear on init and end -- there's no way to create a "window" at the bottom of the screen and persist its contents after "end". This is going to depend entirely on the implementation of endwin() in whatever curses library zsh is linked against; "zcurses end" merely invokes that. You might be able to fool it by sending some explicit control sequences to tell the terminal to change the viewport first ... or just never call "zcurses end" and shuffle the cursor position etc. around yourself once you are seeing what you want. Ultimately it would be nice to add "scr_dump" or "putwin" to zcurses so you could dump the screen to a file and then slurp it in after "end", but it looks like (web search) ncurses doesn't implement those functions yet anyway?