Warp + herdr: cmd+p otwiera paletę poleceń 🚀

Chciałem mieć w Warpie skrót cmd+p, który otwiera paletę poleceń herdr. Problem: skróty w Warpie odpalają tylko wbudowane akcje. Nie wyślesz nimi tekstu ani sekwencji klawiszy (zgłoszenia #4045 i #14300 → #9159). Ghostty to umie dzięki keybind = ...=text:, Warp nie.

Rozwiązanie składa się z 4 kroków: plugin z paletą, skrót w herdr, wyłączenie palet Warpa, Karabiner-Elements jako tłumacz klawiszy.

Inspiracja

Pomysł podejrzałem w theskumar/dotfiles (plik docs/HERDR.md). Tam Ghostty na cmd+klawisz wysyła prefix herdr i dany klawisz. Zrobiłem to samo w Warpie, tylko inną drogą.

Krok 1: plugin z paletą

Paleta to plugin fabiogaliano/herdr-command-palette. Przed instalacją przejrzałem kod: nie łączy się z siecią, używa tylko herdr i fzf, a shell=True wywołuje wyłącznie dla moich własnych poleceń z sekcji [keys].

Instaluję go przypiętego do konkretnego commita:

herdr plugin install fabiogaliano/herdr-command-palette --ref 5d9c983fba1c198efcd07c77cfd26c14c00234d6

Krótki SHA nie działa, dostaniesz couldn't find remote ref. Podaj pełny.

Krok 2: skrót w herdr

W config.toml herdr dodaję skrót prefix+space. Mój prefix to domyślny ctrl+b.

[[keys.command]]
key = "prefix+space"
type = "shell"
command = "herdr plugin pane open --plugin palette --entrypoint palette"

Po zmianie configu dostałem Action rejected / plugin action not found. Naprawia to jedno polecenie:

herdr server reload-config

Krok 3: wyłączam palety Warpa

W ~/.warp/keybindings.yaml:

"workspace:toggle_command_palette": none
"workspace:toggle_navigation_palette": none

Warp czyta ten plik tylko przy starcie, więc po zmianie zrestartuj aplikację.

Krok 4: Karabiner-Elements

Skoro Warp nie wyśle sekwencji, robi to Karabiner. Reguła działa tylko w Warpie (bundle id ^dev\.warp\.Warp): cmd+p zamienia na ctrl+b, a potem spację.

{
  "description": "Warp: cmd+p otwiera paletę herdr",
  "manipulators": [
    {
      "type": "basic",
      "from": {
        "key_code": "p",
        "modifiers": { "mandatory": ["command"] }
      },
      "to": [
        { "key_code": "b", "modifiers": ["left_control"] },
        { "key_code": "spacebar" }
      ],
      "conditions": [
        {
          "type": "frontmost_application_if",
          "bundle_identifiers": ["^dev\\.warp\\.Warp"]
        }
      ]
    }
  ]
}

Ograniczenie

Karabiner nie wie, czy w danej karcie Warpa działa herdr. Poza herdr ctrl+b i spacja trafią prosto do powłoki.

Masz lepszy sposób na wysyłanie sekwencji z Warpa? Zostaw komentarz 🔥

WordPress + MCP – pisz posty z Warp, Claude Code czy Cursor

Od jakiegoś czasu testuję połączenie WordPressa z Model Context Protocol (MCP). Efekt? Mogę zarządzać całym blogiem bezpośrednio z terminala czy edytora kodu. Piszę posty w Warp, Claude Code, Cursor – bez logowania do panelu wp-admin 🚀

Czytaj dalej „WordPress + MCP – pisz posty z Warp, Claude Code czy Cursor” →
youtube logo png 2061

Sobota z WordPressem

sobota wordpressem youtube

Kilka tygodni temu wspólnie z Dawidem Urbańskim rozpoczęliśmy serię spotkań live na YouTube. Spotykamy się zazwyczaj w soboty (jak nazwa wskazuje) i robimy sobie przegląd wszystkiego, co związane z WordPressem oraz ogólnie pojętym web dewelopmentem. Póki co mamy na liczniku 6 spotkań, w tym spotkanie bezpośrednio z Aten podczas WordCamp Europe 💪. Do ilu dobijemy nie wiem, ale rozkręcamy się i póki co nie zamierzamy przestawać.

01

Uniwersalny Motyw Monstroid2 – Prezentacja Możliwości

01

Jakiś czas temu (czyli dobre kilka miesięcy temu) odezwał się do mnie Janusz Kamiński pracujący w firmie Template Monster i poprosił abym przejrzał jeden z motywów dostępny na ich platformie. Po krótkiej wymianie wiadomości wybór padł na Monstroid2, czyli uniwersalny motyw WordPressa. Ze względu na wiele różnych czynników temat mocno się przedłużał, ale w końcu udało mi się go dzisiaj opublikować w formie mini serii pięciu filmów wideo. Mimo, że nie jest to kurs postanowiłem umieścić go w sekcji kursy video na niniejszej stronie tak aby wszystko było zebrane w fajnej i przystępnej formie. Mam nadzieję, że tego typu prezentacja pozwoli Wam podjąć decyzję w kontekście zakupu gotowego motywu bądź też zbudowania czegoś od zera spełniającego Waszego wymagania w 100%.

WordPress – Jak wyświetlić wp_nav_menu() bez kontenera i rodzica – sama lista elementów

WordPress domyślnie wyświetla nasze menu (wp_nav_menu) jako nienumerowaną listę <ul> wraz z kontenrem lub wrapperem jak kto woli. Co zrobić jeśli chcemy pozbyć się dwóch elementów i wyświetlić tylko elementy listy wraz linkami? O ile przypadku kontenera nie jest trudne zadanie, gdyż dokumentacja jasno określa parametr o nazwie container, który domyślnie jest elementem <div>. Jeśli chcemy się go pozbyć to wystarczy podać pustą wartość dla tego parametru przy wywołaniu wp_nav_menu(), w taki o to sposób:

Czytaj dalej „WordPress – Jak wyświetlić wp_nav_menu() bez kontenera i rodzica – sama lista elementów” →

WordPress – Jak zmienić prefiks tabel w bazie danych?

W tym krótkim wpisie chciałbym pokazać Wam fajny i szybki trik na zmianę prefiksu tabel w naszej bazie danych. Jak wiadomo WordPress standardowo ustawia prefix wp_ dla wszystkich tabel. Niemniej w prawie każdym poradniku odnośnie zabezpieczeń i dobrych praktyk związanych z tworzeniem stron na WordPressie zaleca ustawienie prefiksu na coś bardziej wysublimowanego ;). Co jednak jeśli mamy już uruchomionego bloga czy też stronę? Okazuje się, że nie jesteśmy na straconej pozycji. Możliwości jest co najmniej kilka – od ręcznych która została opisana na blogu WPBeginner, przez użycie pluginu Change Table Prefix (nie testowałem), po moim zdaniem najfajniejsze rozwiązanie przy pomocy wp-cli, które opiszę poniżej. Czytaj dalej „WordPress – Jak zmienić prefiks tabel w bazie danych?” →

