Navigation Menu

Skip to content

Instantly share code, notes, and snippets.

@nanpuyue
Last active May 18, 2023 09:32
Show Gist options
  • Star 20 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save nanpuyue/ec7d34e174267db3927124edcd2a8844 to your computer and use it in GitHub Desktop.
Save nanpuyue/ec7d34e174267db3927124edcd2a8844 to your computer and use it in GitHub Desktop.
#!/bin/bash
# date: 2017-11-17
# license: GPLv3 https://www.gnu.org/licenses/gpl-3.0.txt
# author: nanpuyue <nanpuyue@gmail.com> https://blog.nanpuyue.com
echo 'install: ~/.mozilla/native-messaging-hosts/hide_titlebar.json'
[[ -d ~/.mozilla/native-messaging-hosts ]] || mkdir -p ~/.mozilla/native-messaging-hosts
cat > ~/.mozilla/native-messaging-hosts/hide_titlebar.json << EOF
{
"name": "hide_titlebar",
"description": "Hide the Firefox titlebar.",
"path": "$HOME/.local/bin/hide-firefox-titlebar.sh",
"type": "stdio",
"allowed_extensions": ["hide-titlebar@nanpuyue.com"]
}
EOF
echo 'install: ~/.local/bin/hide-firefox-titlebar.sh'
[[ -d ~/.local/bin ]] || mkdir -p ~/.local/bin
cat > ~/.local/bin/hide-firefox-titlebar.sh << "EOF"
#!/bin/bash
# date: 2017-11-17
# license: GPLv3 https://www.gnu.org/licenses/gpl-3.0.txt
# author: nanpuyue <nanpuyue@gmail.com> https://blog.nanpuyue.com
python3 -c "import gi; gi.require_version('Gdk', '3.0'); from gi.repository import Gdk, GdkX11;
default_display=GdkX11.X11Display.get_default();
$(for i in $(xdotool search --onlyvisible --class "Firefox|Nightly"); do
echo "GdkX11.X11Window.foreign_new_for_display(default_display, $i).set_decorations(Gdk.WMDecoration.BORDER);"
done)
Gdk.Window.process_all_updates();"
EOF
chmod +x ~/.local/bin/hide-firefox-titlebar.sh
echo 'done'
@AE-L
Copy link

AE-L commented Nov 16, 2017

Hey, there's an unwanted '\n' when the script writes the file:
"
gdk_window =
GdkX11.X11Window.foreign_new_for_display(GdkX11.X11Display.get_default(),
$i);'
"
However it's not working on my archlinux xfce. :/

@nanpuyue
Copy link
Author

debug:

bash -x ~/.local/bin/hide-firefox-titlebar.sh

@AE-L
Copy link

AE-L commented Nov 17, 2017

➜ Desktop bash -x ~/.local/bin/hide-firefox-titlebar.sh

