3

I am looking for an add-on or a solution for Firefox which enables transparency on the whole Firefox window.

It would be best if the degree of transparency could be adjusted and there were hot keys to quickly enable or disable the add-on.

Any idea?

slhck
  • 235,242

3 Answers3

3

The accepted PowerMenu application didn't work for me. However, How-To Geek has the great solution via AutoHotkey. Just install AutoHotkey and save this script as a .ahk and execute it. You can then control the transparency of any Windows by holding the Win/Meta key and scrolling the mouse wheel. This is of course, adjustable by editing the script. This worked on every window I tried under Windows 7 x64.

; changing window transparencies
#WheelUp::  ; Increments transparency up by 3.375% (with wrap-around)
    DetectHiddenWindows, on
   WinGet, curtrans, Transparent, A
    if ! curtrans
        curtrans = 255
    newtrans := curtrans + 8
    if newtrans > 0
    {
        WinSet, Transparent, %newtrans%, A
    }
    else
    {
        WinSet, Transparent, OFF, A
        WinSet, Transparent, 255, A
    }
return

#WheelDown::  ; Increments transparency down by 3.375% (with wrap-around)
    DetectHiddenWindows, on
    WinGet, curtrans, Transparent, A
    if ! curtrans
        curtrans = 255
    newtrans := curtrans - 8
    if newtrans > 0
    {
        WinSet, Transparent, %newtrans%, A
    }
    ;else
    ;{
    ;    WinSet, Transparent, 255, A
    ;    WinSet, Transparent, OFF, A
    ;}
return

#o::  ; Reset Transparency Settings
    WinSet, Transparent, 255, A
    WinSet, Transparent, OFF, A
return

#g::  ; Press Win+G to show the current settings of the window under the mouse.
    MouseGetPos,,, MouseWin
    WinGet, Transparent, Transparent, ahk_id %MouseWin%
    ToolTip Translucency:`t%Transparent%`n
    Sleep 2000
    ToolTip
return

Source via howtogeek.com

ssh2ksh
  • 141
1

Modified AHK v1 code for AHK v2

  • Use Ctrl + Shift + Wheel Up/Down keys to increase/decrease the transparency of an app or window.
  • Use MouseGetPos to obtain window ID as a personal preference.
  • 500ms tooltip

Show a pop-up menu with pre-defined transparency values when F8 is pressed (inspired by this code)

#Requires AutoHotkey v2.0

^+WheelUp:: { ; increases Trans value, makes the window more opaque MouseGetPos ,, &id ; id := WinExist("A") ; alternative - but 'Active' window might not always be the intended target Trans := GetTrans(id) If Trans < 255 Trans := Trans + 20 ; add 20, change for slower/faster transition If Trans >= 255 Trans := "Off" SetTransByWheel(Trans, id) }

^+WheelDown:: { ; decreases Trans value, makes the window more transparent MouseGetPos ,, &id Trans := GetTrans(id) If Trans > 20 Trans := Trans - 20 ; subtract 20, change for slower/faster transition Else If Trans <= 20 Trans := 1 ; never set to zero, causes ERROR SetTransByWheel(Trans, id) }

F8::SetTransMenuFn()

;--------

GetTrans(id) { Trans := WinGetTransparent(id) If not Trans Trans := 255 Return Trans }

;--------

SetTransByWheel(Transparency, id) { If Transparency == "Off" WinSetTransparent 255, id ; Set transparency to 255 before using Off - might avoid window redrawing problems such as a black background. If the window still fails to be redrawn correctly, try WinRedraw, WinMove or WinHide + WinShow for a possible workaround. WinSetTransparent Transparency, id ToolTipFn("Transparency: " Transparency) ; 500ms }

;--------

SetTransMenuFn() { MouseGetPos ,, &WinID ; identify window id ; WinID := WinExist("A") ; alternative - but 'Active' window might not always be the intended target Global WinID ; so that SetTransByMenu can use it to set transparency SetTransMenu := Menu() SetTransMenu.Delete() SetTransMenu.Add("&1 255 Opaque" , SetTransByMenu) SetTransMenu.Add("&2 190 Translucent" , SetTransByMenu) ; Semi-opaque SetTransMenu.Add("&3 125 Semi-transparent" , SetTransByMenu) SetTransMenu.Add("&4 65 Nearly Invisible" , SetTransByMenu) SetTransMenu.Add("&5 1 Invisible" , SetTransByMenu) ; never set to zero, causes ERROR SetTransMenu.Show }

;--------

SetTransByMenu(ItemName, ItemPos, MyMenu) { old_Trans := WinGetTransparent(WinID) If old_Trans == "" && WinActive(WinID) old_Trans := 255

new_Trans := Trim(SubStr(ItemName, 4, 3)) WinSetTransparent new_Trans, WinID If new_Trans = 255 WinSetTransparent "Off", WinID ; Specifying Off - may improve performance and reduce usage of system resources ToolTipFn("Transparency: " old_Trans " → " Trim(SubStr(ItemName, 4)), 2000) ; 2s }

;--------

ToolTipFn(mytext, myduration := 500) { ToolTip ; turn off any previous tooltip ToolTip mytext SetTimer () => ToolTip(), Abs(myduration) * -1 ; 500ms ; new thread ; always negative number }

xypha
  • 4,890
1

PowerMenu: http://www.abstractpath.com/powermenu/ would do what you would like.

Here are some alternatives as well: http://alternativeto.net/software/powermenu/

Howard Lince III
  • 384
  • 1
  • 2
  • 8