it-swarm-eu.dev

Focus-následuje myš (plus auto-raise) na Mac OS X

(Nechci slyšet o tom, jak to šílené jsem chtěl!)

Focus-takto-myš je také známá jako point-to-focus, fokus ukazatele a (v některých implementacích) nedbalý fokus. [Přidejte další výrazy, které vám umožní více prohledávat!] X-myš

142
dreeves

Můžete to udělat pro Terminal.app vydáním následujícího příkazu na příkazovém řádku:

defaults write com.Apple.Terminal FocusFollowsMouse -bool true

Pro aplikace X11 to můžete provést:

defaults write com.Apple.x11 wm_ffm -bool true

Ve Snow Leopardu použijte toto místo:

defaults write org.x.X11 wm_ffm -bool true

Zdá se, že existuje program nazvaný CodeTek Virtual Desktop, který jej bude napodobovat systémově, ale stojí to $ (a nikdy nedostali verzi pro OSX Leopard).

67
Clint Ecker

Steve Yegge napsal esej o této chvíli zpět, kde se snažil a nedokázal napsat vhodné rozšíření. Od té doby jsem se snažil najít aplikace zaměřené na sledování myši pro OS X a také selhal.

55
John Millikin

Focus-následuje-myš není obzvláště vhodná vstupní metoda pro OS X protože jeho menu byl navržen tak, aby byl v horní části obrazovky. Když se přesunete myší z okna aplikace, abyste se dostali do nabídek, přejde-li přes jiné okno aplikace, nabídka se změní.

Takže ano, v odpovědi na komentář dreeves, to funguje naprosto v pořádku pro Terminál (nebo pro všechny ostatní jednotlivé aplikace na ploše), protože jediná další okna to bude mít vliv jsou Terminál okna, takže menu se nikdy nezmění při přepínání oken. Pro X11 to funguje dobře, protože aplikace X11 mají obvykle okna nabídek, takže nemusíte opustit okno, abyste k nim měli přístup.

Samozřejmostí je, že se problém související s menu může obejít zavedením umělého zpoždění před změnami zaostření a/nebo přepnutím nabídky, ale nikdy to nebude fungovat stejně jako na jiných počítačích.

44
calum_b

Ačkoli je to daleko od úplného řešení, dvě užitečné akce, které jsou součástí systému OSX (10.11):

⌃⌥ - kliknout (control-option-click) - přepne zaostření bez zvýšení okna

⌘-click (příkaz-klik) - kliknutí v okně bez přepínání zaměření

Nejste si jisti, kdy byly tyto zkratky zavedeny, protože jsem je nemohl najít kdekoli.

34
dvj

Ametyst podporuje tuto funkci. Lze ji snadno nainstalovat pomocí brew cask install amethyst.

Zde je konfigurační soubor, který používám. Vypne všechny funkce kromě zaostřování-myši-myši. Uložit do ~/.amethyst.