++ xdotool search --onlyvisible --class 'Firefox|Nightly'

  • for i in $(xdotool search --onlyvisible --class "Firefox|Nightly")
  • python3 -c 'import gi;gi.require_version('''Gdk''', '''3.0'''); from gi.repository import Gdk, GdkX11; gdk_window = GdkX11.X11Window.foreign_new_for_display(GdkX11.X11Display.get_default(), 54526072); Gdk.Window.set_decorations(gdk_window, Gdk.WMDecoration.BORDER); Gdk.Window.process_all_updates()'
  • for i in $(xdotool search --onlyvisible --class "Firefox|Nightly")
  • python3 -c 'import gi;gi.require_version('''Gdk''', '''3.0'''); from gi.repository import Gdk, GdkX11; gdk_window = GdkX11.X11Window.foreign_new_for_display(GdkX11.X11Display.get_default(), 54525968); Gdk.Window.set_decorations(gdk_window, Gdk.WMDecoration.BORDER); Gdk.Window.process_all_updates()'

'+' are replaced by • .

@JeleoRV
Copy link

JeleoRV commented Jan 6, 2018

Thanks a lot ! Worked perfectly for me (Ubuntu + Cinnamon).

@ecceccecc
Copy link

ecceccecc commented Feb 4, 2018

Great! It worked nicely on Lubuntu 17.10, helping to save vertical space on Firefox 58, as the good old Hide Caption Titlebar Plus did with Firefox 56 and before. Just one thing: is it possible to remove padding between tabs and the top of the screen?

EDIT: Nevermind, I solved it by editing the file /home/(myusername)/.config/openbox/lubuntu-rc.xml, adding the following lines under the <applications> section:

<application role="browser">
  <decor>no</decor>
</application>

then saving the file and running openbox --reconfigure. Also, I opened obconf, clicked on "Appearance" and unchecked "Windows retain a border when undecorated". Done.

@JonasCz
Copy link

JonasCz commented Feb 6, 2018

Thanks, works great, just using the window buttons extensions and not using this (since I can do I though my window manager).

Replaces the old "Hide caption titlebar plus" which died after firefox 56.

@simo98
Copy link

simo98 commented Feb 21, 2018

It doesn't work on Manjaro Cinnamon
problema_firefox

@SylveonBottle
Copy link

Works, but am now completely unable to minimize or drag the window. ArchLinux with Deepin.

@Kayeeec
Copy link

Kayeeec commented Mar 6, 2018

@SylveonBottle How about draging it with Alt key pressed - this takes care of the minimizing and dragging part.

@danielfreittas
Copy link

danielfreittas commented Mar 12, 2018

@Bzzz
Copy link

Bzzz commented Mar 16, 2019

Not doing all that much.

bash -x ~/.local/bin/hide-firefox-titlebar.sh
+++ xdotool search --onlyvisible --class 'Firefox|Nightly'
++ for i in $(xdotool search --onlyvisible --class "Firefox|Nightly")
++ echo 'GdkX11.X11Window.foreign_new_for_display(default_display, 127926289).set_decorations(Gdk.WMDecoration.BORDER);'
+ python3 -c 'import gi; gi.require_version('\''Gdk'\'', '\''3.0'\''); from gi.repository import Gdk, GdkX11;
default_display=GdkX11.X11Display.get_default();
GdkX11.X11Window.foreign_new_for_display(default_display, 127926289).set_decorations(Gdk.WMDecoration.BORDER);
Gdk.Window.process_all_updates();'

Is this project still active?

@Zazcallabah
Copy link

PSA: Anyone looking for this feature, before trying this script check if you have the option to disable the title bar down in the lower left corner of the firefox customization screen.

Right click Menu Button > Customize > Uncheck "Title Bar"

@emmandyar
Copy link

Right click Menu Button > Customize > Uncheck "Title Bar"

Thanks!! I didin't knew they added this option!

@erm3nda
Copy link

erm3nda commented Jan 23, 2020

Right click Menu Button > Customize > Uncheck "Title Bar"

Thanks!! I didin't knew they added this option!

Yes, don't forget to uncheck that option after everything is installed.
In my case (manjaro deepin, ffox 72) I still preserve window control buttons (minimize, etc)

I needed to remove title bar because my habit to open links just dragging them "to the top" without have to aim anywhere and to search dragged text from url bar
.
Thanks!!

@undeadway
Copy link

undeadway commented Mar 3, 2020

照着安装以后,titlebar没有隐藏,会不会和虚拟机有关?
版本号:Firefox Developer Edition 74.0b6 (64-bit)

@sjonathansilva
Copy link

PSA: Anyone looking for this feature, before trying this script check if you have the option to disable the title bar down in the lower left corner of the firefox customization screen.

Right click Menu Button > Customize > Uncheck "Title Bar"

Thanks, man! you`r a firefox's god

@listvin
Copy link

listvin commented Feb 11, 2023

There is a problem with this solution -- it removes bars from all ff windows you have open, including other profiles which may not have this extension and thus deleting is unwanted

@erm3nda
Copy link

erm3nda commented Mar 7, 2023

I don't remember the last time I used to need this. Modern Firefox can apply that from "Personalize taskbar" option, which is called "hide taskbar". It works as expected.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment