forked from mirrors/nixpkgs
gnomeExtensions.no-title-bar: init at 8
This commit is contained in:
parent
c2b781a70e
commit
5118a47baa
35
pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
Normal file
35
pkgs/desktops/gnome-3/extensions/no-title-bar/default.nix
Normal file
|
@ -0,0 +1,35 @@
|
||||||
|
{ stdenv, fetchFromGitHub, substituteAll, glib, gettext, xorg }:
|
||||||
|
|
||||||
|
stdenv.mkDerivation rec {
|
||||||
|
name = "gnome-shell-extension-no-title-bar-${version}";
|
||||||
|
version = "8";
|
||||||
|
|
||||||
|
src = fetchFromGitHub {
|
||||||
|
owner = "franglais125";
|
||||||
|
repo = "no-title-bar";
|
||||||
|
rev = "v${version}";
|
||||||
|
sha256 = "0n3ayf7k2icy913sjl1d6iwm21i8fivv0f7wj7gck8q7q2j7i3bz";
|
||||||
|
};
|
||||||
|
|
||||||
|
nativeBuildInputs = [
|
||||||
|
glib gettext
|
||||||
|
];
|
||||||
|
|
||||||
|
patches = [
|
||||||
|
(substituteAll {
|
||||||
|
src = ./fix-paths.patch;
|
||||||
|
xprop = "${xorg.xprop}/bin/xprop";
|
||||||
|
xwininfo = "${xorg.xwininfo}/bin/xwininfo";
|
||||||
|
})
|
||||||
|
];
|
||||||
|
|
||||||
|
makeFlags = [ "INSTALLBASE=$(out)/share/gnome-shell/extensions" ];
|
||||||
|
|
||||||
|
meta = with stdenv.lib; {
|
||||||
|
description = "Integrates maximized windows with the top panel";
|
||||||
|
homepage = https://github.com/franglais125/no-title-bar;
|
||||||
|
license = licenses.gpl2;
|
||||||
|
maintainers = with maintainers; [ jonafato svsdep ];
|
||||||
|
platforms = platforms.linux;
|
||||||
|
};
|
||||||
|
}
|
|
@ -0,0 +1,56 @@
|
||||||
|
--- a/decoration.js
|
||||||
|
+++ b/decoration.js
|
||||||
|
@@ -181,7 +181,7 @@
|
||||||
|
let act = win.get_compositor_private();
|
||||||
|
let xwindow = act && act['x-window'];
|
||||||
|
if (xwindow) {
|
||||||
|
- let xwininfo = GLib.spawn_command_line_sync('xwininfo -children -id 0x%x'.format(xwindow));
|
||||||
|
+ let xwininfo = GLib.spawn_command_line_sync('@xwininfo@ -children -id 0x%x'.format(xwindow));
|
||||||
|
if (xwininfo[0]) {
|
||||||
|
let str = xwininfo[1].toString();
|
||||||
|
|
||||||
|
@@ -207,7 +207,7 @@
|
||||||
|
// Try enumerating all available windows and match the title. Note that this
|
||||||
|
// may be necessary if the title contains special characters and `x-window`
|
||||||
|
// is not available.
|
||||||
|
- let result = GLib.spawn_command_line_sync('xprop -root _NET_CLIENT_LIST');
|
||||||
|
+ let result = GLib.spawn_command_line_sync('@xprop@ -root _NET_CLIENT_LIST');
|
||||||
|
if (result[0]) {
|
||||||
|
let str = result[1].toString();
|
||||||
|
|
||||||
|
@@ -218,7 +218,7 @@
|
||||||
|
|
||||||
|
// For each window ID, check if the title matches the desired title.
|
||||||
|
for (var i = 0; i < windowList.length; ++i) {
|
||||||
|
- let cmd = 'xprop -id "' + windowList[i] + '" _NET_WM_NAME _NO_TITLE_BAR_ORIGINAL_STATE';
|
||||||
|
+ let cmd = '@xprop@ -id "' + windowList[i] + '" _NET_WM_NAME _NO_TITLE_BAR_ORIGINAL_STATE';
|
||||||
|
let result = GLib.spawn_command_line_sync(cmd);
|
||||||
|
|
||||||
|
if (result[0]) {
|
||||||
|
@@ -258,7 +258,7 @@
|
||||||
|
}
|
||||||
|
|
||||||
|
let id = this._guessWindowXID(win);
|
||||||
|
- let cmd = 'xprop -id ' + id;
|
||||||
|
+ let cmd = '@xprop@ -id ' + id;
|
||||||
|
|
||||||
|
let xprops = GLib.spawn_command_line_sync(cmd);
|
||||||
|
if (!xprops[0]) {
|
||||||
|
@@ -277,7 +277,7 @@
|
||||||
|
m = str.match(/^_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED(\(CARDINAL\))? = ([0-9]+)$/m);
|
||||||
|
if (m) {
|
||||||
|
let state = !!parseInt(m[2]);
|
||||||
|
- cmd = ['xprop', '-id', id,
|
||||||
|
+ cmd = ['@xprop@', '-id', id,
|
||||||
|
'-f', '_NO_TITLE_BAR_ORIGINAL_STATE', '32c',
|
||||||
|
'-set', '_NO_TITLE_BAR_ORIGINAL_STATE',
|
||||||
|
(state ? '0x1' : '0x0')];
|
||||||
|
@@ -358,7 +358,7 @@
|
||||||
|
let winXID = this._guessWindowXID(win);
|
||||||
|
if (winXID == null)
|
||||||
|
return;
|
||||||
|
- let cmd = ['xprop', '-id', winXID,
|
||||||
|
+ let cmd = ['@xprop@', '-id', winXID,
|
||||||
|
'-f', '_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED', '32c',
|
||||||
|
'-set', '_GTK_HIDE_TITLEBAR_WHEN_MAXIMIZED',
|
||||||
|
(hide ? '0x1' : '0x0')];
|
|
@ -19190,6 +19190,7 @@ with pkgs;
|
||||||
icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
|
icon-hider = callPackage ../desktops/gnome-3/extensions/icon-hider { };
|
||||||
mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { };
|
mediaplayer = callPackage ../desktops/gnome-3/extensions/mediaplayer { };
|
||||||
nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { };
|
nohotcorner = callPackage ../desktops/gnome-3/extensions/nohotcorner { };
|
||||||
|
no-title-bar = callPackage ../desktops/gnome-3/extensions/no-title-bar { };
|
||||||
pixel-saver = callPackage ../desktops/gnome-3/extensions/pixel-saver { };
|
pixel-saver = callPackage ../desktops/gnome-3/extensions/pixel-saver { };
|
||||||
remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { };
|
remove-dropdown-arrows = callPackage ../desktops/gnome-3/extensions/remove-dropdown-arrows { };
|
||||||
taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { };
|
taskwhisperer = callPackage ../desktops/gnome-3/extensions/taskwhisperer { };
|
||||||
|
|
Loading…
Reference in a new issue