i3wm: डबल संशोधक कुंजी के साथ 10 से अधिक कार्यस्थान?


11

हाल ही में, मैंने उपयोग करना शुरू कर दिया i3wmऔर इसके साथ प्यार हो गया। हालाँकि, एक बात मुझे परेशान करती है: 10 से अधिक कार्यक्षेत्रों को नियंत्रित करना।

कार्यक्षेत्र 1 से 9 (और 10 के लिए) के बीच स्विच $mod+1करने के लिए मेरे कॉन्फ़िगरेशन में , लेकिन कभी-कभी 10 कार्यस्थान बस पर्याप्त नहीं होते हैं।$mod+9$mod+0

फिलहाल मैं के साथ 20 के लिए कार्यक्षेत्र 11 तक पहुंचने $mod+mod1+1के लिए $mod+mod1+0, यानी हिटिंग mod+alt+number। बेशक यह बिना किसी समस्या के काम करता है, लेकिन यह कार्यक्षेत्र को उस तरह से स्विच करने के लिए काफी परेशानी है, क्योंकि चाबियाँ आसानी से हिट नहीं होती हैं। इसके अतिरिक्त, कार्यस्थानों के बीच 11 से 20 तक चलने वाले अनुप्रयोगों के लिए आवश्यक है mod+shift+alt+number-> बदसूरत।

मेरे Vimबाइंडिंग में (मेरे पास बहुत सारे प्लगइन्स हैं) मैंने डबल मॉडिफ़ायर शॉर्टकट का उपयोग करना शुरू कर दिया, जैसे modkey + rकि प्लगिन 1 और modkey + modkey + rप्लगिन 2 के लिए। इस तरह से मैं हर कुंजी को दो बार बाँध सकता हूँ और दो बार कुंजी को मारना आसान और तेज़ है।

क्या मैं भी कुछ ऐसा ही कर सकता हूं i3wm?

आप 10 से अधिक कार्यस्थानों का उपयोग कैसे करते हैं i3wm? कोई और उपाय?


मुझे नहीं पता कि आपके पास किस तरह का कीबोर्ड लेआउट है, लेकिन क्या आप नीचे और ऊपर की संख्या के दाईं ओर कुछ / सभी कुंजियों का उपयोग कर सकते हैं? यानी $ mod + q कार्यक्षेत्र 11 है, आदि। बेशक आपको उन सभी कुंजियों को फिर से असाइन करना होगा जो उपयोग में हैं।
airhuff

हां, लेकिन यह प्रभावी रूप से i3कार्यों के लिए उपलब्ध शॉर्टकट की संख्या को कम करता है । अधिमानतः, मैं $mod + $mod + 1कार्यक्षेत्र 11 के लिए कुछ ऐसा करना चाहूंगा , ताकि आधुनिक कुंजी का एक तेज डबल प्रेस सीधे मुझे नंबर 1, 2, ..., 9, 0. नंबर के साथ कार्यक्षेत्र 11-20 के लिए जाने में सक्षम करे। Vimमेरा यह व्यवहार है: leader + rकी तुलना में एक और कार्रवाई करने के लिए मैप किया जाता है leader + leader + r, इस प्रकार मैं एक ही बार एक या दो बार लीडर कुंजी दबाकर एक ही हॉटकी के साथ विभिन्न क्रियाओं को ट्रिगर कर सकता हूं।
daniel451

जवाबों:


14

i3 वास्तव में विम की तरह महत्वपूर्ण दृश्यों का समर्थन नहीं करता है । किसी भी कुंजी बाइंडिंग में एक एकल कुंजी होती है जो अलग-अलग (इसलिए नहीं Shift+Shift) संशोधक की एक वैकल्पिक सूची से पहले होती है । और जिस समय मुख्य कुंजी दबाया जाता है उस समय सभी संशोधक को नीचे दबाया जाना चाहिए।

कहा जा रहा है कि, संशोधक की लंबी सूची में बाँधने के बिना बहुत सारे कार्यक्षेत्र होने के दो मुख्य तरीके हैं:

1. बाहरी कार्यक्रमों के साथ कार्यक्षेत्रों को गतिशील रूप से बनाएं और एक्सेस करें

आप आप सिर्फ एक भेजकर मक्खी पर उन्हें बना सकते हैं हर एक कार्यक्षेत्र के लिए एक शॉर्टकट को परिभाषित करने की जरूरत नहीं है सकते हैं, workspace NEW_WSकरने के लिए i3 के साथ उदाहरण के लिए, i3-msgकार्यक्रम:

i3-msg workspace NEW_WS
i3-msg move container to workspace NEW_WS

i3i3-input कमांड के साथ भी आता है , जो एक छोटा इनपुट फ़ील्ड खोलता है और फिर दिए गए इनपुट को पैरामीटर के रूप में कमांड चलाता है

