Бред програміста прокачуємо миша

Давно я не писав тут, ну да ладно. Не до розумних технічних постів було. А тут з'явився привід.

Але я для управління вікнами вже давно використовую мишку. А саме, одну з бічних кнопок (яка по дефолту "Back") перепризначуваних на згортання вікна. Вельми зручна річ для мене, - подивився вікно, миттєво звернув, пішов працювати далі. Дуже корисно для будь-якої пошти / міранди та іншого, чого не потрібно для постійної роботи, а є свого роду "попап".







У стандартних драйверах мені сильно не подобалися дві речі:

  • Згортається активне вікно, а не те, над яким мишка
  • Проблеми з програмами, написаними на Delphi (там дуже оригінальна концепція вікон, через що вони згортаються абсолютно шалено, як MDI).

Це я поправив, повісивши власний хук на натискання даної кнопки, а далі задумався. Власне, чому кнопки миші практично не використовуються як модифікатори? Тобто натискання однієї, за рідкісними винятками ніяк не впливає на іншу? Далі пішов креатив, і з'явилися такі комбінації, що починаються з того, що потрібно натиснути четверту кнопку, і:







  • Відпустити: згорнеться вікно, що знаходиться під курсором
  • Покриття колесо вниз: розгорнуте вікно стане нормальним, нормальне - згорнеться.
  • Покриття колесо вгору: нормальне - развёрнется. Логічно продовжити про згорнуте, але його адже немає. Так що нема чому розгортатися. Хоча в певних ситуаціях все буде. Я постарався.
  • Натиснути праву кнопку: згорнуться всі вікна
  • Натиснути ліву: закриється поточний
  • Натиснути середню: комп'ютер заблокується

Далі я ще не придумав, завів практично все що можна на цю функцію. Звичайно, залишився ще горизонтальний скролінг, який можна завести на зрушення вікон, але він вбудований тільки в Вісту. А в XP він емулюється драйверами. Тобто працювати буде не скрізь. Правда краще ніж нічого, треба буде це ще обміркувати.

До чого я написав весь цей пост? Ну звичайно ж, похвалитися, як же без цього. Але також хочу звернути увагу на те, що була б ідея, а реалізувати її можна просто і отримати від цього задоволення і зручність. Та й то, що мишка зовсім не використовується по максимуму. На все це у мене пішло всього пара годин, не більше. Частина часу при цьому я просто витратив на ідеї, а не на написання коду. Але за дві години зробити корисну, хоча б для себе, річ - це вже добре.