Powerline: Les segments de coque "Au-dessus à droite" sont alignés à gauche sur la configuration multiligne

Créé le 29 juil. 2016  ·  7Commentaires  ·  Source: powerline/powerline

J'utilise Powerline avec des poissons de tmux. J'ai essayé de configurer une invite de shell multiligne et j'ai reçu le comportement suivant sur fish et zsh:

selection_009

Je n'ai pas encore essayé de reproduire dans une VM, donc s'il y a une chose évidente que je fais mal, veuillez le signaler.

Si cela aide, voici la sortie de env $POWERLINE_COMMAND shell right | xxd :

00000000: 1b5b 306d                                .[0m

Et voici les invites de poisson:

$ type fish_prompt                                                                                                                        
fish_prompt is a function with definition
function fish_prompt
    env $POWERLINE_COMMAND shell aboveleft --last-exit-code=$status --last-pipe-status=$status --jobnum=(jobs -p | wc -l) --renderer-arg=client_id=12917 --width=$_POWERLINE_COLUMNS --renderer-arg=mode=$fish_bind_mode --renderer-arg=default_mode=$_POWERLINE_DEFAULT_MODE
end
$ type fish_right_prompt                                                                                                                  
fish_right_prompt is a function with definition
function fish_right_prompt
    env $POWERLINE_COMMAND shell right --last-exit-code=$status --last-pipe-status=$status --jobnum=(jobs -p | wc -l) --renderer-arg=client_id=12917 --width=$_POWERLINE_COLUMNS --renderer-arg=mode=$fish_bind_mode --renderer-arg=default_mode=$_POWERLINE_DEFAULT_MODE
    echo -n " "
end

~/.config/powerline/themes/shell/default.json :

{
    "segments": {
        "above": [
            {
                "left": [
                    {
                        "function": "powerline.segments.common.net.hostname",
                        "priority": 10
                    },
                    {
                        "function": "powerline.segments.common.env.user",
                        "priority": 30
                    },
                    {
                        "function": "powerline.segments.shell.cwd",
                        "priority": 10
                    },
                    {
                        "function": "powerline.segments.shell.jobnum",
                        "priority": 20
                    }
                ],
                "right": [
                    {
                        "function": "powerline_gitstatus.gitstatus",
                        "priority": 40
                    },
                    {
                        "function": "powerline.segments.common.time.date",
                        "name": "time",
                        "args": {
                            "format": "%H:%M:%S",
                            "istime": true
                        }
                    },
                    {
                        "function": "powerline.segments.shell.last_pipe_status",
                        "priority": 10
                    },
                    {
                        "function": "powerline.segments.common.env.virtualenv",
                        "priority": 50
                    }
                ]
            }
        ],
        "left": [
            {
                "function": "powerline.segments.shell.mode"
            },
            {
                "function": "powerline.segments.shell.last_pipe_status",
                "priority": 10
            },
            {
                "function": "powerline.segments.common.time.date",
                "args": {
                    "format": "$"
                }
            }
        ],
        "right": [
        ]
    }
}

~/.tmux.conf :

set -g default-terminal "screen-256color"
POWERLINE_CONFIG_PATHS="$HOME/.config/powerline"
run-shell "powerline-daemon -q"
source "/usr/lib/python3.5/site-packages/powerline/bindings/tmux/powerline.conf"

Minimal config.fish :

set -gx POWERLINE_CONFIG_PATHS "$HOME/.config/powerline"

set fish_function_path $fish_function_path "/usr/lib/python3.5/site-packages/powerline/bindings/fish"
powerline-setup

source /usr/share/fish/functions/fzf.fish

Minimal .zshrc :

HYPHEN_INSENSITIVE="true"
DISABLE_AUTO_UPDATE="true"

if [[ -r /usr/lib/python3.5/site-packages/powerline/bindings/zsh/powerline.zsh ]]; then
    source /usr/lib/python3.5/site-packages/powerline/bindings/zsh/powerline.zsh
fi

Coquille: fish v2.3.1 , zsh 5.2
Python: 3.5.2
OS: Manjaro (dérivé d'Arch Linux)

$ pip show powerline-status

---
Metadata-Version: 1.1
Name: powerline-status
Version: 2.4
Summary: The ultimate statusline/prompt utility.
Home-page: https://github.com/powerline/powerline
Author: Kim Silkebaekken
Author-email: [email protected]
License: MIT
Location: /usr/lib/python3.5/site-packages
Requires: 
Classifiers:
  Development Status :: 5 - Production/Stable
  Environment :: Console
  Environment :: Plugins
  Intended Audience :: End Users/Desktop
  License :: OSI Approved :: MIT License
  Natural Language :: English
  Operating System :: Microsoft :: Windows
  Operating System :: POSIX
  Programming Language :: Python :: 2.6
  Programming Language :: Python :: 2.7
  Programming Language :: Python :: 3.2
  Programming Language :: Python :: 3.3
  Programming Language :: Python :: 3.4
  Programming Language :: Python :: Implementation :: CPython
  Programming Language :: Python :: Implementation :: PyPy
cshell sconfiguration error bug

Commentaire le plus utile

Juste un mot pour les googleurs comme moi.
Exemple de segment de remplissage:

{
    "type": "string",
    "highlight_groups": ["background"],
    "draw_soft_divider": false,
    "draw_hard_divider": false,
    "width": "auto"
}

Tous les 7 commentaires

Il vous manque un segment de remplissage. Les segments droits ne sont pas alignés à droite par conception, ils sont censés être alignés par des segments de remplissage. Des exemples peuvent être vus dans la configuration de Vim.

Bonjour @ ZyX-I
Comment puis-je créer un segment de remplissage? Y a-t-il un segment spécifique qui se comporte comme un remplisseur? Et comment puis-je donner l'impression que le sens "transparent" donne l'impression qu'il n'y avait rien d'écrit dessus

@Javiergg Les exemples de segments de remplissage se trouvent dans les thèmes Vim. Il n'y a pas d'option «transparente», vous devez créer un groupe de surbrillance qui a le même arrière-plan que le reste du terminal et l'utiliser pour le remplissage.

Je les ai trouvés. Merci beaucoup @ ZyX-I
Une question, bien qu'il n'y ait pas de couleur "transparente", serait-il possible de "détecter" la couleur d'arrière-plan du terminal ou de l'utiliser comme variable système?

@Javiergg Une telle option n'existe pas. Vous pouvez essayer d'utiliser la couleur 0, si je ne me trompe pas, cela devrait fonctionner comme vous le souhaitez jusqu'à ce que vous essayiez d'activer la coloration 24 bits.

Juste un mot pour les googleurs comme moi.
Exemple de segment de remplissage:

{
    "type": "string",
    "highlight_groups": ["background"],
    "draw_soft_divider": false,
    "draw_hard_divider": false,
    "width": "auto"
}

Bonjour à tous, et merci pour cette très belle idée CPL.
Est-il possible de voir un segment spécial pour le langage env? comme ruby ​​et rvm, python et django, etc ... peut-être une icône pour ruby ​​/ python / perl / autre -version et la position rvm pour les rails ...
Je pense qu'il devrait y avoir un moyen de le faire, et peut-être qu'il existe déjà un segment pour le montrer.
pourriez-vous m'arrêter là-dessus s'il vous plaît? (je ne suis pas si loin d'avoir le meilleur shell zsh-powerline sur mon OS archlinux, je suis très content)

Cette page vous a été utile?
0 / 5 - 0 notes