كنت أضيع نصف يومي في التنقل بين النوافذ: كيف أنقذني مدير النوافذ (Tiling Window Manager) من جحيم تشتت التركيز؟

يا جماعة الخير، السلام عليكم ورحمة الله. معكم أخوكم أبو عمر.

قبل كم سنة، كنت غارق في مشروع ذكاء اصطناعي معقد شوي. كنت ببني نموذج للتعرف على الكلام باللهجة العامية، والشغل كان بده تركيز عالي. أتذكر هذاك اليوم تحديداً، كانت شاشتي عبارة عن ساحة حرب: نافذة محرر الكود (VS Code) مفتوحة على ملف بايثون ضخم، جنبها نافذة طرفية (Terminal) بتعمل تدريب للنموذج، ونافذة طرفية ثانية براقب فيها أداء كرت الشاشة باستخدام nvidia-smi، ونافذة متصفح فيها عشرين تاب مفتوح على توثيق PyTorch ومقالات بحثية، وفوق كل هاد، برنامج سلاك اللي كل شوي بضوي وبطفي بإشعارات جديدة.

كنت زي اللي بلعب لعبة “وين النافذة؟”. كل ما بدي أعدل شغلة بالكود، بكبس Alt+Tab أربع خمس مرات لأوصل للمحرر. بعدين بدي أشوف نتيجة التدريب، برد أكبس Alt+Tab كمان مرة ومرتين لألاقي نافذة الطرفية الصحيحة. ضيعت نافذة المتصفح تحت نافذة المحرر، وصغّرت كل شي عشان ألاقيها. حسيت إنه نص طاقتي الذهنية رايحة بس في إدارة هاي الفوضى. وقتها قلت لحالي: “يا أبو عمر، أكيد في طريقة أحسن من هيك. مش معقول كل المبرمجين الكبار شغالين بهاي العجقة!”.

وفي يوم، كنت في مكالمة فيديو مع زميل إلي، ولما شارك شاشته معي، انصدمت. شاشته كانت مقسمة بشكل مثالي، زي لوحة الشطرنج. المحرر على اليسار ماخذ نص الشاشة، وطرفيتين مقسومات بشكل عمودي على اليمين. لما فتح نافذة جديدة، ما اجت فوق النوافذ الثانية، بل أخذت مكانها المخصص تلقائياً وقسمت المساحة مع جارتها. ما لمس الماوس أبداً! كل شي كان يتم باختصارات كيبورد سريعة وسلسة. ما قدرت أمسك حالي وسألته: “شو هاد يا زلمة؟ سحر هاد ولا شو؟ كيف عامل هيك؟”. ضحك وقلي كلمة غيرت طريقة شغلي للأبد: “هاد يا أبو عمر اسمه Tiling Window Manager”.

ما هو مدير النوافذ المتجانبة (Tiling Window Manager)؟

خليني أبسطلك الفكرة. معظمنا متعود على أنظمة التشغيل زي ويندوز أو ماك أو حتى واجهات لينكس الافتراضية زي GNOME. هاي بتستخدم نظام اسمه “مدير النوافذ العائمة” (Floating Window Manager). فكر فيها زي الأوراق المبعثرة على مكتبك. كل نافذة بتفتحها هي ورقة، بتقدر تحطها وين ما بدك، وتخليها فوق ورقة ثانية، وتغير حجمها. النتيجة؟ فوضى وبدك تضل تدور على الورقة اللي بدك إياها.

أما “مدير النوافذ المتجانبة” (Tiling Window Manager)، فكرته مختلفة تماماً. هو بيشتغل زي أمين المكتبة المنظم. كل نافذة جديدة بتفتحها هي كتاب جديد. هو تلقائياً بلاقيله مكان على الرف، جنب الكتب الثانية، بدون ما يغطي عليها. النوافذ بتتوزع على الشاشة زي البلاط (Tiles)، كل بلاطة جنب أختها، وما في مساحة ضايعة أو نوافذ مخفية. الشاشة دايماً مليانة ومقسمة بشكل فعال.

الفرق الجوهري: التجانب مقابل التعويم (Tiling vs. Floating)

  • التعويم (Floating): أنت المسؤول عن ترتيب النوافذ يدوياً باستخدام الفأرة. النوافذ تتداخل وتتكدس فوق بعضها البعض.
  • التجانب (Tiling): النظام هو المسؤول عن ترتيب النوافذ تلقائياً في شبكة (grid). النوافذ لا تتداخل أبداً، وتستخدم كل بكسل في الشاشة.

هذا التحول من الفوضى إلى النظام هو أول وأهم فائدة بتلمسها.

لماذا يجب عليك، كمبرمج، أن تفكر في استخدامه؟

