├── .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 |
89 |
--------------------------------------------------------------------------------
/themes/Canta/max_hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
127 |
--------------------------------------------------------------------------------
/themes/Canta/min_hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
61 |
--------------------------------------------------------------------------------
/themes/Communitheme/window-maximize-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
60 |
--------------------------------------------------------------------------------
/themes/Communitheme/window-minimize-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
60 |
--------------------------------------------------------------------------------
/themes/Communitheme/window-restore-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
4 |
--------------------------------------------------------------------------------
/themes/Materia/close.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/themes/Materia/close_active.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/themes/Materia/close_hover.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/themes/Materia/maximize.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/themes/Materia/maximize_active.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/themes/Materia/maximize_hover.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/themes/Materia/minimize.svg:
--------------------------------------------------------------------------------
1 |
4 |
--------------------------------------------------------------------------------
/themes/Materia/minimize_active.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/themes/Materia/minimize_hover.svg:
--------------------------------------------------------------------------------
1 |
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 |
4 |
--------------------------------------------------------------------------------
/themes/Materia/unmaximize_active.svg:
--------------------------------------------------------------------------------
1 |
5 |
--------------------------------------------------------------------------------
/themes/Materia/unmaximize_hover.svg:
--------------------------------------------------------------------------------
1 |
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 |
61 |
--------------------------------------------------------------------------------
/themes/Suru/window-maximize-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
60 |
--------------------------------------------------------------------------------
/themes/Suru/window-minimize-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
60 |
--------------------------------------------------------------------------------
/themes/Suru/window-restore-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
61 |
--------------------------------------------------------------------------------
/themes/Yaru/window-maximize-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
60 |
--------------------------------------------------------------------------------
/themes/Yaru/window-minimize-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
60 |
--------------------------------------------------------------------------------
/themes/Yaru/window-restore-symbolic.svg:
--------------------------------------------------------------------------------
1 |
2 |
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 |
89 |
--------------------------------------------------------------------------------
/themes/default/close_hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
89 |
--------------------------------------------------------------------------------
/themes/default/max.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
127 |
--------------------------------------------------------------------------------
/themes/default/max_hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
127 |
--------------------------------------------------------------------------------
/themes/default/min.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
128 |
--------------------------------------------------------------------------------
/themes/default/min_hover.svg:
--------------------------------------------------------------------------------
1 |
2 |
3 |
4 |
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 |
--------------------------------------------------------------------------------