{
    "LAYOUTS": "----------------------",
    "layouts": [
    ],

    "MODIFIERS": "----------------------",
    "Valid modifiers are": [
        "option",
        "shift",
        "control",
        "command"
    ],

    "mod1": [
    ],
    "mod2": [
    ],

    "COMMANDS": "----------------------",
    "Commands are": {
        "cycle-layout": "Cycle layout to the next layout",
        "cycle-layout-backward": "Cycle layout to the previous layout",
        "focus-screen-1": "Focus the main window on the first screen",
        "focus-screen-2": "Focus the main window on the second screen",
        "focus-screen-3": "Focus the main window on the third screen",
        "focus-screen-2": "Focus the main window on the second screen",
        "focus-screen-3": "Focus the main window on the third screen",
        "focus-screen-4": "Focus the main window on the fourth screen",
        "throw-screen-1": "Throw the focused window to the first screen",
        "throw-screen-2": "Throw the focused window to the second screen",
        "throw-screen-3": "Throw the focused window to the third screen",
        "throw-screen-4": "Throw the focused window to the fourth screen",
        "shrink-main": "Shrink the main pane of the current layout",
        "expand-main": "Expand the main pane of the current layout",
        "increase-main": "Increase the number of windows in the main pane",
        "decrease-main": "Decrease the number of windows in the main pane",
        "focus-ccw": "Move window focus counter-clockwise on the current screen",
        "focus-cw": "Move window focus clockwise on the current screen",
        "swap-ccw": "Swap focused window with the next window going counter-clockwi$
        "swap-cw": "Swap focused window with the next window going clockwise",
        "swap-main": "Swap focused window with the main window of its screen",
        "throw-space-1": "Throw the focused window to the first space",
        "throw-space-2": "Throw the focused window to the second space",
        "throw-space-3": "Throw the focused window to the third space",
        "throw-space-4": "Throw the focused window to the fourth space",
        "throw-space-5": "Throw the focused window to the fifth space",
        "throw-space-6": "Throw the focused window to the sixth space",
        "throw-space-7": "Throw the focused window to the seventh space",
        "throw-space-8": "Throw the focused window to the eighth space",
        "throw-space-9": "Throw the focused window to the ninth space",
        "throw-space-8": "Throw the focused window to the eighth space",
        "throw-space-9": "Throw the focused window to the ninth space",
        "toggle-float": "Toggle the focused window between being floating and tiled"
    },

    "screens": "3",

    "cycle-layout": {
        "mod": "mod1",
    },
    "cycle-layout-backward": {
        "mod": "mod2",
    },
    "select-tall-layout": {
        "mod": "mod1"
    },
    "select-wide-layout": {
        "mod": "mod1"
    },
    "select-fullscreen-layout": {
        "mod": "mod1"
    },
    "select-column-layout": {
        "mod": "mod1"
    },
        "mod": "mod1"
    },
    "focus-screen-1": {
        "mod": "mod1"
    },
    "focus-screen-2": {
        "mod": "mod1"
    },
    "focus-screen-3": {
        "mod": "mod1"
    },
    "focus-screen-4": {
        "mod": "mod1"
    },
    "throw-screen-1": {
        "mod": "mod2"
    },
    "throw-screen-2": {
        "mod": "mod2"
    },
    "throw-screen-3": {
        "mod": "mod2"
    },
    "throw-screen-4": {
        "mod": "mod2"
    "throw-screen-4": {
        "mod": "mod2"
    },
    "shrink-main": {
        "mod": "mod1"
    },
    "expand-main": {
        "mod": "mod1"
    },
    "increase-main": {
        "mod": "mod1"
    },
    "decrease-main": {
        "mod": "mod1"
    },
    "focus-ccw": {
        "mod": "mod1"
    },
    "focus-cw": {
        "mod": "mod1"
    },
    "swap-screen-ccw": {
        "mod": "mod2"
    },
    "swap-screen-cw": {
    },
    "swap-screen-cw": {
        "mod": "mod2"
    },
    "swap-ccw": {
        "mod": "mod2"
    },
    "swap-cw": {
        "mod": "mod2"
    },
    "swap-main": {
        "mod": "mod1"
    },
    "throw-space-1": {
        "mod": "mod2"
    },
    "throw-space-2": {
        "mod": "mod2"
    },
    "throw-space-3": {
        "mod": "mod2"
    },
    "throw-space-4": {
        "mod": "mod2"
    },

        "mod": "mod2"
    },
    "throw-space-5": {
        "mod": "mod2"
    },
    "throw-space-6": {
        "mod": "mod2"
    },
    "throw-space-7": {
        "mod": "mod2"
    },
    "throw-space-8": {
        "mod": "mod2"
    },
    "throw-space-9": {
        "mod": "mod2"
    },
    "toggle-float": {
        "mod": "mod1"
    },
    "toggle-tiling": {
        "mod": "mod2"
    },
    "display-current-layout": {
        "mod": "mod1"
    "display-current-layout": {
        "mod": "mod1"
    },

    "MISC": "----------------------",
    "floating": [],
    "float-small-windows": false,
    "mouse-follows-focus": false,
    "focus-follows-mouse": true,
    "enables-layout-hud": false,
    "enables-layout-hud-on-space-change": false
}
15
wprl

Problém nabídky je jediným důvodem, proč by tradiční zaostřování následovalo myši.