i3-input -F 'workspace %s' -P 'go to workspace: '
i3-input -F 'move container to workspace %s' -P 'move to workspace: '

इन दो आदेशों को शॉर्टकट में बांधें और आप केवल शॉर्टकट दबाकर और फिर अपने इच्छित कार्यक्षेत्र के नाम (या संख्या) को दर्ज करके मनमाने ढंग से संख्या में कार्यक्षेत्रों तक पहुँच सकते हैं। (यदि आप केवल गिने हुए कार्यस्थानों के साथ काम करते हैं, तो आप workspace number %sबस के बजाय उपयोग करना चाह सकते हैं workspace %s)

2. कुंजी बंधन मोड के भीतर सरल शॉर्टकट के लिए स्टैटिक वर्कस्पेस को बांधें

वैकल्पिक रूप से, अधिक स्थिर दृष्टिकोण के लिए, आप अपने i3 कॉन्फ़िगरेशन में मोड का उपयोग कर सकते हैं । कार्यक्षेत्रों पर ध्यान केंद्रित करने और स्थानांतरित करने के लिए आपके पास अलग तरीके हो सकते हैं:

set $mode_workspace "goto_ws"
mode $mode_workspace {
    bindsym 1 workspace 1; mode "default"
    bindsym 2 workspace 2; mode "default"
    # […]
    bindsym a workspace a; mode "default"
    bindsym b workspace b; mode "default"
    # […]
    bindsym Escape mode "default"
}
bindsym $mod+w mode $mode_workspace

set $mode_move_to_workspace "moveto_ws"
mode $mode_move_to_workspace {
    bindsym 1 move container to workspace 1; mode "default"
    bindsym 2 move container to workspace 2; mode "default"
    # […]
    bindsym a move container to workspace a; mode "default"
    bindsym b move container to workspace b; mode "default"
    # […]
    bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace

या आपके पास एक मोड में ध्यान केंद्रित करने और आगे बढ़ने के लिए अलग-अलग बाइंडिंग हो सकती हैं:

set $mode_ws "workspaces"
mode $mode_ws {
    bindsym 1 workspace 1; mode "default"
    bindsym Shift+1 move container to workspace 1; mode "default"
    bindsym 2 workspace 2; mode "default"
    bindsym Shift+2 move container to workspace 2; mode "default"
    # […]
    bindsym a workspace a; mode "default"
    bindsym Shift+a move container to workspace a; mode "default"
    bindsym b workspace b; mode "default"
    bindsym Shift+b move container to workspace b; mode "default"
    # […]
    bindsym Escape mode "default"
}
bindsym $mod+shift+w mode $mode_move_to_workspace

दोनों उदाहरणों में workspaceया moveकमांड के साथ जंजीर है mode "default", ताकि i3 स्वचालित रूप से प्रत्येक कमांड के बाद डिफ़ॉल्ट कुंजी बाइंडिंग मैप पर वापस आ जाए।


1

इसका समाधान मेरे लिए बस अधिक कुंजियों का उपयोग करना है:

set $ws0 "0:`:www"
set $ws1 "1:1"
set $ws2 "2:2"
set $ws3 "3:3:fm"
set $ws4 "4:4"
set $ws5 "5:5"
set $ws6 "6:6:dev"
set $ws7 "7:7"
set $ws8 "8:8"
set $ws9 "9:9"
set $ws10 "10:0:music"
set $ws11 "11:-:jd"
set $ws12 "12:=:comm"
set $ws13 "13:B"
set $ws14 "14:H"
set $ws15 "15:E"
set $ws16 "16:I"
set $ws17 "17:D:upwork"


bindsym $mod+grave workspace $ws0
bindsym $mod+1 workspace $ws1
bindsym $mod+2 workspace $ws2
bindsym $mod+3 workspace $ws3
bindsym $mod+4 workspace $ws4
bindsym $mod+5 workspace $ws5
bindsym $mod+6 workspace $ws6
bindsym $mod+7 workspace $ws7
bindsym $mod+8 workspace $ws8
bindsym $mod+9 workspace $ws9
bindsym $mod+0 workspace $ws10
bindsym $mod+minus workspace $ws11
bindsym $mod+equal workspace $ws12
bindsym $mod+BackSpace workspace $ws13
bindsym $mod+Home workspace $ws14
bindsym $mod+End workspace $ws15
bindsym $mod+Insert workspace $ws16
bindsym $mod+Delete workspace $ws17

for_window [class="Upwork"] move container to workspace $ws17
for_window [class="Spotify"] move container to workspace $ws10
for_window [class="Brave-browser"] move container to workspace $ws0
for_window [class="TelegramDesktop"] move container to workspace $ws12
for_window [class="jetbrains-pycharm"] move container to workspace $ws6
for_window [class="Caja"] move container to workspace $ws3
for_window [class="JDownloader"] move container to workspace $ws11
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.