Stream Deck ve İş Yönetimi

Özelleştirilmiş Profiller ve Uygulama Etkileşimleri

Verimlilik ve üretkenlik üzerine sıklıkla deneyimlerimi aktarmaya çalışıyorum. Daha önceki yazılarda uygulamalar ve servisler temelinde konulara değinmiştim. Bu yazı ile birlikte, çeşitlilik oluşturmak adına donanım ürünlerini de bu sürece dahil etmek istiyorum.

AA

Rutin ve/veya belirli hareket akışlarının tekrarını içeren işlerin yönetiminde sıklıkla otomasyon araçlarından faydalanmakta ve edindiğim ekstra zamanı yine yeni şeyler öğrenmek ve paylaşmak için kullanmaktayım1. IFTTT ve Zapier çevrimiçi çözümlerden öne çıkanlar iken bilgisayar ve mobil cihazlar temelinde de Shortcuts2, Automator de listede yerini almakta. Ancak elbette ortam sınırlandırması olmaksızın farklı etkileşim yöntemleri de sürece dahil edilebilmekte. Örneğin bu yazının da konusu olan Stream Deck bir donanım ürünü olarak listeye dahil edilebilir.

Stream Deck

Elgato ürün çatısı altında yer alan3, genelde yayıncılar ve/veya oyuncular tarafından kullanılan bir cihaz olan Stream Deck akıllı klavye, ekranlı klavye, yayın konsolu, yayın kontrolcüsü ve yayıncı donanımı gibi pek çok şekilde ifade edilebilen, temelinde belirli tuşlara bir ya da daha fazla yetenek atanmasını sağlayan bir tuş takımı.

Stream Deck

Tuşlara atanan yetenekler (özellikle plugin'ler aracılığı ile) dosya ve uygulamaların çalıştırılması, doğrudan bir uygulama ve uygulama içi eylemlerin yönetilmesi4, API aracılığı ile sıralı işlemlerin yönetilmesi, klavye tuş kombinasyonlarının kontrol edilmesi, ses ve görüntü kontrolleri gibi geniş bir çeşitlilik göstermektedir5 6.

Plugin'ler işletim sistemlerine göre farklılık gösterebilmekteler.

Elbette bu işlemler için klavye ve benzeri donanım ürünleri veya uygulamalar aracılığıyla da çeşitli tuş ilişkileri yönetilebilir.

Stream Deck burada diğer temel çözümlerden ayrılmakta. Tuşlar aynı zamanda bağımsız statik ve dinamik görüntüler ve hatta animasyonlar ile ilişkilendirilebilmekte. Buna ek olarak, Profile özelliği ile birlikte çeşitli durumlar özelinde tuş setleri arasında geçiş yapılabilmekte.

Stream Deck Profiles

Örneğin, aktif uygulamanın VSC olması durumunda görüntülenecek profil ile çalışma saati sonunda görüntülenecek profil bağımsız olarak öne çıkarılabilmekte. Ayrıca, tuş sayısından bağımsız olarak sayfa ve klasörlerle pek çok işlem tanımlanabilmekte5.

Cihazın yayıncılar için kullanımına dair pek çok video ve içerik mevcut. Bu nedenle ben biraz daha farklı bir bağlamda, iş ve görev yönetimi bağlamlarında örnekler vermeye çalışacağım.

Uygulama Etkileşimleri

[kbi]Open[/bdi] ile bir uygulama veya dosya seçilerek belirtilen tuşa atanabilmekte. Ancak, komut satırı aracılığı ile işlemler yapılacaksa durum biraz daha farklılaşmakta. Automator ile Quick Action oluşturken dosyaları dosya adları veya bundle ID'leri ile çağırmak gerekebiliyor. Bu gibi durumlarda, AppleScript dosyalarını çalıştırabilmemizi sağlayan osascript komutundan faydalanabilmekteyiz7.

Quick Action ve Klavye Kısayolları

open -n -b "com.microsoft.VSCode" --args "$*"

Örneğin, yukarıdaki kod parçacığı ile dosya ya da dizini VSC içerisinde açabilmekteyiz. Buradaki bundle ID'e şu şekilde ulaşabiliriz.

osascript -e 'id of app "Visual Studio Code"'

Yukarıdaki kod parçacığı çalıştırıldığında Visual Studio Code'a ait bundle ID değeri (BundleIdentifier) döner8. Bu Quick Action'a tuş kombinasyonu atanabilir ve bir buton ile ilişkilendirilebilir9.

İşletim sistemine göre farklılıklar olabiliyor.

Buna ek olarak, Python ve Bash script'lerini de yine tuşlarla ilişkilendirmek mümkün.

Chrome Profiles

Chrome ve Profil Yönetimi

Google Chrome kullanımdaki profilleri $HOME/Library/Application\ Support/Google/Chrome dizini altında tutmaktadır. Buradaki her bir Profile Chrome tarayıcı içerisindeki Profiles tanımlarından biri ile eşleşmektedir. Şayet, burada karşılığı bulunmayan bir profil çağrılırsa bu durumda yeni bir profil oluşturulur.

open -n -a "Google Chrome" --args --profile-directory='Default'
Chrome Profiles

Her bir profil için ilgili profil ID'i, görüntülenecek ön tanımlı pencereler, açılış modu gibi parametreler de komuta dahil edilebilir10.

open -n -a "Google Chrome" --args --profile-directory='Default' -incognito --new-window ceaksan.com

Uygulama ve Uygulama İçi İşlemler

Yukarıdaki seçeneklere ek olarak, x-callback-urls ile uygulamalar ve uygulama içi işlemler de yine tuşlarla ilişkilendirilebilir. Bbu işlem Shortcuts aracılığı ile ya da komut satırı üzerinden yürütülmektedir11. Örneğin, Google Maps üzerinden bir arama yapıp gelen sonucu Airmail üzerinden konu ve gönderici tanımları ile birlikte tek tuşla otomatik olarak gönderebilirsiniz 12.

Stream Deck SDK

Yukarıda bahsi geçen işlemlerin yanı sıra, Stream Deck SDK ile kendi özel eklenti ve kompleks işlemlerinizi de yürütebilirsiniz13 14. Örneğin, bir veri kazıma sürecini başlatabilir ve işlem bittiğinde buton görüntüsünün değişmesini sağlayabilirsiniz.

GitHub üzerinde farklı yazılım dilleri ile hazırlanmış pek çok örnek mevcut. Şimdilik ben de araştırma sürecindeyim. Ancak, kararlı çalışan çeşitli çözümler oluşturduğumda ayrıca paylaşacağım.

Stream Deck

Sonuç Olarak

Stream Deck ve elbette benzer amaca yönelik kullanılabilecek diğer benzer fonksiyonlara sahip çözümler ile iş akış süreçlerini kolaylaştırmak ve daha etkin hale getirebilmek mümkün. Bu sayede var olan iş akışlarında kesintiler yaşanmasının önüne geçilebileceği gibi zamanın daha etkin kullanılması da sağlanabilmekte15.

Diğer yandan, Stream Deck kullanım ve özelleştirme sürecinde bahsi geçen diğer uygulamalar da hali hazırda aşina olduğum ve daha fazla vakit ayırmak istediğim çözümlerdi. Dolayısıyla, yeni bir şeyler öğrenmekten ziyade var olan çözümler arasında yeni ilişkiler oluşturulması fikri oldukça çekici geldi diyebilirim. İlerleyen zaman içerisinde kendi iş yönetim süreçlerime dair ürettiğim çözümler ve sağlanan katkılarla ilgili ayrıca paylaşımlar yapmaya çalışacağım.