Zde je alternativa: neměňte zaostření, dokud na klávesnici nestisknete klávesu. To by se vztahovalo na 95% případů použití zaměřených na následující myši a bylo by to, že by se tento starý uživatel X skutečně spokojil. Nevím, kolikrát budu procházet webovou stránkou v prohlížeči Chrome a stiskem klávesy Command-T otevřete novou kartu a místo toho otevřete kartu v terminálu. Pokud se můj mozek nezvedne na to za 8 měsíců používání Mac, nikdy to nebude.

9
Kyle Rose

V současné době používám MondoMouse a ani s jeho quirks jsem nemohl použít můj mac bez něj. Mají bezplatnou zkušební verzi a doporučil bych ji všem.

MondoMouse

8
mcotton

Rozhodl jsem se tedy znovu vylepšit práci, kterou jsem udělal na MouseFocus.app, která měla ještě nějaké nedostatky. Ty jsou teď opravené. Přejmenoval jsem celou věc na „AutoRaise“, aby lépe odrážela to, co tento nástroj dělá: Když přejdete oknem, zvýší se dopředu (se zpožděním výběru) a získá se fokus. Nástroj lze stáhnout zde . Chcete-li jej použít, zkopírujte jej do složky/Applications/folder a ujistěte se, že je spustitelný (chmod 700 AutoRaise). Poklepejte na něj z Finderu. Chcete-li jej zapnout/vypnout rychle, můžete použít níže uvedený applescript a vložit jej do pracovního postupu automatizace service. Poté vytvořte vytvořenou službu pomocí klávesové zkratky pomocí klávesových zkratek.

Aktualizace (29-03-2017): Aktualizován binární soubor AutoRaise. Pokud na příkazovém řádku není zadáno žádné zpoždění, bude nyní také hledat soubor AutoRaise.delay ve stejné složce. To je obzvláště užitečné, když používáte níže uvedený applescript, protože 'launch application' nepodporuje argumenty příkazového řádku. Zpoždění by mělo být uvedeno v jednotkách 50 ms. Chcete-li například zadat zpoždění 150 ms, spusťte tento příkaz jednou v terminálu: 'echo 3> AutoRaise.delay'

on run {input, parameters}
    tell application "Finder"
        if exists of application process "AutoRaise" then
            quit application "/Applications/AutoRaise"
            display notification "AutoRaise Stopped"
        else
            launch application "/Applications/AutoRaise"
            display notification "AutoRaise Started"
        end if
    end tell
    return input
end run
8
sbmpost

Codetek měl produkt, který to udělal, ale nikdy nevydali verzi pro Leoparda nebo novější.