Nowa sekcja na mojej stronie: Kursy video

W wielkim uśmiechem na ustach chciałbym Was poinformować, że właśnie zakończyłem pracę nad nową sekcją na mojej strony. Chodzi o sekcję kursy video, w której to póki co umieściłem dwa moje darmowy kursy wideo skierowane do początkujących tj.:

W planach mam oczywiście kolejne kursy w formie video tak więc zaglądajcie tutaj od czasu do czasu po nowy materiał, a póki co miłego oglądania tego co tej pory dla Was przygotowałem ;).

Jak usunąć pojedyńcze dane z formularza w przeglądarce Google Chrome

Czasem przez przypadek wpiszemy w polu formularza coś czego nie powinniśmy i w momencie kiedy mam aktywną opcję zapamiętywania wpisywanych danych to wpisany przez nas wcześniej tekst będzie pojawiał się za każdym razem kiedy będziemy chcieli skorzystać z danych formularza (lub pola o takiej samej nazwie). Może to być bardzo uciążliwe zwłaszcza w przypadku kiedy się pospieszyliśmy z wpisaniem loginu i hasła i teraz za każdym razem kiedy wpisujemy login pokazuje się nasze hasło :). Oczywiście możesz wyczyścić dane przeglądarki, ale wtedy utracisz dużo więcej danych. W tym przypadku chodzi o jedną linijkę w kontekście jednej domeny (powinno działać także dla wielu domen).

Czytaj dalej „Jak usunąć pojedyńcze dane z formularza w przeglądarce Google Chrome” →