Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

By default the window titles are on the left side of the title bar. Is there a way to center the titles?

share|improve this question
add comment

2 Answers

Yes there is a way, open up your terminal and go to the folder /usr/share/themes/YourTheme/metacity-1/

in my case that would be Ambience

cd /usr/share/themes/Ambiance/metacity-1/

in this folder should be a file called metacity-theme-1.xml, open this file in your favorite editor, you need sudo rights though!

search for this part

<draw_ops name="draw_title_text_normal">
<title color="#333" x="10" y="(((height - title_height) / 2) `max` 0)+1"/>
<title color="#333" x="10" y="(((height - title_height) / 2) `max` 0)-1"/>
<title color="#333" x="9" y="(((height - title_height) / 2) `max` 0)"/>
<title color="#333" x="11" y="(((height - title_height) / 2) `max` 0)"/>
<title color="#dfdbd2" x="10" y="(((height - title_height) / 2) `max` 0)"/>
</draw_ops>

and replace all the x="" numbers with

((width - title_width) / 2) max 0

so it'll look like this at the end

<draw_ops name="draw_title_text_normal">
<title color="#333" x="((width - title_width) / 2) `max` 0" y="(((height - title_height) / 2) `max` 0)+1"/>
<title color="#333" x="((width - title_width) / 2) `max` 0" y="(((height - title_height) / 2) `max` 0)-1"/>
<title color="#333" x="((width - title_width) / 2) `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
<title color="#333" x="((width - title_width) / 2) `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
<title color="#dfdbd2" x="((width - title_width) / 2) `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
</draw_ops>

save the changes, logout and login again, and the titles are centered!

share|improve this answer
add comment

I'd found that Stefan's solution only works in theory, and the title ends up anchoring itself to the left of the titlebar. I'm not sure if my installation is wonky or if the math is wrong, but this is what worked for me:

width/2 - title_width/2 `max` 0

And I also pasted it in the inactive title section. So this part of the file would look like this:

<draw_ops name="draw_title_text_normal">
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)+1"/>
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)-1"/>
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
  <title color="#dfdbd2" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
</draw_ops>

<draw_ops name="draw_title_text_unfocused">
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)+1"/>
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)-1"/>
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
  <title color="#333" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
  <title color="#807d78" x="width/2 - title_width/2 `max` 0" y="(((height - title_height) / 2) `max` 0)"/>
</draw_ops>

But I wouldn't have figured this out without Stefan's lead, so kudos to you on that. ;)

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.