Take the 2-minute tour ×
Super User is a question and answer site for computer enthusiasts and power users. It's 100% free, no registration required.

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.)

share|improve this question
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 '10 at 7:16
add comment

7 Answers

up vote 8 down vote accepted

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

share|improve this answer
    
Hurray for a working answer! –  Barfieldmv May 23 '12 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. –  WebDevNewbie Jun 5 '13 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? –  Carles Alcolea Jul 4 at 6:41
add comment

Actually I asked a duplicate to this question, and it is still not solved Vertical taskbar 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 : )

share|improve this answer
add comment

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

share|improve this answer
1  
Looks very promising, but can you add some comments and describe what you are doing? –  inf.ig.sh Jun 17 '11 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 at 7:32
add comment

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!

share|improve this answer
    
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. –  inf.ig.sh Aug 31 '10 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. –  inf.ig.sh Sep 5 '10 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 '10 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 –  inf.ig.sh Sep 6 '10 at 14:50
    
@inf.ig.sh: Thanks. –  harrymc Sep 6 '10 at 15:24
add comment

The same issue annoyed me so I made a small program, called Thinner Taskbar, that makes the taskbar more narrow on Windows 7. It can be downloaded from:

http://files.klevstul.com/ThinnerTaskbar/

Read more about it:

http://klevstul.posterous.com/thinner-taskbar-in-windows-7

share|improve this answer
2  
Hi, this might be a nice program, but unless it is open source so people can check if they are downloading malware or not, the solution is useless. But worth an upvote. –  inf.ig.sh Feb 9 '12 at 10:40
add comment

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.

share|improve this answer
    
no windows styles do not help here –  inf.ig.sh Sep 5 '10 at 8:39
add comment

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

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.