zsh-workers
 help / color / mirror / code / Atom feed
From: "Daniel Shahaf" <d.s@daniel.shahaf.name>
To: "Mikael Magnusson" <mikachu@gmail.com>
Cc: "Zsh hackers list" <zsh-workers@zsh.org>,
	"Marlon Richert" <marlon.richert@gmail.com>
Subject: Re: Rewrite of zsh-newuser-install (Mikael's subthread)
Date: Wed, 07 Apr 2021 18:50:39 +0000	[thread overview]
Message-ID: <d120b969-39ba-4eba-bd99-95c878336802@www.fastmail.com> (raw)
In-Reply-To: <CAHYJk3RUX6MyFB7o2WFE=P0-=QQ=gv49Z3VTyu+9Zm9fzmoB4A@mail.gmail.com>

Mikael Magnusson wrote on Wed, 07 Apr 2021 18:15 +00:00:
> On 4/7/21, Marlon <marlon.richert@gmail.com> wrote:
> >> On 5. Apr 2021, at 22.44, Mikael Magnusson <mikachu@gmail.com> wrote:
> >> On 4/5/21, Marlon Richert <marlon.richert@gmail.com> wrote:
> >>> # Auto-save last 20 dirs to file whenever we change dirs.
> >>> # See
> >>> http://zsh.sourceforge.net/Doc/Release/User-Contributions.html#Recent-Directories
> >>> autoload -Uz add-zsh-hook chpwd_recent_dirs
> >>> add-zsh-hook chpwd chpwd_recent_dirs
> >>> zstyle ':chpwd:*' recent-dirs-file ${ZDOTDIR:-$HOME}/.chpwd-recent-dirs
> >>>
> >>> # On startup, initialize dir stack from file.
> >>> autoload -Uz chpwd_recent_filehandler
> >>> chpwd_recent_filehandler
> >>> cd $reply[1]
> >>> dirs $reply[@] >/dev/null
> >>
> >> Does this start zsh in some other directory than it inherited from the
> >> terminal? If so, nak from me on that, way too surprising.
> >
> > It makes the shell pick up in the same dir as where you left off last time.
> > I would hardly call that surprising. In fact, I would pretty much call that
> > _expected_ for most applications nowadays.
> 
> I think most people on the list will strongly disagree with you here.

Yes and no.  On the one hand, "start in the cwd of the shell last
closed" would just get in my way: if I close an xterm on virtual desktop
2, switch to virtual desktop 3, and pop open a new xterm, I'd rather it
opened in ~ then in the cwd of the shell I just closed.

On the other hand, one of the things I miss since I migrated from
xfce4-terminal to «tabbed -c xterm -into» (from suckless-tools) is that the
former would default new tabs to the cwd of whatever command was running
in the tab in focus.  That guess wasn't always right, because it used
(IIRC) the cwd of the "top-most" (process tree -wise) shell in the tab
even if from that shell I ran zsh/vim/tmux and that process's cwd was
different, but in general, if I wanted the default of ~ it was easy
enough to just type «cd» and move on.

But even then, the default cwd wasn't some "global" thing; it was the
cwd of the tab in focus.  cwd's of other tabs, or of tabs in other
xfce4-terminal windows, wouldn't factor in.

So, if there was some way to say "Look up the process tree to the thing
I'm in" — be that a tmux session, a tabbed terminal emulator window,
a virtual desktop (in the `wmctrl -d` sense), etc. — and use that as the
default cwd of new processes, I might use that…

… but that's not going to be easy to get right, and in any case I amn't
going as far as to say it'd be good for the default zshrc.  It's stateful
magic.  If anything, it sounds like something that should be handled
outside zsh, by having whatever invokes zsh cd() before exec()ing.

Cheers,

Daniel


  reply	other threads:[~2021-04-07 18:51 UTC|newest]

Thread overview: 28+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-04-05 19:44 Mikael Magnusson
2021-04-05 21:01 ` Mikael Magnusson
2021-04-05 21:44 ` Bart Schaefer
2021-04-07 13:44   ` Marlon
2021-04-07 16:24     ` Daniel Shahaf
2021-04-10 11:23       ` Marlon
2021-04-10 20:46         ` dana
2021-04-10 21:41           ` Bart Schaefer
2021-04-10 22:03             ` Roman Perepelitsa
2021-04-11 11:38               ` Marlon Richert
2021-04-13 14:49               ` Daniel Shahaf
2021-04-13 14:55           ` Daniel Shahaf
2021-04-07 14:28 ` Marlon
2021-04-07 15:14   ` Daniel Shahaf
2021-04-07 16:36   ` Bart Schaefer
2021-04-07 18:15   ` Mikael Magnusson
2021-04-07 18:50     ` Daniel Shahaf [this message]
2021-04-07 20:08     ` Arseny Maslennikov
2021-04-09 20:07     ` Marlon
2021-04-09 22:04       ` Oliver Kiddle
2021-04-09 23:04         ` Daniel Shahaf
2021-04-09 23:55           ` Bart Schaefer
2021-04-13 15:00             ` Daniel Shahaf
2021-04-09 23:08         ` Bart Schaefer
2021-04-10  7:44           ` Roman Perepelitsa
2021-04-09 23:23       ` Mikael Magnusson
2021-04-10  7:45         ` Marlon Richert
2021-04-09 15:29   ` Marlon

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=d120b969-39ba-4eba-bd99-95c878336802@www.fastmail.com \
    --to=d.s@daniel.shahaf.name \
    --cc=marlon.richert@gmail.com \
    --cc=mikachu@gmail.com \
    --cc=zsh-workers@zsh.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).