├── .gitignore ├── COPYING ├── Makefile ├── README.md ├── Settings.ui ├── app_menu.js ├── buttons.js ├── control ├── convenience.js ├── decoration.js ├── extension.js ├── metadata.json ├── po ├── cs.po ├── de.po ├── es.po ├── fr.po ├── hu.po ├── pl.po └── zh.po ├── prefs.js ├── schemas ├── gschemas.compiled └── org.gnome.shell.extensions.no-title-bar.gschema.xml ├── stylesheet-tiled.css ├── stylesheet.css ├── themes ├── Ambiance │ ├── ABOUT │ ├── close_focused_normal.png │ ├── close_focused_prelight.png │ ├── close_focused_pressed.png │ ├── maximize_focused_normal.png │ ├── maximize_focused_prelight.png │ ├── maximize_focused_pressed.png │ ├── minimize_focused_normal.png │ ├── minimize_focused_prelight.png │ ├── minimize_focused_pressed.png │ ├── screenshot.png │ └── style.css ├── Arc-Dark-solid │ ├── ABOUT │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png ├── Arc-Dark │ ├── ABOUT │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png ├── Arc-Darker-solid │ ├── ABOUT │ ├── save │ │ ├── titlebutton-close-hover.png │ │ ├── titlebutton-close.png │ │ ├── titlebutton-max-hover.png │ │ ├── titlebutton-max.png │ │ ├── titlebutton-min-hover.png │ │ └── titlebutton-min.png │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png ├── Arc-Darker │ ├── ABOUT │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png ├── Arc-solid │ ├── ABOUT │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png ├── Arc │ ├── ABOUT │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png ├── Canta │ ├── close_hover.svg │ ├── max_hover.svg │ ├── min_hover.svg │ └── style.css ├── Communitheme │ ├── ABOUT │ ├── style.css │ ├── window-close-symbolic.svg │ ├── window-maximize-symbolic.svg │ ├── window-minimize-symbolic.svg │ └── window-restore-symbolic.svg ├── Materia │ ├── ABOUT │ ├── button.svg │ ├── close.svg │ ├── close_active.svg │ ├── close_hover.svg │ ├── maximize.svg │ ├── maximize_active.svg │ ├── maximize_hover.svg │ ├── minimize.svg │ ├── minimize_active.svg │ ├── minimize_hover.svg │ ├── style.css │ ├── unmaximize.svg │ ├── unmaximize_active.svg │ └── unmaximize_hover.svg ├── OSX-Arc-Darker │ ├── ABOUT │ ├── style.css │ ├── titlebutton-close-hover@2.png │ ├── titlebutton-close@2.png │ ├── titlebutton-maximize-hover@2.png │ ├── titlebutton-maximize@2.png │ ├── titlebutton-minimize-hover@2.png │ └── titlebutton-minimize@2.png ├── OSX-Arc-Shadow │ ├── ABOUT │ ├── style.css │ ├── titlebutton-close-hover@2.png │ ├── titlebutton-close@2.png │ ├── titlebutton-maximize-hover@2.png │ ├── titlebutton-maximize@2.png │ ├── titlebutton-minimize-hover@2.png │ └── titlebutton-minimize@2.png ├── Radiance │ ├── ABOUT │ ├── close_focused_normal.png │ ├── close_focused_prelight.png │ ├── close_focused_pressed.png │ ├── maximize_focused_normal.png │ ├── maximize_focused_prelight.png │ ├── maximize_focused_pressed.png │ ├── minimize_focused_normal.png │ ├── minimize_focused_prelight.png │ ├── minimize_focused_pressed.png │ ├── screenshot.png │ └── style.css ├── Suru │ ├── ABOUT │ ├── style.css │ ├── window-close-symbolic.svg │ ├── window-maximize-symbolic.svg │ ├── window-minimize-symbolic.svg │ └── window-restore-symbolic.svg ├── Vertex-Dark │ ├── ABOUT │ ├── style.css │ ├── titlebutton-close-active-dark.png │ ├── titlebutton-close-hover-dark.png │ ├── titlebutton-dark.png │ ├── titlebutton-maximize-active-dark.png │ ├── titlebutton-maximize-hover-dark.png │ ├── titlebutton-minimize-active-dark.png │ ├── titlebutton-minimize-hover-dark.png │ └── titlebutton-unfocused-dark.png ├── Vertex-Light │ ├── ABOUT │ ├── style.css │ ├── titlebutton-close-active.png │ ├── titlebutton-close-hover.png │ ├── titlebutton-maximize-active.png │ ├── titlebutton-maximize-hover.png │ ├── titlebutton-minimize-active.png │ ├── titlebutton-minimize-hover.png │ ├── titlebutton-unfocused.png │ └── titlebutton.png ├── Vertex │ ├── ABOUT │ ├── style.css │ ├── titlebutton-close-active-dark.png │ ├── titlebutton-close-active.png │ ├── titlebutton-close-hover-dark.png │ ├── titlebutton-close-hover.png │ ├── titlebutton-dark.png │ ├── titlebutton-maximize-active-dark.png │ ├── titlebutton-maximize-active.png │ ├── titlebutton-maximize-hover-dark.png │ ├── titlebutton-maximize-hover.png │ ├── titlebutton-minimize-active-dark.png │ ├── titlebutton-minimize-active.png │ ├── titlebutton-minimize-hover-dark.png │ ├── titlebutton-minimize-hover.png │ ├── titlebutton-unfocused-dark.png │ └── titlebutton-unfocused.png ├── Vimix │ ├── ABOUT │ ├── style.css │ ├── titlebutton-close-hover@2.png │ ├── titlebutton-close@2.png │ ├── titlebutton-maximize-hover@2.png │ ├── titlebutton-maximize@2.png │ ├── titlebutton-minimize-hover@2.png │ └── titlebutton-minimize@2.png ├── Yaru │ ├── ABOUT │ ├── style.css │ ├── window-close-symbolic.svg │ ├── window-maximize-symbolic.svg │ ├── window-minimize-symbolic.svg │ └── window-restore-symbolic.svg ├── Zukitwo-Dark │ ├── ABOUT │ ├── screenshot.png │ └── style.css ├── Zukitwo │ ├── ABOUT │ ├── screenshot.png │ └── style.css ├── default │ ├── ABOUT │ ├── close.svg │ ├── close_hover.svg │ ├── max.svg │ ├── max_hover.svg │ ├── min.svg │ ├── min_hover.svg │ ├── screenshot.png │ └── style.css └── iris-master │ ├── ABOUT │ ├── screenshot.png │ ├── style.css │ ├── titlebutton-close-hover.png │ ├── titlebutton-close.png │ ├── titlebutton-max-hover.png │ ├── titlebutton-max.png │ ├── titlebutton-min-hover.png │ └── titlebutton-min.png └── utils.js /.gitignore: -------------------------------------------------------------------------------- 1 | *.zip 2 | po/*.mo 3 | *~ 4 | po/no-title-bar.pot 5 | -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- 1 | # Basic Makefile 2 | 3 | UUID = no-title-bar@jonaspoehler.de 4 | BASE_MODULES = app_menu.js convenience.js extension.js prefs.js buttons.js decoration.js metadata.json Settings.ui stylesheet-tiled.css stylesheet.css utils.js 5 | INSTALLNAME = no-title-bar@jonaspoehler.de 6 | MSGSRC = $(wildcard po/*.po) 7 | ifeq ($(strip $(DESTDIR)),) 8 | INSTALLBASE = $(HOME)/.local/share/gnome-shell/extensions 9 | RMTMP = echo Not deleting tmp as installation is local 10 | else 11 | INSTALLBASE = $(DESTDIR)/usr/share/gnome-shell/extensions 12 | RMTMP = rm -rf ./_build/tmp 13 | endif 14 | DEBDIR = gnome-shell-extension-no-title-bar_0~git-$(shell git show -s --format=%cd --date=short HEAD | tr -d - )-0/ 15 | 16 | all: extension 17 | 18 | clean: 19 | rm -f ./schemas/gschemas.compiled 20 | rm -f ./po/*.mo 21 | rm -r _build gnome-shell-extension-no-title-bar* 22 | 23 | extension: ./schemas/gschemas.compiled $(MSGSRC:.po=.mo) 24 | 25 | ./schemas/gschemas.compiled: ./schemas/org.gnome.shell.extensions.no-title-bar.gschema.xml 26 | glib-compile-schemas ./schemas/ 27 | 28 | potfile: ./po/no-title-bar.pot 29 | 30 | mergepo: potfile 31 | for l in $(MSGSRC); do \ 32 | msgmerge -U $$l ./po/no-title-bar.pot; \ 33 | done; 34 | 35 | ./po/no-title-bar.pot: Settings.ui 36 | mkdir -p po 37 | intltool-extract --type=gettext/glade Settings.ui 38 | xgettext -k -k_ -kN_ -o po/no-title-bar.pot Settings.ui.h 39 | 40 | ./po/%.mo: ./po/%.po 41 | msgfmt -c $< -o $@ 42 | 43 | install: install-local 44 | 45 | install-local: _build 46 | rm -rf $(INSTALLBASE)/$(INSTALLNAME) 47 | mkdir -p $(INSTALLBASE)/$(INSTALLNAME) 48 | cp -r ./_build/* $(INSTALLBASE)/$(INSTALLNAME)/ 49 | -rm -fR _build 50 | echo done 51 | 52 | zip-file: _build 53 | cd _build ; \ 54 | zip -qr "$(UUID).zip" . 55 | mv _build/$(UUID).zip ./ 56 | -rm -fR _build 57 | 58 | _build: all 59 | -rm -fR ./_build 60 | mkdir -p _build 61 | cp $(BASE_MODULES) _build 62 | mkdir -p _build/themes 63 | cp -r themes/* _build/themes/ 64 | mkdir -p _build/schemas 65 | cp schemas/*.xml _build/schemas/ 66 | cp schemas/gschemas.compiled _build/schemas/ 67 | mkdir -p _build/locale 68 | for l in $(MSGSRC:.po=.mo) ; do \ 69 | lf=_build/locale/`basename $$l .mo`; \ 70 | mkdir -p $$lf; \ 71 | mkdir -p $$lf/LC_MESSAGES; \ 72 | cp $$l $$lf/LC_MESSAGES/no-title-bar.mo; \ 73 | done; 74 | 75 | deb: _build 76 | -rm -r $(DEBDIR) 77 | mkdir -p $(DEBDIR)/usr/share/doc/gnome-shell-extension-no-title-bar/ 78 | mkdir -p $(DEBDIR)/usr/share/gnome-shell/extensions/ 79 | mkdir $(DEBDIR)/DEBIAN 80 | cp -a _build $(DEBDIR)/usr/share/gnome-shell/extensions/$(UUID) 81 | cp COPYING $(DEBDIR)/usr/share/doc/gnome-shell-extension-no-title-bar/copyright 82 | cp README.md $(DEBDIR)/usr/share/doc/gnome-shell-extension-no-title-bar/ 83 | cp control $(DEBDIR)/DEBIAN/ 84 | chmod -R go+rX $(DEBDIR) 85 | dpkg-deb --build $(DEBDIR) 86 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # No Title Bar 2 | 3 | An extension for GNOME Shell that merges the activity bar and the title bar of maximized windows. 4 | 5 | ## Install From Source 6 | 7 | ``` 8 | make install 9 | gnome-extensions enable no-title-bar@jonaspoehler.de 10 | ``` 11 | 12 | Restart GNOME Shell by pressing Alt+F2 and entering r. 13 | **Note**: GNOME Shell under Wayland doesn't support restarting, so you might need to login again instead. 14 | 15 | ## Dependencies 16 | 17 | This extension depends on Xorg's `xprop` and `xwininfo` utilities. If not already 18 | present on your system, these can be installed using: 19 | 20 | - Debian/Ubuntu: `apt install x11-utils` 21 | - Fedora/RHEL: `dnf install xorg-x11-utils` 22 | - Arch: `pacman -S xorg-xprop` 23 | 24 | ## Credits 25 | 26 | This is based on the no-title-bar extension by franglais125 (https://github.com/franglais125/no-title-bar), which itself 27 | is a fork of the Pixel-Saver extension, by @deadalnix: https://github.com/deadalnix/pixel-saver 28 | -------------------------------------------------------------------------------- /app_menu.js: -------------------------------------------------------------------------------- 1 | const Clutter = imports.gi.Clutter; 2 | const Lang = imports.lang; 3 | const Main = imports.ui.main; 4 | const Mainloop = imports.mainloop; 5 | const Shell = imports.gi.Shell; 6 | const St = imports.gi.St; 7 | 8 | const ExtensionUtils = imports.misc.extensionUtils; 9 | const Me = ExtensionUtils.getCurrentExtension(); 10 | const Utils = Me.imports.utils; 11 | 12 | const display = Utils.display; 13 | 14 | let SHOW_DELAY = 350; 15 | let SHOW_DURATION = 0.15; 16 | let HIDE_DURATION = 0.1; 17 | 18 | var AppMenu = class { 19 | 20 | constructor(settings) { 21 | this._wmCallbackIDs = []; 22 | this._focusCallbackID = 0; 23 | this._tooltipCallbackID = 0; 24 | this._globalCallBackID = 0; 25 | this._labelWidthCallbackID = 0; 26 | this._isEnabled = false; 27 | 28 | this._appMenu = Main.panel.statusArea.appMenu; 29 | this._labelWidth = 0; 30 | 31 | this._activeWindow = null; 32 | this._awCallbackID = 0; 33 | 34 | // Tooltip 35 | this._tooltip = null; 36 | this._showTooltip = false; 37 | this._tooltipIsShown = false; 38 | 39 | this._tooltipDelayCallbackID = 0; 40 | this._menuCallbackID = 0; 41 | 42 | // Load settings 43 | this._settings = settings; 44 | this._settingsId = this._settings.connect('changed::change-appmenu', 45 | Lang.bind(this, function() { 46 | if (this._settings.get_boolean('change-appmenu')) 47 | this._enable(); 48 | else 49 | this._disable(); 50 | })); 51 | 52 | if (this._settings.get_boolean('change-appmenu')) 53 | this._enable(); 54 | else 55 | this._disable(); 56 | } 57 | 58 | /** 59 | * AppMenu synchronization 60 | */ 61 | _updateAppMenu() { 62 | let win = global.display.focus_window; 63 | if (!win) { 64 | return false; 65 | } 66 | 67 | let title = win.title; 68 | 69 | // Not the topmost maximized window. 70 | if (win !== Utils.getWindow()) { 71 | let app = Shell.WindowTracker.get_default().get_window_app(win); 72 | if (app) 73 | title = app.get_name(); 74 | } 75 | 76 | // Not on the primary monitor 77 | if (this._settings.get_boolean('only-main-monitor') && !win.is_on_primary_monitor()) { 78 | let app = Shell.WindowTracker.get_default().get_window_app(win); 79 | title = app.get_name(); 80 | } 81 | this._appMenu._label.clutter_text.set_text(title); 82 | this._tooltip.text = title; 83 | 84 | return false; 85 | } 86 | 87 | _updateAppMenuWidth() { 88 | this._restoreAppMenuWidth(); 89 | 90 | let width = this._settings.get_int('app-menu-width'); 91 | if (width > -1) 92 | this._appMenu._label.set_style('max-width: ' + width + 'px'); 93 | 94 | this._updateAppMenu(); 95 | } 96 | 97 | _restoreAppMenuWidth() { 98 | this._appMenu._label.set_style('max-width'); 99 | } 100 | 101 | /** 102 | * Track the focused window's title 103 | */ 104 | _changeActiveWindow(win) { 105 | if (win === this._activeWindow) { 106 | return; 107 | } 108 | 109 | if (this._activeWindow) { 110 | this._activeWindow.disconnect(this._awCallbackID); 111 | } 112 | 113 | this._activeWindow = win; 114 | 115 | if (win) { 116 | this._awCallbackID = win.connect('notify::title', Lang.bind(this, this._updateAppMenu)); 117 | this._updateAppMenu(); 118 | } 119 | } 120 | 121 | /** 122 | * Focus change 123 | */ 124 | _onFocusChange() { 125 | let input_mode_check = (global.stage_input_mode === undefined) 126 | ? true 127 | : global.stage_input_mode == Shell.StageInputMode.FOCUSED; 128 | if (!Shell.WindowTracker.get_default().focus_app && input_mode_check) { 129 | // If the app has just lost focus to the panel, pretend 130 | // nothing happened; otherwise you can't keynav to the 131 | // app menu. 132 | return false; 133 | } 134 | 135 | this._changeActiveWindow(global.display.focus_window); 136 | return false; 137 | } 138 | 139 | /** 140 | * tooltip 141 | */ 142 | 143 | _resetMenuCallback() { 144 | if (this._menuCallbackID) { 145 | this._appMenu.menu.disconnect(this._menuCallbackID); 146 | this._menuCallbackID = 0; 147 | } 148 | } 149 | 150 | _onAppMenuHover(actor) { 151 | let hover = actor.get_hover(); 152 | if (this._showTooltip === hover) { 153 | return false; 154 | } 155 | 156 | // We are not in the right state, let's fix that. 157 | this._showTooltip = hover; 158 | 159 | if (this._showTooltip) { 160 | this._tooltipDelayCallbackID = Mainloop.timeout_add(SHOW_DELAY, Lang.bind(this, function() { 161 | // Something wants us to stop. 162 | if (this._tooltipDelayCallbackID === 0) { 163 | return false; 164 | } 165 | 166 | let label = this._appMenu._label; 167 | if (!label.get_clutter_text().get_layout().is_ellipsized()) { 168 | // Do not need to hide. 169 | this._tooltipDelayCallbackID = 0; 170 | return false; 171 | } 172 | 173 | if (!this._tooltipIsShown) { 174 | Main.uiGroup.add_actor(this._tooltip); 175 | this._tooltipIsShown = true; 176 | } 177 | 178 | this._resetMenuCallback(); 179 | this._menuCallbackID = this._appMenu.menu.connect('open-state-changed', function(menu, open) { 180 | if (!this._tooltip) { 181 | return; 182 | } 183 | 184 | if (open && this._tooltipIsShown) { 185 | Main.uiGroup.remove_actor(this._tooltip); 186 | this._tooltipIsShown = false; 187 | } else if (!this._tooltipIsShown) { 188 | Main.uiGroup.add_actor(this._tooltip); 189 | this._tooltipIsShown = true; 190 | } 191 | }); 192 | 193 | let [px, py] = Main.panel.get_transformed_position(); 194 | let [bx, by] = label.get_transformed_position(); 195 | let [w, h] = label.get_transformed_size(); 196 | 197 | let y = py + Main.panel.get_height() + 3; 198 | let x = bx - Math.round((this._tooltip.get_width() - w)/2); 199 | this._tooltip.opacity = 0; 200 | this._tooltip.set_position(x, y); 201 | 202 | this._tooltip.remove_all_transitions(); 203 | this._tooltip.ease({ 204 | opacity: 255, 205 | time: SHOW_DURATION, 206 | transition: Clutter.AnimationMode.EASE_OUT_QUAD, 207 | }); 208 | 209 | return false; 210 | })); 211 | } else if (this._tooltipDelayCallbackID > 0) { 212 | // If the event ran, then we hide. 213 | this._resetMenuCallback(); 214 | 215 | this._tooltip.remove_all_transitions(); 216 | this._tooltip.ease({ 217 | opacity: 0, 218 | time: HIDE_DURATION, 219 | transition: Clutter.AnimationMode.EASE_OUT_QUAD, 220 | onComplete: Lang.bind(this, function() { 221 | if (this._tooltipIsShown) { 222 | Main.uiGroup.remove_actor(this._tooltip); 223 | this._tooltipIsShown = false; 224 | } 225 | }) 226 | }); 227 | 228 | this._tooltipDelayCallbackID = 0; 229 | } 230 | 231 | return false; 232 | } 233 | 234 | _enable() { 235 | this._tooltip = new St.Label({ 236 | style_class: 'tooltip dash-label', 237 | text: '', 238 | opacity: 0 239 | }); 240 | 241 | this._wmCallbackIDs = this._wmCallbackIDs.concat(Utils.onSizeChange(Lang.bind(this, this._updateAppMenu))); 242 | 243 | this._focusCallbackID = global.display.connect('notify::focus-window', Lang.bind(this, this._onFocusChange)); 244 | this._onFocusChange(); 245 | 246 | this._tooltipCallbackID = this._appMenu.connect('notify::hover', 247 | Lang.bind(this, this._onAppMenuHover)); 248 | this._globalCallBackID = display.connect('restacked', 249 | Lang.bind(this, this._updateAppMenu)); 250 | 251 | this._labelWidthCallbackID = this._appMenu._label.connect("notify::width", () => { 252 | var label_width = this._appMenu._label.width; 253 | if (this._labelWidth !== label_width) { 254 | this._labelWidth = label_width; 255 | this._updateAppMenuWidth(); 256 | } 257 | }); 258 | 259 | this._labelId = this._settings.connect('changed::app-menu-width', 260 | Lang.bind(this, function() { 261 | if (this._settings.get_boolean('change-appmenu')) 262 | this._updateAppMenuWidth(); 263 | })); 264 | this._updateAppMenuWidth(); 265 | 266 | this._isEnabled = true; 267 | } 268 | 269 | _disable() { 270 | this._wmCallbackIDs.forEach(function(id) { 271 | global.window_manager.disconnect(id); 272 | }); 273 | 274 | this._wmCallbackIDs = []; 275 | 276 | if (this._focusCallbackID) { 277 | global.display.disconnect(this._focusCallbackID); 278 | this._focusCallbackID = 0; 279 | } 280 | 281 | if (this._globalCallBackID) { 282 | display.disconnect(this._globalCallBackID); 283 | this._globalCallBackID = 0; 284 | } 285 | 286 | if (this._labelWidthCallbackID) { 287 | this._appMenu._label.disconnect(this._labelWidthCallbackID); 288 | this._labelWidthCallbackID = 0; 289 | } 290 | 291 | if (this._tooltipCallbackID) { 292 | this._appMenu.disconnect(this._tooltipCallbackID); 293 | this._tooltipCallbackID = 0; 294 | } 295 | 296 | if (this._activeWindow) { 297 | this._activeWindow.disconnect(this._awCallbackID); 298 | this._awCallbackID = 0; 299 | this._activeWindow = null; 300 | } 301 | 302 | if (this._tooltipDelayCallbackID) { 303 | Mainloop.source_remove(this._tooltipDelayCallbackID); 304 | this._tooltipDelayCallbackID = 0; 305 | } 306 | 307 | this._resetMenuCallback(); 308 | 309 | if (this._tooltip) { 310 | this._tooltip.destroy(); 311 | this._tooltip = null; 312 | } 313 | 314 | if (this._labelId) { 315 | this._settings.disconnect(this._labelId); 316 | } 317 | this._restoreAppMenuWidth(); 318 | 319 | this._isEnabled = false; 320 | } 321 | 322 | destroy() { 323 | if (this._isEnabled) 324 | this._disable(); 325 | 326 | if (this._settingsId) { 327 | this._settings.disconnect(this._settingsId); 328 | this._settingsId = null; 329 | } 330 | } 331 | } 332 | -------------------------------------------------------------------------------- /control: -------------------------------------------------------------------------------- 1 | Package: gnome-shell-extension-no-title-bar 2 | Version: 0~git20180421-1 3 | Section: universe/gnome 4 | Priority: optional 5 | Architecture: all 6 | Depends: gnome-shell (>= 3.16) 7 | Maintainer: Fran Glais 8 | Description: Get rid of title bar for maximized windows 9 | -------------------------------------------------------------------------------- /convenience.js: -------------------------------------------------------------------------------- 1 | const Gettext = imports.gettext; 2 | const Lang = imports.lang; 3 | 4 | const Gio = imports.gi.Gio; 5 | 6 | const Config = imports.misc.config; 7 | const ExtensionUtils = imports.misc.extensionUtils; 8 | 9 | function getSettings() { 10 | let extension = ExtensionUtils.getCurrentExtension(); 11 | let schema = 'org.gnome.shell.extensions.no-title-bar'; 12 | 13 | const GioSSS = Gio.SettingsSchemaSource; 14 | 15 | // check if this extension was built with "make zip-file", and thus 16 | // has the schema files in a subfolder 17 | // otherwise assume that extension has been installed in the 18 | // same prefix as gnome-shell (and therefore schemas are available 19 | // in the standard folders) 20 | let schemaDir = extension.dir.get_child('schemas'); 21 | let schemaSource; 22 | if (schemaDir.query_exists(null)) { 23 | schemaSource = GioSSS.new_from_directory(schemaDir.get_path(), 24 | GioSSS.get_default(), 25 | false); 26 | } else { 27 | schemaSource = GioSSS.get_default(); 28 | } 29 | 30 | let schemaObj = schemaSource.lookup(schema, true); 31 | if (!schemaObj) { 32 | throw new Error('Schema ' + schema + ' could not be found for extension ' + 33 | extension.metadata.uuid + '. Please check your installation.'); 34 | } 35 | 36 | return new Gio.Settings({settings_schema: schemaObj}); 37 | } 38 | 39 | /** 40 | * initTranslations: 41 | * @domain: (optional): the gettext domain to use 42 | * 43 | * Initialize Gettext to load translations from extensionsdir/locale. 44 | * If @domain is not provided, it will be taken from metadata['gettext-domain'] 45 | */ 46 | function initTranslations(domain) { 47 | let extension = ExtensionUtils.getCurrentExtension(); 48 | 49 | domain = domain || extension.metadata['gettext-domain']; 50 | 51 | // check if this extension was built with "make zip-file", and thus 52 | // has the locale files in a subfolder 53 | // otherwise assume that extension has been installed in the 54 | // same prefix as gnome-shell 55 | let localeDir = extension.dir.get_child('locale'); 56 | if (localeDir.query_exists(null)) 57 | Gettext.bindtextdomain(domain, localeDir.get_path()); 58 | else 59 | Gettext.bindtextdomain(domain, Config.LOCALEDIR); 60 | } 61 | -------------------------------------------------------------------------------- /extension.js: -------------------------------------------------------------------------------- 1 | /** 2 | /* 3 | This file is part of Apt Update Indicator 4 | Apt Update Indicator is free software: you can redistribute it and/or modify 5 | it under the terms of the GNU General Public License as published by 6 | the Free Software Foundation, either version 3 of the License, or 7 | (at your option) any later version. 8 | Apt Update Indicator is distributed in the hope that it will be useful, 9 | but WITHOUT ANY WARRANTY; without even the implied warranty of 10 | MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 11 | GNU General Public License for more details. 12 | You should have received a copy of the GNU General Public License 13 | along with Apt Update Indicator. If not, see . 14 | Copyright 2013 Amy Chan, mathematical.coffee@gmail.com 15 | Copyright 2013-7 Amaury Sechet, deadalnix@gmail.com 16 | Copyright 2017 Fran Glais, franglais125@gmail.com 17 | */ 18 | const ExtensionUtils = imports.misc.extensionUtils; 19 | const Me = ExtensionUtils.getCurrentExtension(); 20 | const Decoration = Me.imports.decoration; 21 | const Buttons = Me.imports.buttons; 22 | const AppMenu = Me.imports.app_menu; 23 | const Utils = Me.imports.utils; 24 | 25 | let decoration = null; 26 | let buttons = null; 27 | let appMenu = null; 28 | 29 | function init() { 30 | Utils.log("Init"); 31 | } 32 | 33 | function enable() { 34 | Utils.log("Enabling extension"); 35 | let settings = Utils.enable(); 36 | 37 | buttons = new Buttons.Buttons(settings); 38 | appMenu = new AppMenu.AppMenu(settings); 39 | decoration = new Decoration.Decoration(settings); 40 | } 41 | 42 | function disable() { 43 | Utils.log("Disabling extension"); 44 | appMenu.destroy(); 45 | appMenu = null; 46 | decoration.destroy(); 47 | decoration = null; 48 | buttons.destroy(); 49 | buttons = null; 50 | 51 | Utils.disable(); 52 | } 53 | 54 | -------------------------------------------------------------------------------- /metadata.json: -------------------------------------------------------------------------------- 1 | { 2 | "uuid": "no-title-bar@jonaspoehler.de", 3 | "name": "No Title Bar - Forked", 4 | "description": "No Title Bar removes the title bar from non-GTK applications and moves the window title and buttons to the top panel.\n\nTitlebars are also hidden for Wayland-native clients that don't use CSD. Some of the options may be incompatible with this. For issues on Wayland please visit github!\n\nThis is a fork of https://extensions.gnome.org/extension/1267/no-title-bar/ with added compatibility for Gnome 3.32.\n\nThis extension depends on some Xorg utilities. To install them:\n\n\u26ab Debian/Ubuntu: apt install x11-utils\n\u26ab Fedora/RHEL: dnf install xorg-x11-utils\n\u26ab Arch: pacman -S xorg-xprop", 5 | "url": "https://github.com/poehlerj/no-title-bar", 6 | "shell-version": [ "40", "41", "42" ], 7 | "version": 12 8 | } 9 | -------------------------------------------------------------------------------- /po/cs.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Pavel Borecki , 2018. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-17 09:51+0200\n" 11 | "PO-Revision-Date: 2017-09-17 10:04+0200\n" 12 | "Last-Translator: Pavel Borecki \n" 13 | "Language-Team: \n" 14 | "Language: cs\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: Settings.ui.h:1 20 | msgid "Cancel" 21 | msgstr "Storno" 22 | 23 | #: Settings.ui.h:2 24 | msgid "Save" 25 | msgstr "Uložit" 26 | 27 | #: Settings.ui.h:3 28 | msgid "Clear entry" 29 | msgstr "Vyčistit položku" 30 | 31 | #: Settings.ui.h:4 32 | msgid "Window control buttons" 33 | msgstr "Tlačítka ovládání okna" 34 | 35 | #: Settings.ui.h:5 36 | msgid "Before app menu" 37 | msgstr "Před nabídkou aplikace" 38 | 39 | #: Settings.ui.h:6 40 | msgid "After app menu" 41 | msgstr "Za nabídkou aplikace" 42 | 43 | #: Settings.ui.h:8 44 | msgid "Before status area" 45 | msgstr "Před stavovou oblastí" 46 | 47 | #: Settings.ui.h:7 48 | msgid "Within status area" 49 | msgstr "Ve stavové oblasti" 50 | 51 | #: Settings.ui.h:8 52 | msgid "After status area" 53 | msgstr "Za stavovou oblastí" 54 | 55 | #: Settings.ui.h:9 56 | msgid "Hidden" 57 | msgstr "Skryté" 58 | 59 | #: Settings.ui.h:10 60 | msgid "Autohide buttons" 61 | msgstr "Tlačítka automaticky skrývat" 62 | 63 | #: Settings.ui.h:11 64 | msgid "Show buttons for snapped windows" 65 | msgstr "Zobrazovat tlačítka u přichycených oken" 66 | 67 | #: Settings.ui.h:12 68 | msgid "Replace App Menu name with Window name" 69 | msgstr "Nahradit název nabídky aplikace názvem okna" 70 | 71 | #: Settings.ui.h:13 72 | msgid "Replace App Menu name for snapped windows" 73 | msgstr "U přichycených oken nahradit název nabídky aplikace" 74 | 75 | #: Settings.ui.h:14 76 | msgid "Remove title bars only on the main monitor" 77 | msgstr "Odebrat lišty titulků pouze na hlavním monitoru" 78 | 79 | #: Settings.ui.h:15 80 | msgid "Basic settings" 81 | msgstr "Základní nastavení" 82 | 83 | #: Settings.ui.h:16 84 | msgid "Automatic theme" 85 | msgstr "Motiv vzhledu automaticky" 86 | 87 | #: Settings.ui.h:17 88 | msgid "Theme" 89 | msgstr "Motiv vzhledu" 90 | 91 | #: Settings.ui.h:18 92 | msgid "List type" 93 | msgstr "Typ seznamu" 94 | 95 | #: Settings.ui.h:19 96 | msgid "Disabled" 97 | msgstr "Vypnuté" 98 | 99 | #: Settings.ui.h:20 100 | msgid "Whitelist" 101 | msgstr "Vyjmenovat povolené" 102 | 103 | #: Settings.ui.h:21 104 | msgid "Blacklist" 105 | msgstr "Vyjmenovat zakázané" 106 | 107 | #: Settings.ui.h:22 108 | msgid "" 109 | "Whitelist: only applications on this list will have the title bar removed.\n" 110 | "Blacklist: all applications, except the ones on the list, will have the " 111 | "title bar removed." 112 | msgstr "" 113 | "Vyjmenovat povolené: pouze u oken aplikací na tomto seznamu bude odebrána lišta titulku.\n" 114 | "Vyjmenovat zakázané: krom aplikací na tomto seznamu, bude oknům všech ostatních " 115 | "lišta titulku odebrána." 116 | 117 | #: Settings.ui.h:24 118 | msgid "Lists" 119 | msgstr "Seznamy" 120 | 121 | #: Settings.ui.h:25 122 | msgid "Maintained by" 123 | msgstr "Udržuje" 124 | 125 | #: Settings.ui.h:26 126 | msgid "Webpage" 127 | msgstr "Webová stránka" 128 | 129 | #: Settings.ui.h:27 130 | msgid "" 131 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 132 | "See the GNU General Public License, version 2 or later for details." 134 | msgstr "" 135 | "Tento program přichází BEZ JAKÝCHKOLI ZÁRUK.\n" 136 | "Podrobnosti viz GNU General Public License, verze 2 nebo novější" 138 | 139 | #: Settings.ui.h:29 140 | msgid "About" 141 | msgstr "O rozšíření" 142 | -------------------------------------------------------------------------------- /po/de.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # FIRST AUTHOR , YEAR. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: \n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2020-05-12 17:39+0200\n" 11 | "PO-Revision-Date: 2017-09-17 10:04+0200\n" 12 | "Last-Translator: Jonatan Hatakeyama Zeidler \n" 13 | "Language-Team: \n" 14 | "Language: de\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Poedit 2.0.1\n" 19 | 20 | #: Settings.ui.h:1 21 | msgid "Cancel" 22 | msgstr "Abbrechen" 23 | 24 | #: Settings.ui.h:2 25 | msgid "Save" 26 | msgstr "Speichern" 27 | 28 | #: Settings.ui.h:3 29 | msgid "Clear entry" 30 | msgstr "Eintrag entfernen" 31 | 32 | #: Settings.ui.h:4 33 | msgid "Window control buttons" 34 | msgstr "Fenster-Schaltflächen" 35 | 36 | #: Settings.ui.h:5 37 | msgid "Before app menu" 38 | msgstr "Vor Anwendungsmenü" 39 | 40 | #: Settings.ui.h:6 41 | msgid "After app menu" 42 | msgstr "Hinter Anwendungsmenü" 43 | 44 | #: Settings.ui.h:7 45 | msgid "Within status area" 46 | msgstr "Innerhalb des Statusbereichs" 47 | 48 | #: Settings.ui.h:8 49 | msgid "Before status area" 50 | msgstr "Vor Statusbereich" 51 | 52 | #: Settings.ui.h:9 53 | msgid "After status area" 54 | msgstr "Hinter Statusbereichs" 55 | 56 | #: Settings.ui.h:10 57 | msgid "Hidden" 58 | msgstr "Versteckt" 59 | 60 | #: Settings.ui.h:11 61 | msgid "Autohide buttons" 62 | msgstr "Schaltflächen automatisch ausblenden" 63 | 64 | #: Settings.ui.h:12 65 | #, fuzzy 66 | msgid "Show buttons for all windows" 67 | msgstr "Schaltflächen bei allen Fenstern anzeigen" 68 | 69 | #: Settings.ui.h:13 70 | msgid "Show buttons for snapped windows" 71 | msgstr "Schaltflächen bei eingerasteten Fenstern anzeigen" 72 | 73 | #: Settings.ui.h:14 74 | msgid "Replace App Menu name with Window name" 75 | msgstr "Anwendungsmenü durch Fenstername ersetzen" 76 | 77 | #: Settings.ui.h:15 78 | msgid "Replace App Menu name for snapped windows" 79 | msgstr "Anwendungsmenü bei eingerasteten Fenstern ersetzen" 80 | 81 | #: Settings.ui.h:16 82 | msgid "Maximum label width (px)" 83 | msgstr "Maximale Labelbreite (px)" 84 | 85 | #: Settings.ui.h:17 86 | msgid "Set to -1 to disable" 87 | msgstr "Zum deaktivieren auf -1 setzen" 88 | 89 | #: Settings.ui.h:18 90 | msgid "Remove title bars only on the main monitor" 91 | msgstr "Titelleisten nur auf dem primären Bildschirm entfernen" 92 | 93 | #: Settings.ui.h:19 94 | msgid "Basic settings" 95 | msgstr "Grundeinstellungen" 96 | 97 | #: Settings.ui.h:20 98 | msgid "Automatic theme" 99 | msgstr "Automatisches Thema" 100 | 101 | #: Settings.ui.h:21 102 | msgid "Theme" 103 | msgstr "Thema" 104 | 105 | #: Settings.ui.h:22 106 | msgid "List type" 107 | msgstr "Listentyp" 108 | 109 | #: Settings.ui.h:23 110 | msgid "Disabled" 111 | msgstr "Deaktiviert" 112 | 113 | #: Settings.ui.h:24 114 | msgid "Whitelist" 115 | msgstr "Weiße Liste" 116 | 117 | #: Settings.ui.h:25 118 | msgid "Blacklist" 119 | msgstr "Schwarze Liste" 120 | 121 | #: Settings.ui.h:26 122 | msgid "" 123 | "Whitelist: only applications on this list will have the title bar removed.\n" 124 | "Blacklist: all applications, except the ones on the list, will have the " 125 | "title bar removed." 126 | msgstr "" 127 | "Weiße Liste: Titelleiste wird nur bei Anwendungen auf dieser Liste " 128 | "entfernt.\n" 129 | "Schwarze Liste: Titelleiste wird bei allen Anwendungen entfernt, außer denen " 130 | "auf dieser Liste." 131 | 132 | #: Settings.ui.h:28 133 | msgid "Lists" 134 | msgstr "Listen" 135 | 136 | #: Settings.ui.h:29 137 | msgid "Maintained by" 138 | msgstr "Gewartet durch" 139 | 140 | #: Settings.ui.h:30 141 | msgid "Webpage" 142 | msgstr "Webseite" 143 | 144 | #: Settings.ui.h:31 145 | msgid "Enable debug mode" 146 | msgstr "Debug-Modus aktivieren" 147 | 148 | #: Settings.ui.h:32 149 | msgid "" 150 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 151 | "See the GNU General Public License, version 2 or later for details." 153 | msgstr "" 154 | "Für dieses Programm besteht KEINERLEI GARANTIE.\n" 155 | "Details unter GNU General Public License, Version 2 oder später" 157 | 158 | #: Settings.ui.h:34 159 | msgid "About" 160 | msgstr "Info" 161 | -------------------------------------------------------------------------------- /po/es.po: -------------------------------------------------------------------------------- 1 | # No Title Bar. 2 | # Copyright (C) 2017 3 | # This file is distributed under the same license as the No Title Bar package. 4 | # Fran Glais , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: No Title Bar\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-17 09:50+0200\n" 11 | "PO-Revision-Date: 2017-07-25 03:54-0400\n" 12 | "Last-Translator: Fran Glais \n" 13 | "Language-Team: \n" 14 | "Language: es\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: Settings.ui.h:1 20 | msgid "Cancel" 21 | msgstr "" 22 | 23 | #: Settings.ui.h:2 24 | msgid "Save" 25 | msgstr "" 26 | 27 | #: Settings.ui.h:3 28 | msgid "Clear entry" 29 | msgstr "" 30 | 31 | #: Settings.ui.h:4 32 | msgid "Window control buttons" 33 | msgstr "Botones de control de las ventanas" 34 | 35 | #: Settings.ui.h:5 36 | msgid "Before app menu" 37 | msgstr "Antes del menú de aplicación" 38 | 39 | #: Settings.ui.h:6 40 | msgid "After app menu" 41 | msgstr "Después del menú de aplicación" 42 | 43 | #: Settings.ui.h:8 44 | msgid "Before status area" 45 | msgstr "Antes del área de estado" 46 | 47 | #: Settings.ui.h:7 48 | msgid "Within status area" 49 | msgstr "Dentro del área de estado" 50 | 51 | #: Settings.ui.h:8 52 | msgid "After status area" 53 | msgstr "Después del área de estado" 54 | 55 | #: Settings.ui.h:9 56 | msgid "Hidden" 57 | msgstr "No mostrar" 58 | 59 | #: Settings.ui.h:10 60 | msgid "Autohide buttons" 61 | msgstr "" 62 | 63 | #: Settings.ui.h:11 64 | msgid "Show buttons for snapped windows" 65 | msgstr "" 66 | 67 | #: Settings.ui.h:12 68 | msgid "Replace App Menu name with Window name" 69 | msgstr "Utilizar el título de la ventana para el menú de la aplicación" 70 | 71 | #: Settings.ui.h:13 72 | #, fuzzy 73 | msgid "Replace App Menu name for snapped windows" 74 | msgstr "Utilizar el título de la ventana para el menú de la aplicación" 75 | 76 | #: Settings.ui.h:14 77 | msgid "Remove title bars only on the main monitor" 78 | msgstr "Quitar barra de título sólo en el monitor principal" 79 | 80 | #: Settings.ui.h:15 81 | msgid "Basic settings" 82 | msgstr "Ajustes básicos" 83 | 84 | #: Settings.ui.h:16 85 | msgid "Automatic theme" 86 | msgstr "Tema automático" 87 | 88 | #: Settings.ui.h:17 89 | msgid "Theme" 90 | msgstr "Tema" 91 | 92 | #: Settings.ui.h:18 93 | msgid "List type" 94 | msgstr "" 95 | 96 | #: Settings.ui.h:19 97 | msgid "Disabled" 98 | msgstr "" 99 | 100 | #: Settings.ui.h:20 101 | msgid "Whitelist" 102 | msgstr "" 103 | 104 | #: Settings.ui.h:21 105 | msgid "Blacklist" 106 | msgstr "" 107 | 108 | #: Settings.ui.h:22 109 | msgid "" 110 | "Whitelist: only applications on this list will have the title bar removed.\n" 111 | "Blacklist: all applications, except the ones on the list, will have the " 112 | "title bar removed." 113 | msgstr "" 114 | 115 | #: Settings.ui.h:24 116 | msgid "Lists" 117 | msgstr "" 118 | 119 | #: Settings.ui.h:25 120 | msgid "Maintained by" 121 | msgstr "Mantenido por" 122 | 123 | #: Settings.ui.h:26 124 | msgid "Webpage" 125 | msgstr "Sitio web" 126 | 127 | #: Settings.ui.h:27 128 | msgid "" 129 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 130 | "See the GNU General Public License, version 2 or later for details." 132 | msgstr "" 133 | "Este programa viene SIN NINGUNA GARANTÍA.\n" 134 | "Consulte la Licencia Pública General de GNU, versión 2 o posterior para obtener " 136 | "más detalles." 137 | 138 | #: Settings.ui.h:29 139 | msgid "About" 140 | msgstr "Acerca de" 141 | -------------------------------------------------------------------------------- /po/fr.po: -------------------------------------------------------------------------------- 1 | # No Title Bar. 2 | # Copyright (C) 2017 3 | # This file is distributed under the same license as the No Title Bar package. 4 | # Fran Glais , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: No Title Bar\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-17 09:50+0200\n" 11 | "PO-Revision-Date: 2017-07-25 03:54-0400\n" 12 | "Last-Translator: Fran Glais \n" 13 | "Language-Team: \n" 14 | "Language: fr\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: Settings.ui.h:1 20 | msgid "Cancel" 21 | msgstr "Annuler" 22 | 23 | #: Settings.ui.h:2 24 | msgid "Save" 25 | msgstr "Enregistrer" 26 | 27 | #: Settings.ui.h:3 28 | msgid "Clear entry" 29 | msgstr "Supprimer l’entrée" 30 | 31 | #: Settings.ui.h:4 32 | msgid "Window control buttons" 33 | msgstr "Boutons de contrôle des fenêtres" 34 | 35 | #: Settings.ui.h:5 36 | msgid "Before app menu" 37 | msgstr "Avant le menu d'application" 38 | 39 | #: Settings.ui.h:6 40 | msgid "After app menu" 41 | msgstr "Après le menu d'application" 42 | 43 | #: Settings.ui.h:8 44 | msgid "Before status area" 45 | msgstr "Avant le menu système" 46 | 47 | #: Settings.ui.h:7 48 | msgid "Within status area" 49 | msgstr "Avant le menu système" 50 | 51 | #: Settings.ui.h:8 52 | msgid "After status area" 53 | msgstr "Après le menu système" 54 | 55 | #: Settings.ui.h:9 56 | msgid "Hidden" 57 | msgstr "Masqués" 58 | 59 | #: Settings.ui.h:10 60 | msgid "Autohide buttons" 61 | msgstr "Masquer automatiquement les boutons" 62 | 63 | #: Settings.ui.h:11 64 | msgid "Show buttons for snapped windows" 65 | msgstr "Afficher les boutons des fenêtres ancrées" 66 | 67 | #: Settings.ui.h:12 68 | msgid "Replace App Menu name with Window name" 69 | msgstr "Utiliser le nom de la fenêtre au lieu de celui de l’application" 70 | 71 | #: Settings.ui.h:13 72 | #, fuzzy 73 | msgid "Replace App Menu name for snapped windows" 74 | msgstr "Remplacer le nom de l’application pour les fenêtres ancrées" 75 | 76 | #: Settings.ui.h:14 77 | msgid "Remove title bars only on the main monitor" 78 | msgstr "Masquer les barres des fenêtres seulement dans le moniteur principal" 79 | 80 | #: Settings.ui.h:15 81 | msgid "Basic settings" 82 | msgstr "Paramètres de base" 83 | 84 | #: Settings.ui.h:16 85 | msgid "Automatic theme" 86 | msgstr "Thème automatique" 87 | 88 | #: Settings.ui.h:17 89 | msgid "Theme" 90 | msgstr "Thème" 91 | 92 | #: Settings.ui.h:18 93 | msgid "List type" 94 | msgstr "Type de liste" 95 | 96 | #: Settings.ui.h:19 97 | msgid "Disabled" 98 | msgstr "Désactivé" 99 | 100 | #: Settings.ui.h:20 101 | msgid "Whitelist" 102 | msgstr "Liste blanche" 103 | 104 | #: Settings.ui.h:21 105 | msgid "Blacklist" 106 | msgstr "Liste noire" 107 | 108 | #: Settings.ui.h:22 109 | msgid "" 110 | "Whitelist: only applications on this list will have the title bar removed.\n" 111 | "Blacklist: all applications, except the ones on the list, will have the " 112 | "title bar removed." 113 | msgstr "" 114 | "Liste blanche: seules les applications de cette liste n’auront plus de barre " 115 | "de titre.\n" 116 | "Liste noire: toutes les applications, sauf celles de cette liste, n’auront " 117 | "plus de barre de titre." 118 | 119 | #: Settings.ui.h:24 120 | msgid "Lists" 121 | msgstr "Listes" 122 | 123 | #: Settings.ui.h:25 124 | msgid "Maintained by" 125 | msgstr "Maintenu par" 126 | 127 | #: Settings.ui.h:26 128 | msgid "Webpage" 129 | msgstr "Site internet" 130 | 131 | #: Settings.ui.h:27 132 | msgid "" 133 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 134 | "See the GNU General Public License, version 2 or later for details." 136 | msgstr "" 137 | "Ce programme est distribué SANS AUCUNE GARANTIE.\n" 138 | "Consultez la Licence Générale Publique GNU version 2 ou plus récente pour plus " 140 | "d'informations." 141 | 142 | #: Settings.ui.h:29 143 | msgid "About" 144 | msgstr "À propos" 145 | -------------------------------------------------------------------------------- /po/hu.po: -------------------------------------------------------------------------------- 1 | # Hungarian translation of no-title-bar 2 | # This file is distributed under the same license as the no-title-bar package. 3 | # Meskó Balázs , 2018. 4 | # 5 | msgid "" 6 | msgstr "" 7 | "Project-Id-Version: no-title-bar master\n" 8 | "Report-Msgid-Bugs-To: http://otrs.fsf.hu/\n" 9 | "POT-Creation-Date: 2018-01-26 09:49+0100\n" 10 | "PO-Revision-Date: 2018-01-26 10:21+0100\n" 11 | "Language: hu\n" 12 | "MIME-Version: 1.0\n" 13 | "Content-Type: text/plain; charset=UTF-8\n" 14 | "Content-Transfer-Encoding: 8bit\n" 15 | "Last-Translator: Meskó Balázs \n" 16 | "Language-Team: hu\n" 17 | "X-Generator: Poedit 2.0.3\n" 18 | 19 | #: Settings.ui.h:1 20 | msgid "Cancel" 21 | msgstr "Mégse" 22 | 23 | #: Settings.ui.h:2 24 | msgid "Save" 25 | msgstr "Mentés" 26 | 27 | #: Settings.ui.h:3 28 | msgid "Clear entry" 29 | msgstr "Bejegyzés törlése" 30 | 31 | #: Settings.ui.h:4 32 | msgid "Window control buttons" 33 | msgstr "Ablakvezérlő gombok" 34 | 35 | #: Settings.ui.h:5 36 | msgid "Before app menu" 37 | msgstr "Alkalmazásmenü előtt" 38 | 39 | #: Settings.ui.h:6 40 | msgid "After app menu" 41 | msgstr "Alkalmazásmenü után" 42 | 43 | #: Settings.ui.h:8 44 | msgid "Before status area" 45 | msgstr "Állapotterület előtt" 46 | 47 | #: Settings.ui.h:7 48 | msgid "Within status area" 49 | msgstr "Állapotterületen belül" 50 | 51 | #: Settings.ui.h:8 52 | msgid "After status area" 53 | msgstr "Állapotterület után" 54 | 55 | #: Settings.ui.h:9 56 | msgid "Hidden" 57 | msgstr "Rejtett" 58 | 59 | #: Settings.ui.h:10 60 | msgid "Autohide buttons" 61 | msgstr "Gombok automatikus elrejtése" 62 | 63 | #: Settings.ui.h:11 64 | msgid "Show buttons for snapped windows" 65 | msgstr "Gombok megjelenítése a képernyő széléhez illesztett ablakoknál" 66 | 67 | #: Settings.ui.h:12 68 | msgid "Replace App Menu name with Window name" 69 | msgstr "Alkalmazásmenü nevének cseréje az ablak nevére" 70 | 71 | #: Settings.ui.h:13 72 | msgid "Replace App Menu name for snapped windows" 73 | msgstr "Az alkalmazásnév cseréje a képernyő széléhez illesztett ablakoknál" 74 | 75 | #: Settings.ui.h:14 76 | msgid "Maximum label width (px)" 77 | msgstr "Címke maximális szélessége (px)" 78 | 79 | #: Settings.ui.h:15 80 | msgid "Set to -1 to disable" 81 | msgstr "A kikapcsoláshoz állítsa -1-re" 82 | 83 | #: Settings.ui.h:16 84 | msgid "Remove title bars only on the main monitor" 85 | msgstr "Címsávok eltávolítása csak az elsődleges kijelzőn" 86 | 87 | #: Settings.ui.h:17 88 | msgid "Basic settings" 89 | msgstr "Alapvető beállítások" 90 | 91 | #: Settings.ui.h:18 92 | msgid "Automatic theme" 93 | msgstr "Automatikus téma" 94 | 95 | #: Settings.ui.h:19 96 | msgid "Theme" 97 | msgstr "Téma" 98 | 99 | #: Settings.ui.h:20 100 | msgid "List type" 101 | msgstr "Lista típusa" 102 | 103 | #: Settings.ui.h:21 104 | msgid "Disabled" 105 | msgstr "Letiltva" 106 | 107 | #: Settings.ui.h:22 108 | msgid "Whitelist" 109 | msgstr "Fehérlista" 110 | 111 | #: Settings.ui.h:23 112 | msgid "Blacklist" 113 | msgstr "Feketelista" 114 | 115 | #: Settings.ui.h:24 116 | msgid "" 117 | "Whitelist: only applications on this list will have the title bar " 118 | "removed.\n" 119 | "Blacklist: all applications, except the ones on the list, will have the " 120 | "title bar removed." 121 | msgstr "" 122 | "Fehérlista: csak a listán szereplő alkalmazások címsora lesz " 123 | "eltávolítva.\n" 124 | "Feketelista: minden alkalmazás címsora el lesz távolítva, kivéve a " 125 | "listán szereplőkét." 126 | 127 | #: Settings.ui.h:26 128 | msgid "Lists" 129 | msgstr "Listák" 130 | 131 | #: Settings.ui.h:27 132 | msgid "Maintained by" 133 | msgstr "Karbantartó" 134 | 135 | #: Settings.ui.h:28 136 | msgid "Webpage" 137 | msgstr "Weboldal" 138 | 139 | #: Settings.ui.h:29 140 | msgid "" 141 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 142 | "See the GNU General Public License, version 2 or later for details." 144 | msgstr "" 145 | "A programhoz SEMMILYEN GARANCIA NEM JÁR.\n" 146 | "A részletekért lásd a GNU General Public License, 2-es vagy úja újabb " 148 | "verzióját." 149 | 150 | #: Settings.ui.h:31 151 | msgid "About" 152 | msgstr "Névjegy" 153 | -------------------------------------------------------------------------------- /po/pl.po: -------------------------------------------------------------------------------- 1 | # SOME DESCRIPTIVE TITLE. 2 | # Copyright (C) YEAR THE PACKAGE'S COPYRIGHT HOLDER 3 | # This file is distributed under the same license as the PACKAGE package. 4 | # Piotr Komur , 2018. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: No title bar\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2017-09-17 09:51+0200\n" 11 | "PO-Revision-Date: 2018-01-10 13:09+0100\n" 12 | "Last-Translator: Piotr Komur \n" 13 | "Language-Team: Piotr Komur\n" 14 | "Language: pl\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | "X-Generator: Poedit 2.0.1\n" 19 | "X-Poedit-SourceCharset: UTF-8\n" 20 | 21 | #: Settings.ui.h:1 22 | msgid "Cancel" 23 | msgstr "Anuluj" 24 | 25 | #: Settings.ui.h:2 26 | msgid "Save" 27 | msgstr "Zapisz" 28 | 29 | #: Settings.ui.h:3 30 | msgid "Clear entry" 31 | msgstr "Usuń" 32 | 33 | #: Settings.ui.h:4 34 | msgid "Window control buttons" 35 | msgstr "Przyciski sterujące okna" 36 | 37 | #: Settings.ui.h:5 38 | msgid "Before app menu" 39 | msgstr "Przed menu programu" 40 | 41 | #: Settings.ui.h:6 42 | msgid "After app menu" 43 | msgstr "Po menu programu" 44 | 45 | #: Settings.ui.h:7 46 | msgid "Within status area" 47 | msgstr "Wewnątrz obszaru statusu" 48 | 49 | #: Settings.ui.h:8 50 | msgid "After status area" 51 | msgstr "Za obszarem statusu" 52 | 53 | #: Settings.ui.h:9 54 | msgid "Hidden" 55 | msgstr "Ukryte" 56 | 57 | #: Settings.ui.h:10 58 | msgid "Autohide buttons" 59 | msgstr "Automatyczne ukrywanie przycisków" 60 | 61 | #: Settings.ui.h:11 62 | msgid "Show buttons for snapped windows" 63 | msgstr "Pokaż przyciski dla przylegających okien" 64 | 65 | #: Settings.ui.h:12 66 | msgid "Replace App Menu name with Window name" 67 | msgstr "Zastąp Menu programu przez nazwę okna" 68 | 69 | #: Settings.ui.h:13 70 | msgid "Replace App Menu name for snapped windows" 71 | msgstr "Zastąp Menu programu dla przylegających okien" 72 | 73 | #: Settings.ui.h:14 74 | msgid "Remove title bars only on the main monitor" 75 | msgstr "Zastosuj rozszerzenie tylko dla głównego monitora" 76 | 77 | #: Settings.ui.h:15 78 | msgid "Basic settings" 79 | msgstr "Ogólne" 80 | 81 | #: Settings.ui.h:16 82 | msgid "Automatic theme" 83 | msgstr "Automatycznie" 84 | 85 | #: Settings.ui.h:17 86 | msgid "Theme" 87 | msgstr "Motyw" 88 | 89 | #: Settings.ui.h:18 90 | msgid "List type" 91 | msgstr "Lista wyjątków" 92 | 93 | #: Settings.ui.h:19 94 | msgid "Disabled" 95 | msgstr "Brak" 96 | 97 | #: Settings.ui.h:20 98 | msgid "Whitelist" 99 | msgstr "Biała lista" 100 | 101 | #: Settings.ui.h:21 102 | msgid "Blacklist" 103 | msgstr "Czarna lista" 104 | 105 | #: Settings.ui.h:22 106 | msgid "" 107 | "Whitelist: only applications on this list will have the title bar " 108 | "removed.\n" 109 | "Blacklist: all applications, except the ones on the list, will have the " 110 | "title bar removed." 111 | msgstr "" 112 | "Biała lista - tylko programy z tej listy będą miały usuniętą belkę " 113 | "tytułową.\n" 114 | "Czarna lista - wszystkie programy, z wyjątkiem wymienionych na tej " 115 | "liście, będą miały usuniętą belkę tytułową." 116 | 117 | #: Settings.ui.h:24 118 | msgid "Lists" 119 | msgstr "Wyjątki" 120 | 121 | #: Settings.ui.h:25 122 | msgid "Maintained by" 123 | msgstr "Autor: " 124 | 125 | #: Settings.ui.h:26 126 | msgid "Webpage" 127 | msgstr "Witryna internetowa" 128 | 129 | #: Settings.ui.h:27 130 | msgid "" 131 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 132 | "See the GNU General Public License, version 2 or later for details." 134 | msgstr "" 135 | 136 | #: Settings.ui.h:29 137 | msgid "About" 138 | msgstr "Informacje" 139 | -------------------------------------------------------------------------------- /po/zh.po: -------------------------------------------------------------------------------- 1 | # No Title Bar. 2 | # Copyright (C) 2017 3 | # This file is distributed under the same license as the No Title Bar package. 4 | # Fran Glais , 2017. 5 | # 6 | msgid "" 7 | msgstr "" 8 | "Project-Id-Version: No Title Bar\n" 9 | "Report-Msgid-Bugs-To: \n" 10 | "POT-Creation-Date: 2020-09-29 11:50+0200\n" 11 | "PO-Revision-Date: 2020-09-29 11:54-0400\n" 12 | "Last-Translator: Kend \n" 13 | "Language-Team: \n" 14 | "Language: zh\n" 15 | "MIME-Version: 1.0\n" 16 | "Content-Type: text/plain; charset=UTF-8\n" 17 | "Content-Transfer-Encoding: 8bit\n" 18 | 19 | #: Settings.ui.h:1 20 | msgid "Cancel" 21 | msgstr "取消" 22 | 23 | #: Settings.ui.h:2 24 | msgid "Save" 25 | msgstr "保存" 26 | 27 | #: Settings.ui.h:3 28 | msgid "Clear entry" 29 | msgstr "清除条目" 30 | 31 | #: Settings.ui.h:4 32 | msgid "Window control buttons" 33 | msgstr "窗口控制按钮" 34 | 35 | #: Settings.ui.h:5 36 | msgid "Before app menu" 37 | msgstr "应用菜单之前" 38 | 39 | #: Settings.ui.h:6 40 | msgid "After app menu" 41 | msgstr "应用菜单之后" 42 | 43 | #: Settings.ui.h:8 44 | msgid "Before status area" 45 | msgstr "状态栏之前" 46 | 47 | #: Settings.ui.h:7 48 | msgid "Within status area" 49 | msgstr "状态栏内部" 50 | 51 | #: Settings.ui.h:8 52 | msgid "After status area" 53 | msgstr "状态栏之后" 54 | 55 | #: Settings.ui.h:9 56 | msgid "Hidden" 57 | msgstr "隐藏" 58 | 59 | #: Settings.ui.h:10 60 | msgid "Autohide buttons" 61 | msgstr "自动隐藏按钮" 62 | 63 | #: Settings.ui.h:11 64 | msgid "Show buttons for all windows" 65 | msgstr "为所有窗口显示按钮" 66 | 67 | #: Settings.ui.h:11 68 | msgid "Show buttons for snapped windows" 69 | msgstr "为捕获的窗口显示按钮" 70 | 71 | #: Settings.ui.h:12 72 | msgid "Replace App Menu name with Window name" 73 | msgstr "使用应用菜单名替换窗口名" 74 | 75 | #: Settings.ui.h:13 76 | msgid "Replace App Menu name for snapped windows" 77 | msgstr "为捕获的窗口使用应用菜单名替换窗口名" 78 | 79 | #: Settings.ui.h:13 80 | msgid "Maximum label width (px)" 81 | msgstr "标签最大宽度 (px)" 82 | 83 | #: Settings.ui.h:13 84 | msgid "Set to -1 to disable" 85 | msgstr "设置 -1 禁用此选项" 86 | 87 | #: Settings.ui.h:14 88 | msgid "Remove title bars only on the main monitor" 89 | msgstr "仅在主显示器上删除标题栏" 90 | 91 | #: Settings.ui.h:15 92 | msgid "Basic settings" 93 | msgstr "基本设置" 94 | 95 | #: Settings.ui.h:16 96 | msgid "Automatic theme" 97 | msgstr "自动主题" 98 | 99 | #: Settings.ui.h:17 100 | msgid "Theme" 101 | msgstr "主题" 102 | 103 | #: Settings.ui.h:18 104 | msgid "List type" 105 | msgstr "列表类型" 106 | 107 | #: Settings.ui.h:19 108 | msgid "Disabled" 109 | msgstr "禁用" 110 | 111 | #: Settings.ui.h:20 112 | msgid "Application" 113 | msgstr "应用" 114 | 115 | #: Settings.ui.h:20 116 | msgid "Add entry to list" 117 | msgstr "添加条目到列表" 118 | 119 | #: Settings.ui.h:20 120 | msgid "Whitelist" 121 | msgstr "白名单" 122 | 123 | #: Settings.ui.h:21 124 | msgid "Blacklist" 125 | msgstr "黑名单" 126 | 127 | #: Settings.ui.h:31 128 | msgid "Enable debug mode" 129 | msgstr "启用调试模式" 130 | 131 | #: Settings.ui.h:22 132 | msgid "" 133 | "Whitelist: only applications on this list will have the title bar removed.\n" 134 | "Blacklist: all applications, except the ones on the list, will have the " 135 | "title bar removed." 136 | msgstr "" 137 | "白名单: 只有这个名单上的应用程序删除标题栏.\n" 138 | "黑名单: 所有不在这个名单上的应用程序删除标题栏." 139 | 140 | #: Settings.ui.h:24 141 | msgid "Lists" 142 | msgstr "列表" 143 | 144 | #: Settings.ui.h:25 145 | msgid "Maintained by" 146 | msgstr "维护者" 147 | 148 | #: Settings.ui.h:26 149 | msgid "Webpage" 150 | msgstr "网页" 151 | 152 | #: Settings.ui.h:27 153 | msgid "" 154 | "This program comes with ABSOLUTELY NO WARRANTY.\n" 155 | "See the GNU General Public License, version 2 or later for details." 157 | msgstr "" 158 | "该程序绝对不提供保证.\n" 159 | "详情查看 GNU General Public License, 版本 2 或后续版本 ." 161 | 162 | #: Settings.ui.h:29 163 | msgid "About" 164 | msgstr "关于" 165 | -------------------------------------------------------------------------------- /prefs.js: -------------------------------------------------------------------------------- 1 | const Gio = imports.gi.Gio; 2 | const GLib = imports.gi.GLib; 3 | const GObject = imports.gi.GObject; 4 | const Gtk = imports.gi.Gtk; 5 | const Lang = imports.lang; 6 | 7 | const Me = imports.misc.extensionUtils.getCurrentExtension(); 8 | 9 | const Convenience = Me.imports.convenience; 10 | 11 | let extensionPath = Me.path; 12 | 13 | const Gettext = imports.gettext.domain('no-title-bar'); 14 | const _ = Gettext.gettext; 15 | 16 | let settings; 17 | 18 | function init() { 19 | settings = Convenience.getSettings(Me); 20 | Convenience.initTranslations('no-title-bar'); 21 | } 22 | 23 | function buildPrefsWidget(){ 24 | 25 | // Prepare labels and controls 26 | let buildable = new Gtk.Builder(); 27 | buildable.add_from_file( Me.dir.get_path() + '/Settings.ui' ); 28 | let box = buildable.get_object('prefs_widget'); 29 | 30 | // Debug mode: 31 | settings.bind('debug-mode', 32 | buildable.get_object('debug_mode_switch'), 33 | 'active', 34 | Gio.SettingsBindFlags.DEFAULT 35 | ); 36 | 37 | // Monitors: 38 | settings.bind('only-main-monitor', 39 | buildable.get_object('only_main_monitor_switch'), 40 | 'active', 41 | Gio.SettingsBindFlags.DEFAULT 42 | ); 43 | 44 | // Autohide button 45 | settings.bind('hide-buttons', 46 | buildable.get_object('hide_buttons_switch'), 47 | 'active', 48 | Gio.SettingsBindFlags.DEFAULT 49 | ); 50 | 51 | settings.bind('buttons-for-all-win', 52 | buildable.get_object('buttons_for_all_win_switch'), 53 | 'active', 54 | Gio.SettingsBindFlags.DEFAULT 55 | ); 56 | 57 | settings.bind('buttons-for-snapped', 58 | buildable.get_object('snapped_buttons_switch'), 59 | 'active', 60 | Gio.SettingsBindFlags.DEFAULT 61 | ); 62 | 63 | // Buttons: 64 | buildable.get_object('button_position').set_active(settings.get_enum('button-position')); 65 | buildable.get_object('button_position').connect('changed', Lang.bind (this, function(widget) { 66 | settings.set_enum('button-position', widget.get_active()); 67 | })); 68 | 69 | // App menu: 70 | settings.bind('change-appmenu', 71 | buildable.get_object('appmenu_switch'), 72 | 'active', 73 | Gio.SettingsBindFlags.DEFAULT 74 | ); 75 | settings.bind('title-for-snapped', 76 | buildable.get_object('snapped_appmenu_switch'), 77 | 'active', 78 | Gio.SettingsBindFlags.DEFAULT 79 | ); 80 | settings.bind('app-menu-width', 81 | buildable.get_object('label_width_spinbutton'), 82 | 'value', 83 | Gio.SettingsBindFlags.DEFAULT); 84 | 85 | settings.bind('change-appmenu', 86 | buildable.get_object('snapped_appmenu_switch'), 87 | 'sensitive', 88 | Gio.SettingsBindFlags.DEFAULT); 89 | settings.bind('change-appmenu', 90 | buildable.get_object('label_width_spinbutton'), 91 | 'sensitive', 92 | Gio.SettingsBindFlags.DEFAULT); 93 | 94 | /* 95 | * Theme tab: 96 | * */ 97 | settings.bind('automatic-theme', 98 | buildable.get_object('automatic_theme_switch'), 99 | 'active', 100 | Gio.SettingsBindFlags.DEFAULT 101 | ); 102 | settings.bind('automatic-theme', 103 | buildable.get_object('theme_combobox'), 104 | 'sensitive', 105 | Gio.SettingsBindFlags.INVERT_BOOLEAN); 106 | 107 | let themes_dir = Gio.file_new_for_path( 108 | GLib.build_filenamev([extensionPath, 'themes']) 109 | ); 110 | let fileEnum = themes_dir.enumerate_children( 111 | 'standard::*', 112 | Gio.FileQueryInfoFlags.NONE, null 113 | ); 114 | 115 | let info; 116 | while ((info = fileEnum.next_file(null)) !== null) { 117 | let theme = info.get_name(); 118 | if (GLib.file_test(GLib.build_filenamev([themes_dir.get_path(), 119 | theme, 'style.css']), GLib.FileTest.EXISTS)) { 120 | buildable.get_object('theme_combobox').append(theme, theme); 121 | } 122 | } 123 | fileEnum.close(null); 124 | 125 | buildable.get_object('theme_combobox').connect( 126 | 'changed', 127 | Lang.bind(this, function (combo) { 128 | let value = combo.get_active_id(); 129 | if (value !== undefined && 130 | settings.get_string('theme') !== value) { 131 | settings.set_string('theme', value); 132 | } 133 | })); 134 | buildable.get_object('theme_combobox').set_active_id(settings.get_string('theme') || 'default'); 135 | 136 | /* 137 | * Ignore list tab: 138 | * */ 139 | // Set up the List of packages 140 | buildable.get_object('ignore_list_type').set_active(settings.get_enum('ignore-list-type')); 141 | buildable.get_object('ignore_list_type').connect('changed', Lang.bind (this, function(widget) { 142 | settings.set_enum('ignore-list-type', widget.get_active()); 143 | })); 144 | 145 | let column = new Gtk.TreeViewColumn(); 146 | column.set_title(_('Application')); 147 | buildable.get_object('ignore_list_treeview').append_column(column); 148 | 149 | let renderer = new Gtk.CellRendererText(); 150 | column.pack_start(renderer, null); 151 | 152 | column.set_cell_data_func(renderer, function() { 153 | arguments[1].markup = arguments[2].get_value(arguments[3], 0); 154 | }); 155 | 156 | let listStore = buildable.get_object('ignore_list_store'); 157 | let treeview = buildable.get_object('ignore_list_treeview'); 158 | refreshUI(listStore, treeview, settings); 159 | settings.connect( 160 | 'changed::ignore-list', 161 | function() {refreshUI(listStore, treeview, settings);} 162 | ); 163 | 164 | buildable.get_object('treeview_selection').connect( 165 | 'changed', 166 | function(selection) {selectionChanged(selection, listStore);} 167 | ); 168 | 169 | // Toolbar 170 | let needsList = true; 171 | buildable.get_object('ignore_list_toolbutton_add').connect( 172 | 'clicked', 173 | function() { 174 | let dialog = new Gtk.AppChooserDialog({ title: _('Add entry to list'), 175 | transient_for: box.get_root(), 176 | use_header_bar: true, 177 | modal: true }); 178 | dialog.get_widget().set({ 179 | show_all: true, 180 | show_other: true, // hide more button 181 | }); 182 | 183 | dialog.connect('response', (dlg, id) => { 184 | const appInfo = id === Gtk.ResponseType.OK 185 | ? dialog.get_widget().get_app_info() : null; 186 | if (appInfo) { 187 | let entries = settings.get_string('ignore-list'); 188 | var name = appInfo.get_name(); 189 | 190 | if (entries.length > 0) 191 | entries = entries + '; ' + name; 192 | else 193 | entries = name; 194 | 195 | // Split, order alphabetically, remove duplicates and join 196 | entries = splitEntries(entries) 197 | .sort() 198 | .filter((item, pos, ary) => !pos || item !== ary[pos - 1]) 199 | .join('; '); 200 | 201 | settings.set_string('ignore-list', entries); 202 | } 203 | dialog.destroy(); 204 | }); 205 | 206 | dialog.show(); 207 | } 208 | ); 209 | 210 | buildable.get_object('ignore_list_toolbutton_remove').connect('clicked', () => removeEntry(settings)); 211 | 212 | return box; 213 | } 214 | 215 | let selected_entry = 0; 216 | 217 | function selectionChanged(select, listStore) { 218 | let a = select.get_selected_rows(listStore)[0][0]; 219 | 220 | if (a !== undefined) 221 | selected_entry = parseInt(a.to_string()); 222 | } 223 | 224 | function removeEntry(settings) { 225 | let entries = settings.get_string('ignore-list'); 226 | entries = splitEntries(entries); 227 | 228 | if (!entries.length || selected_entry < 0) 229 | return 0; 230 | 231 | if (entries.length > 0) 232 | entries.splice(selected_entry, 1); 233 | 234 | if (entries.length > 1) 235 | entries = entries.join('; '); 236 | else if (entries[0]) 237 | entries = entries[0]; 238 | else 239 | entries = ''; 240 | 241 | settings.set_string('ignore-list', entries); 242 | 243 | return 0; 244 | } 245 | 246 | function splitEntries(entries) { 247 | if (!entries) 248 | entries = ''; 249 | 250 | entries = entries.split('; '); 251 | 252 | if (entries.length === 0) 253 | entries = []; 254 | 255 | if (entries.length > 0 && typeof entries != 'object') 256 | entries = [entries]; 257 | 258 | return entries; 259 | } 260 | 261 | let list = null; 262 | function refreshUI(listStore, treeview, settings) { 263 | let restoreForced = selected_entry; 264 | let entries = settings.get_string('ignore-list'); 265 | if (list != entries) { 266 | if (listStore !== undefined) 267 | listStore.clear(); 268 | 269 | if (entries.length > 0) { 270 | entries = String(entries).split('; '); 271 | 272 | if (entries && typeof entries == 'string') 273 | entries = [entries]; 274 | 275 | let current = listStore.get_iter_first(); 276 | 277 | for (let i in entries) { 278 | current = listStore.append(); 279 | listStore.set_value(current, 0, entries[i]); 280 | } 281 | } 282 | 283 | list = entries; 284 | } 285 | 286 | selected_entry = restoreForced; 287 | changeSelection(treeview, entries); 288 | } 289 | 290 | function changeSelection(treeview, entries) { 291 | if (selected_entry < 0 || !entries.length) 292 | return; 293 | 294 | let max = entries.length - 1; 295 | if (selected_entry > max) 296 | selected_entry = max; 297 | 298 | let path = selected_entry; 299 | path = Gtk.TreePath.new_from_string(String(path)); 300 | treeview.get_selection().select_path(path); 301 | } 302 | 303 | function getAppList() { 304 | let apps = Gio.AppInfo.get_all().filter(function(appInfo) { 305 | try { 306 | let id = appInfo.get_name(); // catch invalid file encodings 307 | } catch(e) { 308 | return false; 309 | } 310 | return appInfo.should_show(); 311 | }); 312 | 313 | return apps; 314 | } 315 | -------------------------------------------------------------------------------- /schemas/gschemas.compiled: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/schemas/gschemas.compiled -------------------------------------------------------------------------------- /schemas/org.gnome.shell.extensions.no-title-bar.gschema.xml: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | 10 | 11 | 12 | 13 | 14 | 15 | 16 | 17 | 18 | 20 | 21 | 22 | false 23 | Enable the debug mode for verbose logging and troubleshooting 24 | If active, the extension will verbosely log information on windows and states to the journal. Only activate when you are trying to troubleshoot problems. 25 | 26 | 27 | 28 | true 29 | Only remove the top bar of windows in the main monitor. 30 | If windows are on an external monitor, this setting will ensure the top bar stays visible. 31 | 32 | 33 | 34 | 'within-status-area' 35 | Button position in the top panel 36 | Controls whether and where buttons of maximized windows appear in the top panel. Possible values are: "before-app-menu" to display buttons before the application name, "after-app-menu" to display buttons after the application name, "within-status-area" to display buttons within the system status area, "after-status-area" to display buttons after the system status area and "hidden" to not show buttons at all. 37 | 38 | 39 | 40 | "default" 41 | Theme 42 | The name of the theme to use (must be one of the folders in [extensionPath]/themes). 43 | 44 | 45 | 46 | true 47 | Detect and use Gtk theme. 48 | Try to automatically detect the Gtk theme in use. If tis fails, the default one is used instead. 49 | 50 | 51 | 52 | true 53 | Use window title to replace the app-menu label. 54 | The app-menu uses the app-name as the label for the button. Use instead the window title of the focused window. 55 | 56 | 57 | 58 | -1 59 | Maximum title length 60 | Maximum length allowed for the title of the app-menu, in pixels. 61 | 62 | 63 | 64 | true 65 | Customize app-menu for vertically maximized windows. 66 | Customize app-menu in the top bar when windows are snapped to the sides, or maximized vertically. 67 | 68 | 69 | 70 | true 71 | Show buttons for all windows. 72 | Show buttons in the top bar even if windows are not maximized, or still have a title bar. 73 | 74 | 75 | 76 | true 77 | Show buttons for vertically maximized windows. 78 | Show buttons in the top bar when windows are snapped to the sides, or maximized vertically. 79 | 80 | 81 | 82 | true 83 | Autohide buttons. 84 | Works when buttons are set after app menu. 85 | 86 | 87 | 88 | 'disabled' 89 | Choose from disabled, whitelist or blacklist. 90 | Disabled: no filtering applied. Whitelist: remove title bar for applications on this list. Blacklist: remove title bar from all applications except the ones on this list. 91 | 92 | 93 | 94 | "" 95 | List of applications in the white/black-list. 96 | 97 | 98 | 99 | 100 | 101 | -------------------------------------------------------------------------------- /stylesheet-tiled.css: -------------------------------------------------------------------------------- 1 | .tiled-right .titlebar.default-decoration { 2 | margin: -200px; 3 | opacity: 0; 4 | } 5 | .tiled-left .titlebar.default-decoration { 6 | margin: -200px; 7 | opacity: 0; 8 | } 9 | -------------------------------------------------------------------------------- /stylesheet.css: -------------------------------------------------------------------------------- 1 | .maximized .titlebar.default-decoration { 2 | margin: -200px; 3 | opacity: 0; 4 | } 5 | -------------------------------------------------------------------------------- /themes/Ambiance/ABOUT: -------------------------------------------------------------------------------- 1 | Ambiance elements are from Ubuntu themes. 2 | 3 | Copyright: 2004-2012, Canonical Ltd. 4 | License: CC-BY-SA-3.0 5 | Upstream: https://launchpad.net/ubuntu-themes 6 | 7 | -------------------------------------------------------------------------------- /themes/Ambiance/close_focused_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/close_focused_normal.png -------------------------------------------------------------------------------- /themes/Ambiance/close_focused_prelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/close_focused_prelight.png -------------------------------------------------------------------------------- /themes/Ambiance/close_focused_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/close_focused_pressed.png -------------------------------------------------------------------------------- /themes/Ambiance/maximize_focused_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/maximize_focused_normal.png -------------------------------------------------------------------------------- /themes/Ambiance/maximize_focused_prelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/maximize_focused_prelight.png -------------------------------------------------------------------------------- /themes/Ambiance/maximize_focused_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/maximize_focused_pressed.png -------------------------------------------------------------------------------- /themes/Ambiance/minimize_focused_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/minimize_focused_normal.png -------------------------------------------------------------------------------- /themes/Ambiance/minimize_focused_prelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/minimize_focused_prelight.png -------------------------------------------------------------------------------- /themes/Ambiance/minimize_focused_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/minimize_focused_pressed.png -------------------------------------------------------------------------------- /themes/Ambiance/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Ambiance/screenshot.png -------------------------------------------------------------------------------- /themes/Ambiance/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 2px; 5 | } 6 | 7 | .box-bin .window-button { 8 | width: 27px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("minimize_focused_normal.png"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("minimize_focused_prelight.png"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("minimize_focused_pressed.png"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("maximize_focused_normal.png"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("maximize_focused_prelight.png"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("maximize_focused_pressed.png"); 34 | } 35 | 36 | .close { 37 | background-image: url("close_focused_normal.png"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("close_focused_prelight.png"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("close_focused_pressed.png"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Arc theme by Horst3180. 2 | 3 | Upstream: http://github.com/horst3180/arc-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | 7 | -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/screenshot.png -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc-Dark-solid/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark-solid/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Arc-Dark/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Arc theme by Horst3180. 2 | 3 | Upstream: http://github.com/horst3180/arc-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | 7 | -------------------------------------------------------------------------------- /themes/Arc-Dark/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/screenshot.png -------------------------------------------------------------------------------- /themes/Arc-Dark/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/Arc-Dark/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc-Dark/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc-Dark/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc-Dark/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc-Dark/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc-Dark/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Dark/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Arc theme by Horst3180. 2 | 3 | Upstream: http://github.com/horst3180/arc-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | 7 | -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/save/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/save/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/save/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/save/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/save/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/save/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/save/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/save/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/save/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/save/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/save/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/save/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/screenshot.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | 58 | -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker-solid/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker-solid/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Arc-Darker/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Arc theme by Horst3180. 2 | 3 | Upstream: http://github.com/horst3180/arc-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | 7 | -------------------------------------------------------------------------------- /themes/Arc-Darker/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/screenshot.png -------------------------------------------------------------------------------- /themes/Arc-Darker/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/Arc-Darker/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc-Darker/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc-Darker/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc-Darker/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-Darker/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Arc-solid/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Arc theme by Horst3180. 2 | 3 | Upstream: http://github.com/horst3180/arc-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | 7 | -------------------------------------------------------------------------------- /themes/Arc-solid/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/screenshot.png -------------------------------------------------------------------------------- /themes/Arc-solid/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/Arc-solid/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc-solid/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc-solid/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc-solid/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc-solid/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc-solid/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc-solid/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Arc/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Arc theme by Horst3180. 2 | 3 | Upstream: http://github.com/horst3180/arc-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | 7 | -------------------------------------------------------------------------------- /themes/Arc/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/screenshot.png -------------------------------------------------------------------------------- /themes/Arc/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/Arc/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Arc/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/titlebutton-close.png -------------------------------------------------------------------------------- /themes/Arc/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/Arc/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/titlebutton-max.png -------------------------------------------------------------------------------- /themes/Arc/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/Arc/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Arc/titlebutton-min.png -------------------------------------------------------------------------------- /themes/Canta/close_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 39 | Gnome Symbolic Icon Theme 41 | 43 | 44 | 46 | image/svg+xml 47 | 49 | Gnome Symbolic Icon Theme 50 | 51 | 52 | 53 | 55 | 59 | 62 | 65 | 68 | 71 | 74 | 77 | 81 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /themes/Canta/max_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | Gnome Symbolic Icon Theme 27 | 28 | 29 | 30 | 62 | 71 | 72 | Gnome Symbolic Icon Theme 74 | 76 | 82 | 88 | 89 | 94 | 99 | 104 | 109 | 114 | 120 | 126 | 127 | -------------------------------------------------------------------------------- /themes/Canta/min_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | Gnome Symbolic Icon Theme 27 | 28 | 29 | 30 | 62 | 71 | 72 | Gnome Symbolic Icon Theme 74 | 76 | 82 | 89 | 90 | 95 | 100 | 105 | 110 | 115 | 121 | 127 | 128 | -------------------------------------------------------------------------------- /themes/Canta/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 6px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .window-button { 17 | width: 13px; 18 | height: 13px; 19 | background-size: 12px; 20 | } 21 | 22 | /* The style for the window button when hovered over */ 23 | .window-button:hover { 24 | } 25 | 26 | /* Here you can style each individual button. You need to define style classes 27 | * ".minimize", ".maximize" and ".close". 28 | * You can additionally define styles for the :hover and :active pseudo classes 29 | * if you wish. 30 | * See the 'Radiance' style.css for an example of this. 31 | */ 32 | /* Style for the minimize button */ 33 | .minimize { 34 | min-width: 12px; 35 | min-height: 12px; 36 | padding: 0; 37 | margin: 0 2px; 38 | color: transparent; 39 | border-radius: 9px; 40 | background-color: rgba(0, 0, 0, 0.26); 41 | } 42 | 43 | .minimize:hover { 44 | background-color: rgba(0, 0, 0, 0.36); 45 | background-image: url("min_hover.svg"); 46 | } 47 | 48 | /* Style for the maximize button */ 49 | .maximize { 50 | min-width: 12px; 51 | min-height: 12px; 52 | padding: 0; 53 | margin: 0 2px; 54 | color: transparent; 55 | border-radius: 9px; 56 | background-color: rgba(0, 0, 0, 0.26); 57 | } 58 | 59 | .maximize:hover { 60 | background-color: rgba(0, 0, 0, 0.36); 61 | background-image: url("max_hover.svg"); 62 | } 63 | 64 | /* Style for the close button */ 65 | 66 | .close { 67 | min-width: 12px; 68 | min-height: 12px; 69 | padding: 0; 70 | margin: 0 2px; 71 | color: transparent; 72 | border-radius: 9px; 73 | background-color: #FFAC00; 74 | } 75 | 76 | 77 | .close:hover { 78 | background-color: #f0a200; 79 | background-image: url("close_hover.svg"); 80 | } 81 | -------------------------------------------------------------------------------- /themes/Communitheme/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Suru theme by Sam Hewitt. 2 | 3 | Upstream: https://github.com/snwh/suru-icon-theme 4 | Copyright: 2018, snwh (https://github.com/snwh) 5 | License: Creative Commons 6 | -------------------------------------------------------------------------------- /themes/Communitheme/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 6px; 5 | } 6 | 7 | .box-bin .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("window-minimize-symbolic.svg"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("window-minimize-symbolic.svg"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("window-minimize-symbolic.svg"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("window-restore-symbolic.svg"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("window-restore-symbolic.svg"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("window-restore-symbolic.svg"); 34 | } 35 | 36 | .close { 37 | background-image: url("window-close-symbolic.svg"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("window-close-symbolic.svg"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("window-close-symbolic.svg"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Communitheme/window-close-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 60 | 61 | -------------------------------------------------------------------------------- /themes/Communitheme/window-maximize-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 59 | 60 | -------------------------------------------------------------------------------- /themes/Communitheme/window-minimize-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 59 | 60 | -------------------------------------------------------------------------------- /themes/Communitheme/window-restore-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 57 | 62 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /themes/Materia/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are adapted from Materia theme by nana-4 (formerly Flat-Plat). 2 | 3 | Upstream: https://github.com/nana-4/materia-theme 4 | Copyright: 2017, nana-4 (https://github.com/nana-4) 5 | License: GPL-2.0 6 | -------------------------------------------------------------------------------- /themes/Materia/button.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/Materia/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/Materia/close_active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/close_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/maximize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/Materia/maximize_active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/maximize_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/minimize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/Materia/minimize_active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/minimize_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 6px; 5 | } 6 | 7 | .box-bin .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("minimize.svg"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("minimize_hover.svg"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("minimize_active.svg"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("unmaximize.svg"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("unmaximize_hover.svg"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("unmaximize_active.svg"); 34 | } 35 | 36 | .close { 37 | background-image: url("close.svg"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("close_hover.svg"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("close_active.svg"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Materia/unmaximize.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | -------------------------------------------------------------------------------- /themes/Materia/unmaximize_active.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/Materia/unmaximize_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/ABOUT: -------------------------------------------------------------------------------- 1 | Based on the Arc theme by Horst3180 https://github.com/horst3180/Arc-theme 2 | -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 6px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .window-button { 17 | width: 24px; 18 | height: 27px; 19 | background-size: 14px; 20 | } 21 | 22 | /* The style for the window button when hovered over */ 23 | .window-button:hover { 24 | } 25 | 26 | /* Here you can style each individual button. You need to define style classes 27 | * ".minimize", ".maximize" and ".close". 28 | * You can additionally define styles for the :hover and :active pseudo classes 29 | * if you wish. 30 | * See the 'Radiance' style.css for an example of this. 31 | */ 32 | /* Style for the minimize button */ 33 | .minimize { 34 | background-image: url('titlebutton-minimize@2.png'); 35 | } 36 | 37 | .minimize:hover { 38 | background-image: url('titlebutton-minimize-hover@2.png'); 39 | } 40 | 41 | /* Style for the maximize button */ 42 | .maximize { 43 | background-image: url('titlebutton-maximize@2.png'); 44 | } 45 | 46 | .maximize:hover { 47 | background-image: url('titlebutton-maximize-hover@2.png'); 48 | } 49 | 50 | /* Style for the close button */ 51 | .close { 52 | background-image: url('titlebutton-close@2.png'); 53 | } 54 | 55 | .close:hover { 56 | background-image: url('titlebutton-close-hover@2.png'); 57 | } 58 | -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/titlebutton-close-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Darker/titlebutton-close-hover@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/titlebutton-close@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Darker/titlebutton-close@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/titlebutton-maximize-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Darker/titlebutton-maximize-hover@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/titlebutton-maximize@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Darker/titlebutton-maximize@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/titlebutton-minimize-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Darker/titlebutton-minimize-hover@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Darker/titlebutton-minimize@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Darker/titlebutton-minimize@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/ABOUT: -------------------------------------------------------------------------------- 1 | Based on the Arc theme by Horst3180 https://github.com/horst3180/Arc-theme 2 | -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 6px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .window-button { 17 | width: 24px; 18 | height: 27px; 19 | background-size: 14px; 20 | } 21 | 22 | /* The style for the window button when hovered over */ 23 | .window-button:hover { 24 | } 25 | 26 | /* Here you can style each individual button. You need to define style classes 27 | * ".minimize", ".maximize" and ".close". 28 | * You can additionally define styles for the :hover and :active pseudo classes 29 | * if you wish. 30 | * See the 'Radiance' style.css for an example of this. 31 | */ 32 | /* Style for the minimize button */ 33 | .minimize { 34 | background-image: url('titlebutton-minimize@2.png'); 35 | } 36 | 37 | .minimize:hover { 38 | background-image: url('titlebutton-minimize-hover@2.png'); 39 | } 40 | 41 | /* Style for the maximize button */ 42 | .maximize { 43 | background-image: url('titlebutton-maximize@2.png'); 44 | } 45 | 46 | .maximize:hover { 47 | background-image: url('titlebutton-maximize-hover@2.png'); 48 | } 49 | 50 | /* Style for the close button */ 51 | .close { 52 | background-image: url('titlebutton-close@2.png'); 53 | } 54 | 55 | .close:hover { 56 | background-image: url('titlebutton-close-hover@2.png'); 57 | } 58 | -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/titlebutton-close-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Shadow/titlebutton-close-hover@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/titlebutton-close@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Shadow/titlebutton-close@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/titlebutton-maximize-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Shadow/titlebutton-maximize-hover@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/titlebutton-maximize@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Shadow/titlebutton-maximize@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/titlebutton-minimize-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Shadow/titlebutton-minimize-hover@2.png -------------------------------------------------------------------------------- /themes/OSX-Arc-Shadow/titlebutton-minimize@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/OSX-Arc-Shadow/titlebutton-minimize@2.png -------------------------------------------------------------------------------- /themes/Radiance/ABOUT: -------------------------------------------------------------------------------- 1 | Radiance elements are from Ubuntu themes. 2 | 3 | Copyright: 2004-2012, Canonical Ltd. 4 | License: CC-BY-SA-3.0 5 | Upstream: https://launchpad.net/ubuntu-themes 6 | 7 | -------------------------------------------------------------------------------- /themes/Radiance/close_focused_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/close_focused_normal.png -------------------------------------------------------------------------------- /themes/Radiance/close_focused_prelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/close_focused_prelight.png -------------------------------------------------------------------------------- /themes/Radiance/close_focused_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/close_focused_pressed.png -------------------------------------------------------------------------------- /themes/Radiance/maximize_focused_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/maximize_focused_normal.png -------------------------------------------------------------------------------- /themes/Radiance/maximize_focused_prelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/maximize_focused_prelight.png -------------------------------------------------------------------------------- /themes/Radiance/maximize_focused_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/maximize_focused_pressed.png -------------------------------------------------------------------------------- /themes/Radiance/minimize_focused_normal.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/minimize_focused_normal.png -------------------------------------------------------------------------------- /themes/Radiance/minimize_focused_prelight.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/minimize_focused_prelight.png -------------------------------------------------------------------------------- /themes/Radiance/minimize_focused_pressed.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/minimize_focused_pressed.png -------------------------------------------------------------------------------- /themes/Radiance/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Radiance/screenshot.png -------------------------------------------------------------------------------- /themes/Radiance/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 2px; 5 | } 6 | 7 | .box-bin .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("minimize_focused_normal.png"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("minimize_focused_prelight.png"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("minimize_focused_pressed.png"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("maximize_focused_normal.png"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("maximize_focused_prelight.png"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("maximize_focused_pressed.png"); 34 | } 35 | 36 | .close { 37 | background-image: url("close_focused_normal.png"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("close_focused_prelight.png"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("close_focused_pressed.png"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Suru/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Suru theme by Sam Hewitt. 2 | 3 | Upstream: https://github.com/snwh/suru-icon-theme 4 | Copyright: 2018, snwh (https://github.com/snwh) 5 | License: Creative Commons 6 | -------------------------------------------------------------------------------- /themes/Suru/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 6px; 5 | } 6 | 7 | .box-bin .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("window-minimize-symbolic.svg"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("window-minimize-symbolic.svg"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("window-minimize-symbolic.svg"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("window-restore-symbolic.svg"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("window-restore-symbolic.svg"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("window-restore-symbolic.svg"); 34 | } 35 | 36 | .close { 37 | background-image: url("window-close-symbolic.svg"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("window-close-symbolic.svg"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("window-close-symbolic.svg"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Suru/window-close-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 60 | 61 | -------------------------------------------------------------------------------- /themes/Suru/window-maximize-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 59 | 60 | -------------------------------------------------------------------------------- /themes/Suru/window-minimize-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 59 | 60 | -------------------------------------------------------------------------------- /themes/Suru/window-restore-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 57 | 62 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /themes/Vertex-Dark/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Vertex theme by Horst3180. 2 | 3 | Upstream: https://github.com/horst3180/vertex-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | -------------------------------------------------------------------------------- /themes/Vertex-Dark/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 2px; 5 | } 6 | 7 | .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("titlebutton-dark.png"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("titlebutton-minimize-hover-dark.png"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("titlebutton-minimize-active-dark.png"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("titlebutton-dark.png"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("titlebutton-maximize-hover-dark.png"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("titlebutton-maximize-active-dark.png"); 34 | } 35 | 36 | .close { 37 | background-image: url("titlebutton-dark.png"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("titlebutton-close-hover-dark.png"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("titlebutton-close-active-dark.png"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-close-active-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-close-active-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-close-hover-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-close-hover-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-maximize-active-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-maximize-active-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-maximize-hover-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-maximize-hover-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-minimize-active-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-minimize-active-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-minimize-hover-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-minimize-hover-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Dark/titlebutton-unfocused-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Dark/titlebutton-unfocused-dark.png -------------------------------------------------------------------------------- /themes/Vertex-Light/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Vertex theme by Horst3180. 2 | 3 | Upstream: https://github.com/horst3180/vertex-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | -------------------------------------------------------------------------------- /themes/Vertex-Light/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 2px; 5 | } 6 | 7 | .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("titlebutton.png"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("titlebutton-minimize-hover.png"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("titlebutton-minimize-active.png"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("titlebutton.png"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("titlebutton-maximize-hover.png"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("titlebutton-maximize-active.png"); 34 | } 35 | 36 | .close { 37 | background-image: url("titlebutton.png"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("titlebutton-close-hover.png"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("titlebutton-close-active.png"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-close-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-close-active.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-maximize-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-maximize-active.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-maximize-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-maximize-hover.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-minimize-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-minimize-active.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-minimize-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-minimize-hover.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton-unfocused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton-unfocused.png -------------------------------------------------------------------------------- /themes/Vertex-Light/titlebutton.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex-Light/titlebutton.png -------------------------------------------------------------------------------- /themes/Vertex/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Vertex theme by Horst3180. 2 | 3 | Upstream: https://github.com/horst3180/vertex-theme 4 | Copyright: 2016, horst3180 (https://github.com/horst3180) 5 | License: GPL-3+ 6 | -------------------------------------------------------------------------------- /themes/Vertex/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 2px; 5 | } 6 | 7 | .window-button { 8 | width: 24px; 9 | height: 27px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("titlebutton-dark.png"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("titlebutton-minimize-hover-dark.png"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("titlebutton-minimize-active-dark.png"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("titlebutton-dark.png"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("titlebutton-maximize-hover-dark.png"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("titlebutton-maximize-active-dark.png"); 34 | } 35 | 36 | .close { 37 | background-image: url("titlebutton-dark.png"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("titlebutton-close-hover-dark.png"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("titlebutton-close-active-dark.png"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-close-active-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-close-active-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-close-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-close-active.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-close-hover-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-close-hover-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-maximize-active-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-maximize-active-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-maximize-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-maximize-active.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-maximize-hover-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-maximize-hover-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-maximize-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-maximize-hover.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-minimize-active-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-minimize-active-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-minimize-active.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-minimize-active.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-minimize-hover-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-minimize-hover-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-minimize-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-minimize-hover.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-unfocused-dark.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-unfocused-dark.png -------------------------------------------------------------------------------- /themes/Vertex/titlebutton-unfocused.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vertex/titlebutton-unfocused.png -------------------------------------------------------------------------------- /themes/Vimix/ABOUT: -------------------------------------------------------------------------------- 1 | Based on 'Vimix' theme by vinceliuice 2 | https://github.com/vinceliuice/vimix-gtk-themes 3 | License: GPL-3.0 4 | -------------------------------------------------------------------------------- /themes/Vimix/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | /*spacing: 6px;*/ 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .window-button { 17 | width: 24px; 18 | height: 27px; 19 | background-size: 16px; 20 | } 21 | 22 | /* The style for the window button when hovered over */ 23 | .window-button:hover { 24 | background-size: 20px; 25 | } 26 | 27 | /* Here you can style each individual button. You need to define style classes 28 | * ".minimize", ".maximize" and ".close". 29 | * You can additionally define styles for the :hover and :active pseudo classes 30 | * if you wish. 31 | * See the 'Radiance' style.css for an example of this. 32 | */ 33 | /* Style for the minimize button */ 34 | .minimize { 35 | background-image: url('titlebutton-minimize@2.png'); 36 | } 37 | 38 | .minimize:hover { 39 | background-image: url('titlebutton-minimize-hover@2.png'); 40 | } 41 | 42 | /* Style for the maximize button */ 43 | .maximize { 44 | background-image: url('titlebutton-maximize@2.png'); 45 | } 46 | 47 | .maximize:hover { 48 | background-image: url('titlebutton-maximize-hover@2.png'); 49 | } 50 | 51 | /* Style for the close button */ 52 | .close { 53 | background-image: url('titlebutton-close@2.png'); 54 | } 55 | 56 | .close:hover { 57 | background-image: url('titlebutton-close-hover@2.png'); 58 | } 59 | -------------------------------------------------------------------------------- /themes/Vimix/titlebutton-close-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vimix/titlebutton-close-hover@2.png -------------------------------------------------------------------------------- /themes/Vimix/titlebutton-close@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vimix/titlebutton-close@2.png -------------------------------------------------------------------------------- /themes/Vimix/titlebutton-maximize-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vimix/titlebutton-maximize-hover@2.png -------------------------------------------------------------------------------- /themes/Vimix/titlebutton-maximize@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vimix/titlebutton-maximize@2.png -------------------------------------------------------------------------------- /themes/Vimix/titlebutton-minimize-hover@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vimix/titlebutton-minimize-hover@2.png -------------------------------------------------------------------------------- /themes/Vimix/titlebutton-minimize@2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Vimix/titlebutton-minimize@2.png -------------------------------------------------------------------------------- /themes/Yaru/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from the Suru theme by Sam Hewitt. 2 | 3 | Upstream: https://github.com/snwh/suru-icon-theme 4 | Copyright: 2018, snwh (https://github.com/snwh) 5 | License: Creative Commons 6 | -------------------------------------------------------------------------------- /themes/Yaru/style.css: -------------------------------------------------------------------------------- 1 | .box-bin { } 2 | 3 | .button-box { 4 | spacing: 6px; 5 | } 6 | 7 | .box-bin .window-button { 8 | width: 24px; 9 | height: 24px; 10 | } 11 | 12 | .minimize { 13 | background-image: url("window-minimize-symbolic.svg"); 14 | } 15 | 16 | .minimize:hover { 17 | background-image: url("window-minimize-symbolic.svg"); 18 | } 19 | 20 | .minimize:active { 21 | background-image: url("window-minimize-symbolic.svg"); 22 | } 23 | 24 | .maximize { 25 | background-image: url("window-restore-symbolic.svg"); 26 | } 27 | 28 | .maximize:hover { 29 | background-image: url("window-restore-symbolic.svg"); 30 | } 31 | 32 | .maximize:active { 33 | background-image: url("window-restore-symbolic.svg"); 34 | } 35 | 36 | .close { 37 | background-image: url("window-close-symbolic.svg"); 38 | } 39 | 40 | .close:hover { 41 | background-image: url("window-close-symbolic.svg"); 42 | } 43 | 44 | .close:active { 45 | background-image: url("window-close-symbolic.svg"); 46 | } 47 | -------------------------------------------------------------------------------- /themes/Yaru/window-close-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 60 | 61 | -------------------------------------------------------------------------------- /themes/Yaru/window-maximize-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 59 | 60 | -------------------------------------------------------------------------------- /themes/Yaru/window-minimize-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 59 | 60 | -------------------------------------------------------------------------------- /themes/Yaru/window-restore-symbolic.svg: -------------------------------------------------------------------------------- 1 | 2 | 16 | 18 | 19 | 21 | image/svg+xml 22 | 24 | 25 | 26 | 27 | 29 | 49 | 57 | 62 | 68 | 69 | 70 | -------------------------------------------------------------------------------- /themes/Zukitwo-Dark/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from zuki-themes 2 | 3 | Upstream: https://github.com/lassekongo83/zuki-themes 4 | License: GPL-3 5 | Author: Mattias (https://github.com/lassekongo83) 6 | 7 | -------------------------------------------------------------------------------- /themes/Zukitwo-Dark/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Zukitwo-Dark/screenshot.png -------------------------------------------------------------------------------- /themes/Zukitwo-Dark/style.css: -------------------------------------------------------------------------------- 1 | .button-box { 2 | spacing: 10px; 3 | } 4 | 5 | .box-bin .window-button { 6 | width: 16px; 7 | margin: 3px 0 3px 0; 8 | 9 | border-radius: 12px; 10 | border-width: 2px; 11 | border-color: rgba(0,0,0,0); 12 | 13 | background-gradient-direction: vertical; 14 | background-gradient-start: rgba(160,160,160,1); 15 | background-gradient-end: rgba(143,143,143,1); 16 | 17 | transition-duration: 100; 18 | } 19 | 20 | .box-bin .window-button:active { 21 | background-gradient-start: rgba(159,159,159,1); 22 | background-gradient-end: rgba(142,142,142,1); 23 | } 24 | 25 | .minimize { 26 | 27 | } 28 | 29 | .minimize:hover { 30 | border-color: rgba(209,174,51,0.75); 31 | } 32 | 33 | .minimize:active { 34 | border-color: rgba(202,169,49,0.75); 35 | } 36 | 37 | .maximize { 38 | 39 | } 40 | 41 | .maximize:hover { 42 | border-color: rgba(80,209,51,0.75); 43 | } 44 | 45 | .maximize:active { 46 | border-color: rgba(85,179,64,0.75); 47 | } 48 | 49 | .close { 50 | 51 | } 52 | 53 | .close:hover { 54 | border-color: rgba(189,46,46,0.75); 55 | } 56 | 57 | .close:active { 58 | border-color: rgba(209,51,51,1); 59 | } 60 | -------------------------------------------------------------------------------- /themes/Zukitwo/ABOUT: -------------------------------------------------------------------------------- 1 | Files in this directory are from zuki-themes 2 | 3 | Upstream: https://github.com/lassekongo83/zuki-themes 4 | License: GPL-3 5 | Author: Mattias (https://github.com/lassekongo83) 6 | -------------------------------------------------------------------------------- /themes/Zukitwo/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/Zukitwo/screenshot.png -------------------------------------------------------------------------------- /themes/Zukitwo/style.css: -------------------------------------------------------------------------------- 1 | .button-box { 2 | spacing: 10px; 3 | } 4 | 5 | .box-bin .window-button { 6 | width: 16px; 7 | margin: 3px 0 3px 0; 8 | 9 | border-radius: 12px; 10 | border-width: 2px; 11 | border-color: rgba(0,0,0,0); 12 | 13 | background-gradient-direction: vertical; 14 | background-gradient-start: rgba(255,255,255,1); 15 | background-gradient-end: rgba(235,235,235,1); 16 | 17 | transition-duration: 100; 18 | } 19 | 20 | .box-bin .window-button:active { 21 | background-gradient-start: rgba(207,207,207,1); 22 | background-gradient-end: rgba(249,249,249,1); 23 | } 24 | 25 | .minimize { 26 | 27 | } 28 | 29 | .minimize:hover { 30 | border-color: rgba(209,174,51,0.75); 31 | } 32 | 33 | .minimize:active { 34 | border-color: rgba(202,169,49,0.75); 35 | } 36 | 37 | .maximize { 38 | 39 | } 40 | 41 | .maximize:hover { 42 | border-color: rgba(80,209,51,0.75); 43 | } 44 | 45 | .maximize:active { 46 | border-color: rgba(85,179,64,0.75); 47 | } 48 | 49 | .close { 50 | 51 | } 52 | 53 | .close:hover { 54 | border-color: rgba(189,46,46,0.75); 55 | } 56 | 57 | .close:active { 58 | border-color: rgba(209,51,51,1); 59 | } 60 | -------------------------------------------------------------------------------- /themes/default/ABOUT: -------------------------------------------------------------------------------- 1 | Files from this directory are from the Adwaita theme. 2 | 3 | Upstream website: https://download.gnome.org/sources/gnome-themes-standard/ 4 | Authors: 5 | Copyright: Copyright (C) 2010 Aron Xu 6 | Copyright (C) 2010 A S Alam 7 | Copyright (C) 2010 Carlos Garnacho 8 | Copyright (C) 2010 Daniel Nylander 9 | Copyright (C) 2010 Fran Diéguez 10 | Copyright (C) 2010 Gheyret T.Kenji 11 | Copyright (C) 2010 Ivar Smolin 12 | Copyright (C) 2010 Jakub Steiner 13 | Copyright (C) 2010 Jorge González 14 | Copyright (C) 2010 Kenneth Nielsen 15 | Copyright (C) 2010 Kjartan Maraas 16 | Copyright (C) 2010 Kris Thomsen 17 | Copyright (C) 2010 Lapo Calamandrei 18 | Copyright (C) 2010 Lucian Adrian Grijincu 19 | Copyright (C) 2010 Matej Urbančič 20 | Copyright (C) 2010 Matthias Clasen 21 | Copyright (C) 2010 Priit Laes 22 | Copyright (C) 2010 Theodore Dimitriadis 23 | Copyright (C) 2010 Theppitak Karoonboonyanan 24 | Copyright (C) 2010 William Jon McCann 25 | Copyright (C) 2010 Yaron Shahrabani 26 | Copyright (C) 2010 Hylke Bons 27 | License: LGPL-2.1+ 28 | -------------------------------------------------------------------------------- /themes/default/close.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 39 | Gnome Symbolic Icon Theme 41 | 43 | 44 | 46 | image/svg+xml 47 | 49 | Gnome Symbolic Icon Theme 50 | 51 | 52 | 53 | 55 | 59 | 62 | 65 | 68 | 71 | 74 | 77 | 81 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /themes/default/close_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 39 | Gnome Symbolic Icon Theme 41 | 43 | 44 | 46 | image/svg+xml 47 | 49 | Gnome Symbolic Icon Theme 50 | 51 | 52 | 53 | 55 | 59 | 62 | 65 | 68 | 71 | 74 | 77 | 81 | 86 | 87 | 88 | 89 | -------------------------------------------------------------------------------- /themes/default/max.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | Gnome Symbolic Icon Theme 27 | 28 | 29 | 30 | 62 | 71 | 72 | Gnome Symbolic Icon Theme 74 | 76 | 82 | 88 | 89 | 94 | 99 | 104 | 109 | 114 | 120 | 126 | 127 | -------------------------------------------------------------------------------- /themes/default/max_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | Gnome Symbolic Icon Theme 27 | 28 | 29 | 30 | 62 | 71 | 72 | Gnome Symbolic Icon Theme 74 | 76 | 82 | 88 | 89 | 94 | 99 | 104 | 109 | 114 | 120 | 126 | 127 | -------------------------------------------------------------------------------- /themes/default/min.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | Gnome Symbolic Icon Theme 27 | 28 | 29 | 30 | 62 | 71 | 72 | Gnome Symbolic Icon Theme 74 | 76 | 82 | 89 | 90 | 95 | 100 | 105 | 110 | 115 | 121 | 127 | 128 | -------------------------------------------------------------------------------- /themes/default/min_hover.svg: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 18 | 20 | 21 | 23 | image/svg+xml 24 | 26 | Gnome Symbolic Icon Theme 27 | 28 | 29 | 30 | 62 | 71 | 72 | Gnome Symbolic Icon Theme 74 | 76 | 82 | 89 | 90 | 95 | 100 | 105 | 110 | 115 | 121 | 127 | 128 | -------------------------------------------------------------------------------- /themes/default/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/default/screenshot.png -------------------------------------------------------------------------------- /themes/default/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 4px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('min.svg'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('min_hover.svg'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('max.svg'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('max_hover.svg'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('close.svg'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('close_hover.svg'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/iris-master/ABOUT: -------------------------------------------------------------------------------- 1 | Iris-master theme files in this directory by: 2 | 3 | xyl0n 4 | Upstream: https://github.com/xyl0n/iris 5 | License: GPL-3.0 6 | 7 | -------------------------------------------------------------------------------- /themes/iris-master/screenshot.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/screenshot.png -------------------------------------------------------------------------------- /themes/iris-master/style.css: -------------------------------------------------------------------------------- 1 | /* The box-bin element holds the button-box element which holds each window-button. 2 | * 3 | * Control spacing between each button via .button-box. 4 | */ 5 | .box-bin { 6 | border-width: 0px; 7 | padding: 0px; 8 | margin: 0px; 9 | } 10 | 11 | .button-box { 12 | spacing: 8px; 13 | } 14 | 15 | /* The style for each individual window button */ 16 | .box-bin .window-button { 17 | width: 24px; 18 | height: 27px; 19 | } 20 | 21 | /* The style for the window button when hovered over */ 22 | .box-bin .window-button:hover { 23 | } 24 | 25 | /* Here you can style each individual button. You need to define style classes 26 | * ".minimize", ".maximize" and ".close". 27 | * You can additionally define styles for the :hover and :active pseudo classes 28 | * if you wish. 29 | * See the 'Radiance' style.css for an example of this. 30 | */ 31 | /* Style for the minimize button */ 32 | .minimize { 33 | background-image: url('titlebutton-min.png'); 34 | } 35 | 36 | .minimize:hover { 37 | background-image: url('titlebutton-min-hover.png'); 38 | } 39 | 40 | /* Style for the maximize button */ 41 | .maximize { 42 | background-image: url('titlebutton-max.png'); 43 | } 44 | 45 | .maximize:hover { 46 | background-image: url('titlebutton-max-hover.png'); 47 | } 48 | 49 | /* Style for the close button */ 50 | .close { 51 | background-image: url('titlebutton-close.png'); 52 | } 53 | 54 | .close:hover { 55 | background-image: url('titlebutton-close-hover.png'); 56 | } 57 | -------------------------------------------------------------------------------- /themes/iris-master/titlebutton-close-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/titlebutton-close-hover.png -------------------------------------------------------------------------------- /themes/iris-master/titlebutton-close.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/titlebutton-close.png -------------------------------------------------------------------------------- /themes/iris-master/titlebutton-max-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/titlebutton-max-hover.png -------------------------------------------------------------------------------- /themes/iris-master/titlebutton-max.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/titlebutton-max.png -------------------------------------------------------------------------------- /themes/iris-master/titlebutton-min-hover.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/titlebutton-min-hover.png -------------------------------------------------------------------------------- /themes/iris-master/titlebutton-min.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/poehlerj/no-title-bar/090c0093e529cbaf06e62d19a972c3f43ab55969/themes/iris-master/titlebutton-min.png -------------------------------------------------------------------------------- /utils.js: -------------------------------------------------------------------------------- 1 | const Mainloop = imports.mainloop; 2 | const Gio = imports.gi.Gio; 3 | const Meta = imports.gi.Meta; 4 | const Shell = imports.gi.Shell; 5 | 6 | const Me = imports.misc.extensionUtils.getCurrentExtension(); 7 | const Convenience = Me.imports.convenience; 8 | const Prefs = Me.imports.prefs; 9 | 10 | const appSys = Shell.AppSystem.get_default(); 11 | 12 | const MAXIMIZED = Meta.MaximizeFlags.BOTH; 13 | const VERTICAL = Meta.MaximizeFlags.VERTICAL; 14 | 15 | // global.screen removed in GNOME 3.30 16 | var ws_manager = global.screen ? global.screen : global.workspace_manager; 17 | var display = global.screen ? global.screen : global.display; 18 | 19 | let settings = null; 20 | let debug_mode = undefined; 21 | let _debug_mode_listener_id; 22 | 23 | function enable() { 24 | settings = Convenience.getSettings(); 25 | _debug_mode_listener_id = settings.connect( 26 | 'changed::debug-mode', 27 | function() { 28 | debug_mode = settings.get_boolean('debug-mode'); 29 | log("Debug mode set to " + debug_mode); 30 | } 31 | ); 32 | return settings; 33 | } 34 | 35 | function disable() { 36 | settings.disconnect(_debug_mode_listener_id); 37 | _debug_mode_listener_id = null; 38 | settings.run_dispose(); 39 | settings = null; 40 | } 41 | 42 | function log_debug(message) { 43 | if (debug_mode === undefined) { 44 | debug_mode = settings.get_boolean('debug-mode'); 45 | } 46 | if (debug_mode) { 47 | log(message); 48 | } 49 | } 50 | 51 | function log(message) { 52 | global.log("[no-title-bar] " + message); 53 | } 54 | 55 | // Get the window to display the title bar for (buttons etc) or to drag from the top panel 56 | function getWindow(forceSnapped) { 57 | if (typeof forceSnapped === 'undefined') { 58 | forceSnapped = false; 59 | } 60 | 61 | let primaryMonitor = display.get_primary_monitor() 62 | let onlyPrimaryMonitor = settings.get_boolean('only-main-monitor'); 63 | let includeSnapped = settings.get_boolean('buttons-for-snapped') || forceSnapped; 64 | let allWindows = settings.get_boolean('buttons-for-all-win'); 65 | 66 | // get all window in stacking order. 67 | let windows = global.display.sort_windows_by_stacking( 68 | ws_manager.get_active_workspace().list_windows().filter(function (w) { 69 | return w.get_window_type() !== Meta.WindowType.DESKTOP && 70 | (!onlyPrimaryMonitor || w.get_monitor() === primaryMonitor); 71 | }) 72 | ); 73 | 74 | let i = windows.length; 75 | while (i--) { 76 | let window = windows[i]; 77 | if (window.minimized || window.is_hidden()) { 78 | continue; 79 | } 80 | 81 | let max_state = window.get_maximized(); 82 | if (max_state === MAXIMIZED) { 83 | return window; 84 | } 85 | 86 | if (max_state === VERTICAL && includeSnapped) { 87 | return window; 88 | } 89 | 90 | if (allWindows) { 91 | return window; 92 | } 93 | } 94 | 95 | return null; 96 | } 97 | 98 | function onSizeChange(callback) { 99 | let callbackIDs = []; 100 | let wm = global.window_manager; 101 | 102 | // Obvious size change callback. 103 | callbackIDs.push(wm.connect('size-change', callback)); 104 | 105 | // Needed for window drag to top panel (this doesn't trigger maximize). 106 | callbackIDs.push(wm.connect('hide-tile-preview', callback)); 107 | 108 | // NB: 'destroy' needs a delay for .list_windows() report correctly 109 | callbackIDs.push(wm.connect('destroy', function () { 110 | Mainloop.idle_add(callback); 111 | })); 112 | 113 | return callbackIDs; 114 | } 115 | 116 | function getAppList() { 117 | let apps = Gio.AppInfo.get_all().filter(function(appInfo) { 118 | try { 119 | let id = appInfo.get_name(); // catch invalid file encodings 120 | } catch(e) { 121 | return false; 122 | } 123 | return appInfo.should_show(); 124 | }); 125 | 126 | return apps; 127 | } 128 | 129 | const IgnoreList = { 130 | DISABLED: 0, 131 | WHITELIST: 1, 132 | BLACKLIST: 2, 133 | } 134 | 135 | function getAppInfoOf(window) { 136 | return getAppList() 137 | .find(function (appInfo) { 138 | const app = appSys.lookup_app(appInfo.get_id()); 139 | return app.get_windows().includes(window); 140 | }); 141 | } 142 | 143 | function isWindowIgnored(settings, win) { 144 | const listType = settings.get_enum('ignore-list-type'); 145 | if (listType === IgnoreList.DISABLED) return false; 146 | 147 | let ignoreList = settings.get_string('ignore-list'); 148 | ignoreList = Prefs.splitEntries(ignoreList); 149 | 150 | const appInfo = getAppInfoOf(win); 151 | if (!appInfo) return false; 152 | 153 | const isAppInList = ignoreList.includes(appInfo.get_name()); 154 | 155 | if (listType === IgnoreList.BLACKLIST) { 156 | return isAppInList; 157 | } else /* IgnoreList.WHITELIST */ { 158 | return !isAppInList; 159 | } 160 | } 161 | --------------------------------------------------------------------------------