21

This may sound like a trivial and unnecessary question, but it keeps annoying me more and more. If you choose "small icons" for the taskbar in Windows 7 and the taskbar is either at the top or the bottom of the screen the taskbar will become pretty small.

Screenshot of a horizontal taskbar

But since I have a widescreen monitor, I'm used to having the taskbar on the side of the screen, since it uses the space more efficiently. But I can't get the taskbar narrower than a certain level and it stays pretty wide.

Screenshot of a vertical taskbar

Is there maybe a registry entry that I could set to get the same width on the side of the screen as the height I am getting at the bottom or top?

(P.S.: The MinWidth trick doesn't help here.)

1
  • 2
    Just a note, if you lock the taskbar, it won't show those grips, which moves the window buttons a lot closer to the orb.
    – nhinkle
    Sep 2, 2010 at 7:16

7 Answers 7

12

One perfect working solution would be:

  • create a ThinTaskbar.bat file
  • enter the following content:

@echo off
echo ThinTaskbar
echo Please wait a few secconds...
net stop "UxSms"
net start "UxSms"

  • save and close
  • turn on the following taskbar options: lock and autohide
  • execute batch script with administrator privileges
  • done!

Now you can disable autohide, if you want. The script must be applied after each reboot.

Source: Youtube

3
  • Hurray for a working answer!
    – Barfieldmv
    May 23, 2012 at 21:26
  • Just found your answer, and it was very helpful. From reading elsewhere, if you add this .bat file to your %AppData%\Microsoft\Windows\Start Menu\Programs\Startup\ directory, it should execute the .bat on startup rather than having to manually do it. Jun 5, 2013 at 16:39
  • This doesn't work for me. It apparently doesn't do a single thing, but cmd says it stops and starts successfully. Even from te Services panel. Any idea? Jul 4, 2014 at 6:41
3

Actually I asked a duplicate to this question, and it is still not solved Vertical taskbar on windows server 2008 too wide

But I can point you to this link:

http://answers.microsoft.com/en-us/windows/forum/windows_7-desktop/when-vertical-cannot-make-taskbar-as-thin-as/9ecf0b1c-e66d-497c-8c2b-5ef3965e2b59

Basically it says that the small icons are virtually wider than they appear (but not higher) and that this is by design. You cannot change the width of the taskbar below the virtual width of the icons.

The reason it allows a smaller 'hight' when horizontal is because each icon still has a wide width, so it stays easily target-able with a fingertip.

Maybe someone can use this to create a solution : )

3

I have a solution that I am using right now. I spent hours coding this and am very satisfied that it works perfectly for me. Go ahead and use it if you want, just credit me (drange17) if you wanna post this code online in forums. I would like to, in turn, credit Lexikos for the code for ConsoleSend.

Firstly, I placed a shortcut to Command Prompt called "cmd.lnk" in C:\Program Files. I go to this shortcut's properties>>shortcut tab>>advanced>>enable run as administrator.