أنا كأبو عمر، بحكي من تجربة. الانتقال لمدير النوافذ المتجانبة كان واحد من أفضل القرارات اللي أخذتها لتحسين إنتاجيتي. وهي الأسباب العملية:

1. وداعاً للفأرة، أهلاً بلوحة المفاتيح (Keyboard-Driven Workflow)

كمبرمجين، إيدينا معظم الوقت على الكيبورد. كل مرة بنمد إيدنا للماوس عشان نكبس على نافذة أو نغير حجمها، احنا بنكسر تدفق تركيزنا وبنضيع ثواني ثمينة. مدراء النوافذ المتجانبة مصممة من الأساس ليتم التحكم بها بالكامل عبر لوحة المفاتيح.

فتح تطبيق، التنقل بين النوافذ، تغيير حجمها، نقلها لمساحة عمل ثانية (Workspace)، كل هذا بصير بضغطة زر. مثلاً، بدل ما تكبس Alt+Tab خمس مرات، بتكبس Mod+j (اختصار مثال) لتنتقل للنافذة اللي تحت، أو Mod+k للي فوق. بتصير الحركة بين النوافذ زي الحركة بين أسطر الكود في محرر Vim أو Emacs.

نصيحة من أبو عمر: في البداية، كنت أرجع للماوس بالعادة، لكن أجبرت نفسي لمدة أسبوع على استخدام الكيبورد فقط. بعد هالأسبوع، صارت أصابعي تتحرك من وحدها، وصرت أسرع بكتير. الإجبار في البداية ضروري لبناء العادة الجديدة.

2. تركيز ليزري، لا تشتيت بعد اليوم

العقل البشري مش مصمم للمهام المتعددة (Multitasking) بشكل حقيقي. كل عملية “بحث عن نافذة” هي عملية تبديل سياق (Context Switch) بتكلفك طاقة ذهنية. مع مدير النوافذ المتجانبة، كل شي بتحتاجه قدامك.

تخيل معي السيناريو النموذجي: الشاشة مقسومة نصفين. على اليسار محرر الكود. على اليمين مقسوم كمان نصفين بشكل أفقي: فوق نافذة الطرفية لتشغيل الكود، وتحت نافذة المتصفح اللي فيها التوثيق. أنت بتكتب الكود، وبلمح البصر بتشوف نتيجته في الطرفية، وبتتأكد من دالة معينة في التوثيق، كل هذا بدون ما تختفي أي نافذة عن عينك. هذا بيخليك غارق في حالة من التركيز العميق (Flow State) لفترات أطول.

3. تخصيص بلا حدود (Infinite Customization)

أجمل ما في هاي الأدوات إنها زي قطعة الصلصال، بتشكلها على كيفك. معظم مدراء النوافذ المتجانبة بيتم التحكم فيها من خلال ملف إعدادات نصي بسيط (config file). بتقدر تغير كل شي:

  • اختصارات لوحة المفاتيح (Keybindings)
  • الألوان وشكل شريط الحالة (Status Bar)
  • التطبيقات اللي بتشتغل تلقائياً عند بدء التشغيل
  • سلوك النوافذ وكيفية تقسيمها

هذا مثال بسيط جداً من ملف الإعدادات الخاص بـ i3wm، وهو واحد من أشهر المدراء:

# i3 config file

# Set mod key (the "Super" key, usually the Windows key)
set $mod Mod4

# Start a terminal
bindsym $mod+Return exec i3-sensible-terminal

# Kill focused window
bindsym $mod+Shift+q kill

# Switch to workspace
bindsym $mod+1 workspace "1: WWW"
bindsym $mod+2 workspace "2: Code"
bindsym $mod+3 workspace "3: Term"

# Move focused container to workspace
bindsym $mod+Shift+1 move container to workspace "1: WWW"
bindsym $mod+Shift+2 move container to workspace "2: Code"

بهذا الكود البسيط، أنا عرفت إنه الزر الرئيسي (Mod) هو زر الويندوز، وحددت اختصار لفتح الطرفية، واختصارات للتنقل بين مساحات العمل اللي سميتها بأسماء واضحة. التحكم الكامل هذا بيعطيك شعور إنك بنيت بيئة عملك الخاصة من الصفر.

4. خفيف على الموارد، ثقيل على الأداء

مدراء النوافذ المتجانبة خفيفة جداً على موارد الجهاز (CPU و RAM) مقارنة بواجهات سطح المكتب الكاملة مثل GNOME أو KDE أو حتى واجهة ويندوز. هاي الواجهات بتستهلك مئات الميغابايت من الذاكرة بس عشان تشغل المؤثرات البصرية والخدمات الخلفية.

أما مدير النوافذ، فهو برنامج صغير وظيفته الوحيدة هي إدارة النوافذ. هذا يعني إنه بيترك كل قوة جهازك لشغلك الحقيقي: ترجمة الكود (compiling)، تدريب نماذج الذكاء الاصطناعي، تشغيل الحاويات (containers)، إلخ.

تجربة شخصية: لما كنت أشتغل على لابتوب قديم شوي، كان مدير النوافذ هو المنقذ. النظام كله كان يشتغل على أقل من 200 ميجا رام، والباقي كله لشغلي. هذا فرق شاسع خصوصاً لو بتشتغل على مشاريع بتتطلب ذاكرة عالية.

كيف تبدأ رحلتك؟ أشهر مدراء النوافذ المتجانبة

إذا تحمست للفكرة، هاي بعض الخيارات المشهورة اللي ممكن تبدأ فيها (كلها بتشتغل بشكل أساسي على لينكس و BSD):

  • i3wm: بعتبره نقطة البداية المثالية. سهل الإعداد، ملف الإعدادات تبعه مقروء وواضح، ومجتمعه كبير جداً يعني أي مشكلة بتواجهك رح تلاقي حلها بسهولة.
  • AwesomeWM: للمستخدم المتقدم شوي. بيتم إعداده بلغة البرمجة Lua، وهذا بيعطيك قوة ومرونة أكبر بكتير من i3، لكنه أصعب في البداية.
  • xmonad: إذا كنت من محبين البرمجة الوظيفية (Functional Programming)، هذا لك. مكتوب ويتم إعداده بلغة Haskell. معروف بثباته وقوته، لكن منحنى التعلم فيه حاد.
  • Hyprland: خيار عصري وجميل جداً بيشتغل على بروتوكول Wayland (البديل الجديد لـ X11). بيجي بمؤثرات بصرية جميلة وجاهزة، وبيجمع بين قوة التجانب وجمال الواجهات الحديثة.

الخلاصة: استثمار يستحق العناء 🚀

الانتقال لمدير النوافذ المتجانبة هو استثمار. نعم، في منحنى تعلم في البداية. رح تحتاج يومين أو ثلاثة لتتعود على الاختصارات وتنسى الماوس شوي. لكن صدقني، العائد على هذا الاستثمار ضخم جداً على المدى الطويل.

رح تكسب سرعة في التنفيذ، وقدرة هائلة على التركيز، وبيئة عمل مخصصة لك 100%، وأداء أفضل من جهازك. رح تحس إنك مش مجرد مستخدم للكمبيوتر، بل أنت قائد الأوركسترا اللي بتتحكم بكل نوتة فيه.

نصيحة أبو عمر الأخيرة: لا تخاف من التجربة. خصص ساعة في نهاية الأسبوع، نصب مدير نوافذ (i3 مثلاً) على جهاز افتراضي (Virtual Machine) أو حتى على جهازك مباشرة (بتقدر تختاره من شاشة تسجيل الدخول). جربه. غير اختصار واحد أو اثنين في ملف الإعدادات. شوف كيف الشعور. هاي الخطوة الصغيرة ممكن تكون بداية لتحول كبير في طريقة شغلك. صدقني، مش رح تندم 😉.

أبو عمر

سجل دخولك لعمل نقاش تفاعلي

كافة المحادثات خاصة ولا يتم عرضها على الموقع نهائياً

آراء من النقاشات

لا توجد آراء منشورة بعد. كن أول من يشارك رأيه!

آخر المدونات

البنية التحتية وإدارة السيرفرات

بيئة التطوير جنة، والإنتاج جحيم: كيف أنقذتني ‘البنية التحتية كشيفرة’ (IaC) من فوضى عدم تطابق البيئات؟

أشارككم قصة حقيقية عن ليلة إطلاق كادت أن تتحول إلى كارثة بسبب عدم تطابق بيئات العمل، وكيف كان مفهوم "البنية التحتية كشيفرة" (IaC) باستخدام أداة...

6 أبريل، 2026 قراءة المزيد
اختبارات الاداء والجودة

موقعنا كان ينهار في أوقات الذروة: كيف أنقذني اختبار الإجهاد (Stress Testing) من جحيم الأعطال المفاجئة؟

أشارككم قصة حقيقية عن انهيار موقعنا تحت الضغط وكيف تحولنا من إطفاء الحرائق إلى بناء حصن منيع. اكتشفوا معي عالم اختبارات الإجهاد (Stress Testing) بالأمثلة...

6 أبريل، 2026 قراءة المزيد
تسويق رقمي

محتوانا كان غير مرئي لمحركات البحث: كيف أنقذتنا ‘البيانات المنظمة’ (Structured Data) من جحيم الترتيب المتدني؟

كنا نملك محتوى ذهبياً لكنه كان كالشبح في عيون جوجل. في هذه المقالة، أشارككم قصتي كـ "أبو عمر" وكيف انتشلنا "البيانات المنظمة" (Structured Data) من...

6 أبريل، 2026 قراءة المزيد
البودكاست