vercel / hyper

A terminal built on web technologies
https://hyper.is
MIT License
43.2k stars 3.5k forks source link

How do I set the default directory with Windows 10? #2794

Closed Khaleel closed 6 years ago

Khaleel commented 6 years ago

Issue

I am using Windows 10. I want Hyper to open in "D:\Users\kmug7\Dropbox\Dropbox\WEBX\www"

Whenever I start it. I tried editing the preferences. Before it was:

shellArgs: ['--login'],

Now it is:

shellArgs: ['D:\Users\kmug7\Dropbox\Dropbox\WEBX\www'],

I also tried:

shellArgs: ['D:\Users\kmug7\Dropbox\Dropbox\WEBX\www', '--login'],

moso commented 6 years ago

Windows needs double-backslashes for some reason.

D:\\Users\\[...]

Khaleel commented 6 years ago

It still is not working. This my config:


// Future versions of Hyper may add additional config options,
// which will not automatically be merged into this file.
// See https://hyper.is#cfg for all currently supported options.

module.exports = {
  config: {
    // Choose either "stable" for receiving highly polished,
    // or "canary" for less polished but more frequent updates
    updateChannel: 'stable',

    // default font size in pixels for all tabs
    fontSize: 16,

    // font family with optional fallbacks
    fontFamily: 'Menlo, "DejaVu Sans Mono", Consolas, "Lucida Console", monospace',

    // terminal cursor background color and opacity (hex, rgb, hsl, hsv, hwb or cmyk)
    cursorColor: 'rgba(248,28,229,0.8)',

    // `BEAM` for |, `UNDERLINE` for _, `BLOCK` for โ–ˆ
    cursorShape: 'BLOCK',

    // set to true for blinking cursor
    cursorBlink: false,

    // color of the text
    foregroundColor: '#fff',

    // terminal background color
    backgroundColor: '#000',

    // border color (window, tabs)
    borderColor: '#333',

    // custom css to embed in the main window
    css: '',

    // custom css to embed in the terminal window
    termCSS: '',

    // set to `true` (without backticks) if you're using a Linux setup that doesn't show native menus
    // default: `false` on Linux, `true` on Windows (ignored on macOS)
    showHamburgerMenu: '',

    // set to `false` if you want to hide the minimize, maximize and close buttons
    // additionally, set to `'left'` if you want them on the left, like in Ubuntu
    // default: `true` on windows and Linux (ignored on macOS)
    showWindowControls: '',

    // custom padding (css format, i.e.: `top right bottom left`)
    padding: '12px 14px',

    // the full list. if you're going to provide the full color palette,
    // including the 6 x 6 color cubes and the grayscale map, just provide
    // an array here instead of a color map object
    colors: {
      black: '#000000',
      red: '#ff0000',
      green: '#33ff00',
      yellow: '#ffff00',
      blue: '#0066ff',
      magenta: '#cc00ff',
      cyan: '#00ffff',
      white: '#d0d0d0',
      lightBlack: '#808080',
      lightRed: '#ff0000',
      lightGreen: '#33ff00',
      lightYellow: '#ffff00',
      lightBlue: '#0066ff',
      lightMagenta: '#cc00ff',
      lightCyan: '#00ffff',
      lightWhite: '#ffffff'
    },

    // the shell to run when spawning a new session (i.e. /usr/local/bin/fish)
    // if left empty, your system's login shell will be used by default
    //
    // Windows
    // - Make sure to use a full path if the binary name doesn't work
    // - Remove `--login` in shellArgs
    //
    // Bash on Windows
    // - Example: `C:\\Windows\\System32\\bash.exe`
    //
    // Powershell on Windows
    // - Example: `C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\powershell.exe`
    shell: '',

    // for setting shell arguments (i.e. for using interactive shellArgs: ['-i'])
    // by default ['--login'] will be used
    shellArgs: ['D:\\Users\\kmug7\\Dropbox\\Dropbox\\WEBX\\www', '--login'],

    // for environment variables
    env: {},

    // set to false for no bell
    bell: 'SOUND',

    // if true, selected text will automatically be copied to the clipboard
    copyOnSelect: false

    // if true, on right click selected text will be copied or pasted if no
    // selection is present (true by default on Windows)
    // quickEdit: true

    // URL to custom bell
    // bellSoundURL: 'http://example.com/bell.mp3',

    // for advanced config flags please refer to https://hyper.is/#cfg
  },

  // a list of plugins to fetch and install from npm
  // format: [@org/]project[#version]
  // examples:
  //   `hyperpower`
  //   `@company/project`
  //   `project#1.0.1`
  plugins: [`hyperpower`],

  // in development, you can create a directory under
  // `~/.hyper_plugins/local/` and include it here
  // to load it and avoid it being `npm install`ed
  localPlugins: [],

  keymaps: {
    // Example
    // 'window:devtools': 'cmd+alt+o',
  }
};
tool3 commented 6 years ago