Secondly, I downloaded AutoHotkey and put it to run at startup (place a shortcut to AutoHotkey in the Start Menu Startup folder), with the following code (which is definitely not very elegant, I'm sure someone can do better, but it does the job of narrowing the vertical taskbar for me):

Sleep, 15000
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
    WinActivate
    Sleep, 500
    SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
    SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
    SendInput {Tab}{Space}{Enter}
WinWaitClose
    Run C:\Program Files\cmd.lnk
WinWait, Administrator: cmd ahk_class ConsoleWindowClass
winwaitactive Administrator: cmd ahk_class ConsoleWindowClass
ConsoleSend("net stop uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("net start uxsms", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
Sleep, 3000
ConsoleSend("exit", "ahk_class ConsoleWindowClass")
ConsoleSend("`r", "ahk_class ConsoleWindowClass")
WinWaitClose
SendInput {LWin Down}r{LWin Up}
IfWinExist, Run
    WinActivate
Sleep, 500
SendInput {Raw}RunDll32.exe shell32.dll,Options_RunDLL 1
SendInput {Enter}
WinWait, Taskbar and Start Menu Properties
SendInput {Tab}{Space}{Enter}
Run outlook.exe
ConsoleSend(text, WinTitle="", WinText="", ExcludeTitle="", ExcludeText="")
{
    WinGet, pid, PID, %WinTitle%, %WinText%, %ExcludeTitle%, %ExcludeText%
    if !pid
        return false, ErrorLevel:="window"
    if !DllCall("AttachConsole", "uint", pid)
        return false, ErrorLevel:="AttachConsole"
    hConIn := DllCall("CreateFile", "str", "CONIN$", "uint", 0xC0000000
                , "uint", 0x3, "uint", 0, "uint", 0x3, "uint", 0, "uint", 0)
    if hConIn = -1
        return false, ErrorLevel:="CreateFile"
    VarSetCapacity(ir, 24, 0)       ; ir := new INPUT_RECORD
    NumPut(1, ir, 0, "UShort")      ; ir.EventType := KEY_EVENT
    NumPut(1, ir, 8, "UShort")      ; ir.KeyEvent.wRepeatCount := 1
    Loop, Parse, text ; for each character in text
    {
        NumPut(Asc(A_LoopField), ir, 14, "UShort")
        NumPut(true, ir, 4, "Int")  ; ir.KeyEvent.bKeyDown := true
        gosub ConsoleSendWrite
        NumPut(false, ir, 4, "Int") ; ir.KeyEvent.bKeyDown := false
        gosub ConsoleSendWrite
        Sleep, 10
    }
    gosub ConsoleSendCleanup
    return true
    ConsoleSendWrite:
        if ! DllCall("WriteConsoleInput", "uint", hconin, "uint", &ir, "uint", 1, "uint*", 0)
        {
            gosub ConsoleSendCleanup
            return false, ErrorLevel:="WriteConsoleInput"
        }
    return
    ConsoleSendCleanup:
        if (hConIn!="" && hConIn!=-1)
            DllCall("CloseHandle", "uint", hConIn)
        DllCall("FreeConsole")
    return
}

Here's the resulting thin vertical taskbar:

enter image description here

2
  • 1
    Looks very promising, but can you add some comments and describe what you are doing?
    – scigor
    Jun 17, 2011 at 23:24
  • Did not run for me . why do you run outlook in the end? is that part of the solution or you just wanted to run some app that makes a new window? I could auto hot key send some keys to the task bar, then it opened a cmd.exe but nothing got typed in to it, though it seems this script is trying to do that. i did leave the mouse and keyboard alone for a minute to let is finish. Nada. Any pointers?
    – tgkprog
    May 25, 2014 at 7:32
2
+50

Some people say that this behavior is by design in order to limit the minimum thickness for touch functionality: The taskbar is prevented from becoming too small to be utilized with a fingertip, so on the side of the screen it will keep this minimize size.

If you own a laptop, I found this temporary solution:

On power-up the taskbar appear on its default 'wide' size vertically at the leftside of the screen. To make the taskbar width narrower I just unplug the laptop ac-power source. Immediately the taskbar is resized (doesn't work if the taskbar is not set to 'auto-hide'). The new taskbar size is maintained 'permanently' during Windows 7 operation. I can even disable the 'auto-hide' setting at this point and the taskbar still maintain the narrow size. Of course I plug-in the ac-power back to the laptop to keep the battery charged. After shutting down my laptop and then later turning it back on for use I just do the same ac-power trick to resize the vertical taskbar again. I haven't tried this on other laptop/pc so I don't know if this trick work on all win7 systems.

EDIT

I might have found a direction that you could follow.

First, when setting the Windows theme to Classic, I noticed that the Start button was reduced in width, and that it then allows to reduce the width of the taskbar to that of the Start button. You might also need to turn off the clock & date.

This has started me thinking that width problem is caused by the Start button itself being too wide. So here are some links to customizing the Start button:

How to change the text of Start button in Windows 7
How to Change the Start Menu Button in Windows 7

This solution might or might not work, and it might or might not work with Aero, or only in Classic mode.
In any case: Happy hacking!

4
  • yeah i heared that too, and as you can read from the comments to sagars "answear", you can change the size temporaraly, but if you can do it temporaraly there must be a hack to do it permanently. Thats what i am looking for ;) the bounty is't for nothing.
    – scigor
    Aug 31, 2010 at 20:36
  • Hi just tried it, and it didn't work. But i think you are heading in the right direction. I changed it to a smaller button, but the thing is, that when you for example kill explorer.exe you still see the unusable place. For example when you try to use the edge of the screen, you discover that after killing explorer.exe it is still at the same location where it was before and not at the screen boundary. So obviously some other configuration/file/registry has to be changed.
    – scigor
    Sep 5, 2010 at 8:38
  • @inf.ig.sh: I found a product that replaced the whole Start button by one small bitmap, but no go. So I believe that the width is built-into the taskbar. I know for a fact that the MS developers kept on developing the taskbar right up to the last possible minute, and that many constants were therefor built into taskbar software itself rather than as registry parameters. I believe that the few pixels that can be saved in Classic mode are the maximal possible at the moment (yick). Otherwise, only temporary solutions seem to be possible, at least until Windows 8 comes along.
    – harrymc
    Sep 5, 2010 at 14:08
  • well time is running out on the bounty so since you invested the most effort in this question you will get the bounty, will keep the question open in case there is still a solution in the future
    – scigor
    Sep 6, 2010 at 14:50
2

I am a big autohotkey fan, it took me some time, to find the simplest way to solve this. I tried direct registry setting changes first, but those require explorer.exe restarts, which I did not liked, so finally after a lot of failed attempts, I ended up with this. If there is any improvement neded I will update the code in pastebin.

Autohotkey GinThinSideTaskbar I made an autohotkey code that makes your windows 7 side-taskbar with small icons 1 icon thin:

^+t::  
        ; GinThinSideTaskbar
        ; by giny8i8
        ; v1p01 at 2014-06-21
        ; If you use the Windows 7 Taskbar on the side of your screen, with smal icons, this makes it look 1 icon thin instead of the default double size.
        ; Assumptions: The taskbar is not hidden when you run this code (UxSms restart thinners the taskbar only if the taskbar is hidden)

        TaskbarToggler() ;Hide Taskbar
        Sleep 1000      ;Wait a little
        RunWait,sc stop "UxSms" ;Stop "Desktop Window Manager Session Manager Service" service.
        RunWait,sc start "UxSms" ;Start "Desktop Window Manager Session Manager Service" service.
        Sleep 1000      ;Wait a little
        TaskbarToggler() ;Show Taskbar again

        TaskbarToggler()
        {
                Run % "RunDll32.exe shell32.dll,Options_RunDLL 1" ;Open "Taskbar and Start Menu Properties" window
                WinWait, Taskbar and Start Menu Properties ;Wait for the window to open
                SendInput {Tab}{Space}{Enter} ;Togle Taskbar hiding
        }
        return

I've also put this on http://pastebin.com/4upmWETQ

Feel free to use and distribute, and please post feedback! giny8i8

2

I know this is an old question, but you can use a tool called 7+ Taskbar Tweaker to accomplish this.

Once installed and running, if you right-click the tray icon and open "Advanced Options" there's an option called "no_width_limit." Enable that option and apply the new configuration.

With this enabled, if you unlock the taskbar you should now be able reduce the width of the taskbar relative to the size of the icons using the mouse.

Feel free to lock the taskbar afterwards. I believe this to be the most complete solution available.

Screenshot

1

There might be a way to solve this by using another windows style. You may use tools like tune up to download and install other styles, also there are tools to design your own style. Maybe there is a possibility to create a style without this issue.

1
  • no windows styles do not help here
    – scigor
    Sep 5, 2010 at 8:39

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .