Maximus5 / ConEmu

Customizable Windows terminal with tabs, splits, quake-style, hotkeys and more
https://conemu.github.io/
BSD 3-Clause "New" or "Revised" License
8.53k stars 572 forks source link

Where does or should CmdInit.cmd copy live? #2385

Open maphew opened 2 years ago

maphew commented 2 years ago

At the beginning of CmdInit.cmd it says "Do not change this file in-place, change its copy instead"

Where is this copy? Does it already exist or is something the user creates? I don't see this in the docs, but maybe I'm just scanning too quickly.

Issue #728 indicates maybe there's an environment variable involved?

maphew commented 2 years ago

Section https://conemu.github.io/en/CmdPrompt.html#how-to-set-up-your-prompt-automatically indicates the location and name of the copy is aribtrary, and by implication using it entails editing your conemu Tasks to point to the copy.

A systematic way to approach this might be to have the global CmdInit.cmd call %APPDATA%\ConEmu\CmdInit.cmd or %USERPROFILE%\.conemu\CmdInit.cmd (if it exists) at the end of itself.

Maximus5 commented 2 years ago

Where is this copy? Does it already exist or is something the user creates?

ConEmu does not provide a "copy" of the files. Just make a copy by yourself.

Calling the %USERPROFILE%\.conemu\CmdInit.cmd is a good idea. I'll consider it.

Maximus5 commented 2 years ago

https://conemu.github.io/blog/2022/03/08/Build-220308.html

jdunn0 commented 2 years ago

I just saw the release notes for the latest version and it mentioned a new feature referencing this issue and I wanted to point out that the path of %USERPROFILE%\.conemu\CmdInit.cmd is not the correct path to use for this feature.

The format of $HOME\.programname is a nix OS convention that shouldn't be used on Windows. In fact with the the XDG standard, it should be $HOME/.cache and $HOME/.config instead on nix systems which is similar to how Windows handles configuration directories.

In Windows, the correct user configuration paths are %LOCALAPPDATA% for user configuration that should stay local to the computer and %APPDATA% for data that can be synced to multiple computers via the roaming profiles feature available when using domain accounts. For local accounts the main use is to store cache files in %LOCALAPPDATA% so that it is easier to clear out cache files separate from the main config files.

So the other option listed in the OPs post of %APPDATA%\ConEmu\CmdInit.cmd would be a better option.

maphew commented 2 years ago

A scan of my USERPROFILE on home workstation shows 7 .programname folders including .vscode for Visual Studio Code from Microsoft. My office workstation is probably double that, so while not official it is a common convention.

My personal reason for preferring home/dot-dir is that I back these up and migrate the contents from machine to machine while I largely ignore what programs put in APPDATA becayse for the most part these fill up with temporary and intermediate files I'd rather get rid of. This might be iodyncratic to the software I tend to use and the experience of others could differ.

I'm happy to use whatever @Maximus5 prefers however.