@Khaleel the path you provided in your .hyper.js is not a path to bash.exe.

You should set the shell prop to your bash.exe, and leave shellArgs as --login (unless you have other shell args)

If you want to open the terminal in a particular folder then you can use a .bash_profile file in your home directory and simply type in the command to cd to your desired folder.

Mind you, that every bash/tab you open will start on that folder.

chabou commented 6 years ago

@Khaleel Which shell do you want to use? cmd? In this case I think taht you should use `/K ' option:

  ...
  shellArgs: ['/K', 'cd /d D:\\Users\\kmug7\\Dropbox\\Dropbox\\WEBX\\www'],
  ...

(https://stackoverflow.com/a/60907)

Khaleel commented 6 years ago

Thanks for reply dude. Obviously I want to use Hyper and not cmd :)

chabou commented 6 years ago

Obviously? it makes no sense ๐Ÿ˜› Hyper is a terminal. It runs an underlying shell. It could be cmd, powershell, git-bash, cygwin, WSL bash (and more...) on Windows.

By default, hyper is running cmd. So please try my comment ;)

Khaleel commented 6 years ago

Great it worked! Thanks for putting the reference with the explanation too

panmona commented 6 years ago

I changed the shell to powershell, how can I set the default directory with that?

I tried: '-command "cd C:\\MyPath" '-command "Set-Location C:\\MyPath" and of these also without the ""

TimoStaudinger commented 6 years ago

@maracuja-juice I did get this to work for PowerShell with the following configuration:

shellArgs: ['-noexit', '-command', 'Set-Location C:\\projects'],

This will launch a PowerShell instance and navigate to C:\projects.

Suhail commented 5 years ago

How would you do this with git-bash as the default shell?

whyboris commented 5 years ago

@Suhail -- alternative solution: After git-bash starts you'll likely be in your home directory (same as cd ~) There, look if you have a .bashrc file (do ls -la). If not present, create it, otherwise add a new line at the end of the file: cd ../../Code (the path to wherever you'd like to start) ๐Ÿ˜…

ThisNameNotUsed commented 3 years ago

I can't start in a different directory at all in CMD / Hyper. I have read all the links and tried these commands out in regular cmd where they work fine.

shell: '', and shellArgs: ['/K', 'cd /d C:\\Users\\OPS\\source'],

EDIT: I don't know what the problem was. I had to uninstall hyper and delete all its contents from my appData folder and then it started working. I have been using a lot of hyper install/uninstall and I am new to hyper so it could have been anything.

juanmrodri commented 3 years ago

@Suhail -- alternative solution: After git-bash starts you'll likely be in your home directory (same as cd ~) There, look if you have a .bashrc file (do ls -la). If not present, create it, otherwise add a new line at the end of the file: cd ../../Code (the path to wherever you'd like to start) ๐Ÿ˜…

Hi! is it the same to enter to de file by typing "nano ~/.bashrc"?, i mean, its the same file, in case it doesnยดt apear there