MondoMouse umí nějakým způsobem zaostřit-následovat-myš, ale ne auto-raise. Dokonce i fokus-následovat-myš je zlomený ačkoli. Například, to nehraje dobře s příkazem- záložka (pokud máte příkazovou kartu k nové aplikaci a nedotýkejte se myši, pak by se měla ne přepnout zpět na místo, kde se nachází ukazatel myši - jsem si jistý, že každá implementace v Linuxu I ' jsem viděl toto právo ale MondoMouse ne).

Pro okna terminálu můžete aktivovat myš (bez autora) pro následující okna (v terminálu stačí provést následující postup):

defaults write com.Apple.Terminal FocusFollowsMouse -string YES

A podobně pro okna X11:

defaults write org.x.X11 wm_ffm -bool true 

(U verzí Mac předcházejících 10.5.5 to bylo:

defaults write com.Apple.x11 wm_ffm true

)

Nevím o žádných dalších aplikacích, které by to podporovaly.

7
dreeves

chunkwm toto také podporuje (standardně věřím): chunkwm

6
asselinpaul

Zajímavé je, že Leopard má ve výchozím nastavení jednu chuť fokus-takto-myší (sans autoraise). Rolovací kolečko pracuje v rozostřených oknech.

5
cksubs

Bohužel CodeTek Virtual Desktop Pro již není vyvíjen a společnost se zdá, že už několik let skončila.

Historický odkaz: http://www.codetek.com/ctvd/ (nefunguje na nových verzích OS X!)

Historická recenze: http://www.osnews.com/story/6144

Pomocí CodeTek Virtual Desktop Pro jste mohli získat Focus-Follow-Mouse a vypnout Auto-Raise, a také měl Pager pro virtuální desktopy - podobně jako Fvwm pracuje na Linuxu. To opravdu fungovalo perfektně - nejlepší kus softwaru, který jsem kdy koupil. To fungovalo konzistentně se všemi aplikacemi, a přepínání aplikací, přesouvání oken do různých pracovních prostorů, a navigace pracovních prostorů mnohem jednodušší, než jak to je implementováno v nejnovějších verzích OS X [10.6, 10.7, 10.8]

Bohužel s Mac OS X 10.5 VirtualDesktop Pro přestal pracovat, a vypadá to, že Apple se aktivně ujistil, že CodeTek na něm nebude pokračovat.

Je smutné, že Apple rozdrtil CodeTek a je to produkt - Virtual Desktop Pro byl opravdu lepší než v současné době implementované pracovní prostory OS X. Fungovalo to v podstatě jako Fvwm na LINUXu - super rychlá navigace - bez zbytečných kliknutí nebo gest myši ...

Je mi smutné vidět, že Apple diktuje chování správce oken (Finder) a nezdá se, že by umožňoval nahrazení třetích stran pro Finder.

4
Tilo

Dej DwellClick zkuste. Ačkoliv to není pro zamýšlený účel, chování při automatickém kliknutí má vedlejší efekt podobný automatickému zvýšení nebo zaostření myši.

Osobně používám pouze funkci levého klepnutí po mém pohybu kurzoru, ale je zde také klikání s modifikátory a asistencí pro přetažení okna, což je docela šikovné.

Je to také trochu frustrující, zatímco procházení webu, protože budete buď chtít zakázat aplikaci nebo být více vědomi toho, kde kurzor spočívá (např. Na žádné odkazy nebo tlačítka nemáte v úmyslu aktivovat).

3
Ben M

Tam je také související problém zvýšení-on-click. Pod OSX pokaždé, když kliknete na okno, je také zvýšen, což potenciálně skrývá další okna. To je problematické při práci s kopií/vkládáním ze dvou oken, kde jedna z nich pokrývá většinu obrazovky. Líbí se mi udržet globální (aktivní ve všech pracovních prostorech) Poznámkový blok, ze kterého kopíruji/vkládám věci (může to být cokoliv z příkazů, textu, položek todo atd.). To je náročné pod OSX. Bylo by hezké mít možnost zakázat zvýšení počtu kliknutí.

3
sfar

Focus následuje myš je nyní možné v makrech, Mojave v mém případě, pomocí chunkwm . Viz tento Stack Overflow odezva pro "bez autora" řešení. Autoraise se aktivuje opuštěním

chunkc set ffm_disable_autoraise         0

v ~/.chunkwmrc.

2
Les Grieve

Experimentování s těmito možnostmi, moje Command-Tab začal chovat podivně. Zde je řešení, jak se znovu zaměřuje na aplikace:

Zdá se, že předchozí funkce, tj. Schopnost fokusu okna Terminu změnit pohybem myši, je v 10.6 přerušena a způsobí, že příkaz Command-Tab nebude správně přenášet fokus okna. Chcete-li problém vyřešit, stačí v terminálu zadat následující příkaz:

výchozí hodnoty napište com.Apple.Terminal FocusFollowsMouse -string NO

Poté restartujte terminál. 

1
Team Pannous

Řešení: Vzhledem k tomu, že jsem byl tak zvyklý, že jsem v systému Windows používal autorizaci, tak jsem ho na Macu špatně minul. Řešení, které jsem našel pro Mac, je Zooom (ano, tři o). Má funkci autory. Můžete dokonce nastavit milisekundy, než budete čekat před autorizací. Bez ní nemůžu žít. Autoraise je volba v prefs, jak vidíte na obrázku https://www.macupdate.com/app/mac/23203/zooomhttp://coderage-software.com /zooom/index.html

1
Gary Kaputnik

Testováno MondoMouse ( https://www.atomicbird.com/about/mac-apps ) na MacOS Mojave. Zdá se, že pro mě funguje dobře! 

Pro instalaci prefpanu se objeví upozornění "povolit přístup pro asistenční zařízení", které se již nenachází v System Preferences> Accessibility. Musíte jej nastavit v Bezpečnost a soukromí> Přístupnost> Soukromí

Tam bude několik varování o povolení MondoMouse v každé aplikaci máte otevřený, ale jakmile to funguje dobře! Jaká to úleva :) 

0
MaltaCode