Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- diff --git a/src/BudgiePixelSaverApplet.vala b/src/BudgiePixelSaverApplet.vala
- index 75b9aac..8fef5df 100644
- --- a/src/BudgiePixelSaverApplet.vala
- +++ b/src/BudgiePixelSaverApplet.vala
- @@ -27,6 +27,7 @@ public class Applet : Budgie.Applet
- bool is_buttons_visible {get; set;}
- bool is_title_visible {get; set;}
- bool is_active_window_csd {get; set;}
- + bool is_active_window_crow {get; set;}
- bool is_active_window_maximized {get; set;}
- public string uuid { public set; public get; }
- @@ -116,11 +117,12 @@ public class Applet : Budgie.Applet
- });
- this.title_bar_manager.on_active_window_changed.connect(
- - (can_minimize, can_maximize, can_close, is_active_window_csd, is_active_window_maximized) => {
- + (can_minimize, can_maximize, can_close, is_active_window_csd, is_active_window_crow, is_active_window_maximized) => {
- this.minimize_button.set_sensitive(can_minimize);
- this.maximize_button.set_sensitive(can_maximize);
- this.close_button.set_sensitive(can_close);
- this.is_active_window_csd = is_active_window_csd;
- + this.is_active_window_crow = is_active_window_crow;
- this.is_active_window_maximized = is_active_window_maximized;
- this.update_visibility(false);
- }
- @@ -216,7 +218,7 @@ public class Applet : Budgie.Applet
- }
- void update_visibility(bool is_settings_changed = false){
- - bool hide_for_csd = this.is_active_window_csd && this.settings.get_boolean("hide-for-csd");
- + bool hide_for_csd = (this.is_active_window_csd || this.is_active_window_crow) && this.settings.get_boolean("hide-for-csd");
- bool hide_for_unmaximized = !this.is_active_window_maximized && this.settings.get_boolean("hide-for-unmaximized");
- /*if (!this.is_buttons_visible) {
- diff --git a/src/TitleBarManager.vala b/src/TitleBarManager.vala
- index 5ef3667..5bd3066 100644
- --- a/src/TitleBarManager.vala
- +++ b/src/TitleBarManager.vala
- @@ -19,7 +19,7 @@ public class TitleBarManager : Object {
- public signal void on_title_changed (string title);
- public signal void on_window_state_changed (bool is_maximized);
- - public signal void on_active_window_changed (bool can_minimize, bool can_maximize, bool can_close, bool is_active_window_csd, bool is_active_window_maximized);
- + public signal void on_active_window_changed (bool can_minimize, bool can_maximize, bool can_close, bool is_active_window_csd, bool is_active_window_crow, bool is_active_window_maximized);
- /*
- * Should call this at construster
- @@ -125,8 +125,35 @@ public class TitleBarManager : Object {
- return false;
- }
- + private bool is_window_crow(Wnck.Window window){
- + try {
- + string[] spawn_args = {"xprop", "-id",
- + "%#.8x".printf((uint)window.get_xid()), "_NET_WM_NAME"};
- + string[] spawn_env = Environ.get ();
- + string ls_stdout;
- + string ls_stderr;
- + int ls_status;
- +
- + Process.spawn_sync ("/",
- + spawn_args,
- + spawn_env,
- + SpawnFlags.SEARCH_PATH,
- + null,
- + out ls_stdout,
- + out ls_stderr,
- + out ls_status);
- +
- + if(ls_stdout.strip() == "_NET_WM_NAME(UTF8_STRING) = \"Crow Translate\""){
- + return true;
- + }
- + } catch(SpawnError e){
- + error(e.message);
- + }
- + return false;
- + }
- +
- private void change_titlebar() {
- - if (active_window == null || is_window_csd(active_window)) return;
- + if (active_window == null || is_window_csd(active_window) || is_window_crow(active_window)) return;
- try {
- bool hide_titlebar = false;
- @@ -164,6 +191,7 @@ public class TitleBarManager : Object {
- bool can_maximize = false;
- bool can_close = false;
- bool is_csd = false;
- + bool is_crow = false;
- bool is_maximized = false;
- this.active_window = this.screen.get_active_window();
- if(this.active_window != null && this.active_window.get_window_type() != Wnck.WindowType.NORMAL){
- @@ -176,6 +204,7 @@ public class TitleBarManager : Object {
- can_maximize = (actions & Wnck.WindowActions.MAXIMIZE) > 0;
- can_close = (actions & Wnck.WindowActions.CLOSE) > 0;
- is_csd = this.is_window_csd(this.active_window);
- + is_crow = this.is_window_crow(this.active_window);
- is_maximized = this.active_window.is_maximized();
- this.active_window.name_changed.connect( this.on_active_window_name_changed );
- @@ -185,7 +214,7 @@ public class TitleBarManager : Object {
- this.on_title_changed("");
- }
- change_titlebar();
- - this.on_active_window_changed(can_minimize, can_maximize, can_close, is_csd, is_maximized);
- + this.on_active_window_changed(can_minimize, can_maximize, can_close, is_csd, is_crow, is_maximized);
- }
- private void on_window_opened(Wnck.Window window){
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement