my xfce4 dotfiles
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

197 lines
5.3 KiB

3 years ago
  1. battery: use the same technique as in vpn_ip to avoid reset=2.
  2. ---
  3. implement fake gitstatus api on top of vcs_info (or plain git?) + worker and use it if there is no
  4. gitstatus.
  5. ---
  6. - call vcs_info on worker. the tricky question is what to display while "loading".
  7. ---
  8. - add _SHOW_SYSTEM to all *env segments.
  9. ---
  10. - support states in SHOW_ON_COMMAND: POWERLEVEL9K_SEGMENT_STATE_SHOW_ON_COMMAND='...'
  11. ---
  12. add POWERLEVEL9K_${SEGMENT}_${STATE}_SHOW_IN_DIR='pwd_pattern'; implement the same way as
  13. SHOW_ON_UPGLOB. how should it interact with POWERLEVEL9K_${SEGMENT}_DISABLED_DIR_PATTERN?
  14. ---
  15. add `p10k upglob`; returns 0 on match and sets REPLY to the directory where match was found.
  16. ---
  17. when directory cannot be shortened any further, start chopping off segments from the left and
  18. replacing the chopped off part with `…`. e.g., `…/x/anchor/y/anchor`. the shortest dir
  19. representation is thus `…/last` or `…/last` depending on whether the last segment is an anchor.
  20. the replacement parameter's value is `…/` (with a slash) to allow for `x/anchor/y/anchor`.
  21. ---
  22. - add to faq: how do i display an environment variable in prompt? link it from "extensible"
  23. ---
  24. - add to faq: how do i display an icon in prompt? link it from "extensible"
  25. ---
  26. - add root_indicator to config templates
  27. ---
  28. - test chruby and add it to config templates
  29. ---
  30. - add ssh to config templates
  31. ---
  32. - add swift version to config templates; see if there is a good pattern for PROJECT_ONLY
  33. ---
  34. - add swiftenv
  35. ---
  36. - add faq: how to customize directory shortening? mention POWERLEVEL9K_DIR_TRUNCATE_BEFORE_MARKER,
  37. POWERLEVEL9K_DIR_MAX_LENGTH and co., and truncate_to_last.
  38. ---
  39. fix a bug in zsh: https://github.com/romkatv/powerlevel10k/issues/502. to reproduce:
  40. ```zsh
  41. emulate zsh -o prompt_percent -c 'print -P "%F{#ff0000}red%F{green}%B bold green"'
  42. ```
  43. ---
  44. add `p10k explain` that prints something like this:
  45. ```text
  46. segment icons meaning
  47. ---
  48. ---
  49. ---
  50. ---
  51. ---
  52. ---
  53. ---
  54. ---
  55. --
  56. status ✔ ✘ exit code of the last command
  57. ```
  58. implement it the hard way: for every enabled segment go over all its {state,icon} pairs, resolve
  59. the icon (if not absolute), apply VISUAL_IDENTIFIER_EXPANSION, remove leading and trailing
  60. whitespace and print without formatting (sort of like `print -P | cat`); print segment names in
  61. green and icons in bold; battery can have an unlimited number of icons, so `...` would be needed
  62. (based on total length of concatenated icons rather than the number of icons); user-defined
  63. segments would have "unknown" icons by default (yellow and not bold); can allow them to
  64. participate by defining `explainprompt_foo` that populates array `reply` with strings like this:
  65. '-s STATE -i LOCK_ICON +r'; the first element must be segment description.
  66. ---
  67. add `docker_context` prompt segment; similar to `kubecontext`; the data should come from
  68. `currentContext` field in `~/.docker/config.json` (according to
  69. https://github.com/starship/starship/issues/995); there is also `DOCKER_CONTEXT`; more info:
  70. https://docs.docker.com/engine/reference/commandline/context_use; also
  71. https://github.com/starship/starship/pull/996.
  72. ---
  73. support `env`, `ionice` and `strace` precommands in `parser.zsh`.
  74. ---
  75. Add ruler to configuration wizard. Options: `─`, `·`, `╌`, `┄`, `▁`, `═`.
  76. ---
  77. Add frame styles to the wizard.
  78. ```text
  79. ╭─
  80. ╰─
  81. ┌─
  82. └─
  83. ┏━
  84. ┗━
  85. ╔═
  86. ╚═
  87. ▛▀
  88. ▙▄
  89. ```
  90. Prompt connection should have matching options.
  91. ---
  92. Add `POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_MIRROR_SEPARATOR`. If set, left segments get separated with
  93. `POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR` followed by `POWERLEVEL9K_LEFT_SEGMENT_MIRROR_SEPARATOR`.
  94. Each is drawn without background. The first with the foreground of left segment, the second with
  95. the background of right segment. To insert space in between, embed it in
  96. `POWERLEVEL9K_{LEFT,RIGHT}_SEGMENT_MIRROR_SEPARATOR`.
  97. `POWERLEVEL9K_{LEFT,RIGHT}_SUBSEGMENT_SEPARATOR` is unused.
  98. ---
  99. Add *Segment Connection* screen to configuration wizard with options *Fused*, *Touching* and
  100. *Disjoint*. The last two differ by the absence/presence of space between `SEGMENT_SEPARATOR` and
  101. `SEGMENT_MIRROR_SEPARATOR`.
  102. *Fused* requires line separator (there is already a screen for it) but the other two options require
  103. two filled separators similar to heads and tail. Figure out how to present this choice.
  104. ---
  105. Optimize auto-wizard check.
  106. ```text
  107. time ( repeat 1000 [[ -z "${parameters[(I)POWERLEVEL9K_*~(POWERLEVEL9K_MODE|POWERLEVEL9K_CONFIG_FILE)]}" ]] )
  108. user=0.21s system=0.05s cpu=99% total=0.264
  109. time ( repeat 1000 [[ -z "${parameters[(I)POWERLEVEL9K_*]}" ]] )
  110. user=0.17s system=0.00s cpu=99% total=0.175
  111. ```
  112. ---
  113. Add the equivalent of `P9K_PYTHON_VERSION` to all `*env` segments where it makes sense.
  114. ---
  115. Define `P9K_ICON` on initialization. Fill it with `$icon`. Duplicate every key that ends in `_ICON`.
  116. Respect `POWERLEVEL9K_VCS_STASH_ICON` overrides but not anything with segment name or state.
  117. Define `POWERLEVEL9K_VCS_*` parameters in config templates for all symbols used in
  118. `my_git_formatter`. Add missing entries to `icons`. Use `$P9K_ICON[...]` within `my_git_formatter`.
  119. Add a screen to the wizard to choose between clear and circled icons.
  120. ---
  121. Add a screen to the wizard asking whether to set `POWERLEVEL9K_VCS_DISABLED_WORKDIR_PATTERN='~'`.
  122. Show it only if there is `$HOME/.git`. By default this parameter should be commented out.