summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorB. Stack <bgstack15@gmail.com>2022-11-26 11:31:20 -0500
committerB. Stack <bgstack15@gmail.com>2022-11-26 11:31:20 -0500
commit754024033108d13b7562b83a906afda24d4f7ff3 (patch)
treecbc2b67e078396e356542bafc8ee4ef05dcfe6be
parentstore local hostname on WinClient instance (diff)
downloadstackrpms-754024033108d13b7562b83a906afda24d4f7ff3.tar.gz
stackrpms-754024033108d13b7562b83a906afda24d4f7ff3.tar.bz2
stackrpms-754024033108d13b7562b83a906afda24d4f7ff3.zip
add tuneable: session.screen0.showClientmachine
-rw-r--r--fluxbox/debian/patches/add-clientmachine-if-forwarded.patch119
1 files changed, 90 insertions, 29 deletions
diff --git a/fluxbox/debian/patches/add-clientmachine-if-forwarded.patch b/fluxbox/debian/patches/add-clientmachine-if-forwarded.patch
index f8a7f27..e55e13a 100644
--- a/fluxbox/debian/patches/add-clientmachine-if-forwarded.patch
+++ b/fluxbox/debian/patches/add-clientmachine-if-forwarded.patch
@@ -1,7 +1,7 @@
Author: bgstack15
-Date: 2022-11-09
+Date: 2022-11-26
Version: fluxbox 1.4.0
-Source: original
+Source: bgstack15
Summary: Add "(on $CLIENT)" to titlebar for forwarded windows
Message:
Inspired by xfwm4's ability to display the remote host running an X11 window. This fails on xfe which somehow lacks the WM_CLIENT_MACHINE property.
@@ -79,18 +79,7 @@ Inspired by xfwm4's ability to display the remote host running an X11 window. Th
using std::string;
using std::list;
-@@ -58,8 +59,10 @@ using std::cerr;
- using std::hex;
- using std::dec;
-
-+
- namespace {
-
-+
- void sendMessage(const WinClient& win, Atom atom, Time time) {
- XEvent ce;
- ce.xclient.type = ClientMessage;
-@@ -104,6 +107,8 @@ WinClient::WinClient(Window win, BScreen
+@@ -104,6 +105,8 @@ WinClient::WinClient(Window win, BScreen
updateWMHints();
updateWMNormalHints();
updateWMClassHint();
@@ -99,7 +88,7 @@ Inspired by xfwm4's ability to display the remote host running an X11 window. Th
updateTitle();
Fluxbox::instance()->saveWindowSearch(win, this);
if (window_group != None)
-@@ -217,6 +222,10 @@ bool WinClient::getAttrib(XWindowAttribu
+@@ -217,6 +220,10 @@ bool WinClient::getAttrib(XWindowAttribu
return XGetWindowAttributes(display(), window(), &attr);
}
@@ -110,15 +99,17 @@ Inspired by xfwm4's ability to display the remote host running an X11 window. Th
bool WinClient::getWMName(XTextProperty &textprop) const {
return XGetWMName(display(), window(), &textprop);
}
-@@ -319,7 +328,12 @@ void WinClient::updateTitle() {
+@@ -319,7 +326,14 @@ void WinClient::updateTitle() {
if (m_title_override)
return;
- m_title.setLogical(FbTk::FbString(Xutil::getWMName(window()), 0, 512));
+ FbTk::FbString fullname = FbTk::FbString(Xutil::getWMName(window()), 0, 512);
-+ FbTk::FbString clientmachine = FbTk::FbString(Xutil::getWMClientMachine(window()), 0, 512);
-+ if (clientmachine != "Unnamed" && clientmachine != "" && clientmachine != hostname) {
-+ fullname += " (on " + clientmachine + ")";
++ if (m_screen.isShowClient()) {
++ FbTk::FbString clientmachine = FbTk::FbString(Xutil::getWMClientMachine(window()), 0, 512);
++ if (clientmachine != "Unnamed" && clientmachine != "" && clientmachine != hostname) {
++ fullname += " (on " + clientmachine + ")";
++ }
+ }
+ m_title.setLogical(fullname);
m_title_update_timer.start();
@@ -140,15 +131,7 @@ Inspired by xfwm4's ability to display the remote host running an X11 window. Th
}
--- a/src/WinClient.hh
+++ b/src/WinClient.hh
-@@ -31,6 +31,7 @@
- class BScreen;
- class Strut;
-
-+
- /// Holds client window info
- class WinClient: public Focusable, public FbTk::FbWindow {
- public:
-@@ -91,6 +92,7 @@ public:
+@@ -91,6 +91,7 @@ public:
//
bool getAttrib(XWindowAttributes &attr) const;
@@ -156,7 +139,7 @@ Inspired by xfwm4's ability to display the remote host running an X11 window. Th
bool getWMName(XTextProperty &textprop) const;
bool getWMIconName(XTextProperty &textprop) const;
std::string getWMRole() const;
-@@ -141,6 +143,8 @@ public:
+@@ -141,6 +142,8 @@ public:
unsigned long initial_state, normal_hint_flags, wm_hint_flags;
private:
@@ -165,3 +148,81 @@ Inspired by xfwm4's ability to display the remote host running an X11 window. Th
/// removes client from any waiting list and clears empty waiting lists
void removeTransientFromWaitingList();
+--- a/src/ConfigMenu.cc
++++ b/src/ConfigMenu.cc
+@@ -344,6 +344,10 @@ void ConfigMenu::setup(FbTk::Menu& menu,
+ "Workspace Warping",
+ "Workspace Warping - dragging windows to the edge and onto the next workspace",
+ sh.resource.workspace_warping, saverc_cmd);
++ _BOOLITEM(menu, Configmenu, WorkspaceShowClientmachine,
++ "Show (on $CLIENT)",
++ "Show clientmachine if not running on localhost",
++ sh.resource.show_clientmachine, saverc_cmd);
+
+ #undef _BOOLITEM
+
+--- a/src/Screen.hh
++++ b/src/Screen.hh
+@@ -99,6 +99,7 @@ public:
+ bool isWorkspaceWarpingVertical() const { return isWorkspaceWarping() && *resource.workspace_warping_vertical; }
+ int getWorkspaceWarpingHorizontalOffset() const { return *resource.workspace_warping_horizontal_offset; }
+ int getWorkspaceWarpingVerticalOffset() const { return *resource.workspace_warping_vertical_offset; }
++ bool isShowClient() const { return *resource.show_clientmachine; }
+ bool doAutoRaise() const { return *resource.auto_raise; }
+ bool clickRaises() const { return *resource.click_raises; }
+ bool doOpaqueMove() const { return *resource.opaque_move; }
+--- a/src/ScreenResource.cc
++++ b/src/ScreenResource.cc
+@@ -93,6 +93,7 @@ ScreenResource::ScreenResource(FbTk::Res
+ workspace_warping_vertical(rm, true, scrname+".workspacewarpingvertical", altscrname+".WorkspaceWarpingVertical"),
+ workspace_warping_horizontal_offset(rm, 1, scrname+".workspacewarpinghorizontaloffset", altscrname+".WorkspaceWarpingHorizontalOffset"),
+ workspace_warping_vertical_offset(rm, 1, scrname+".workspacewarpingverticaloffset", altscrname+".WorkspaceWarpingVerticalOffset"),
++ show_clientmachine(rm, true, scrname+".showClientmachine", altscrname+".ShowClientmachine"),
+ show_window_pos(rm, false, scrname+".showwindowposition", altscrname+".ShowWindowPosition"),
+ auto_raise(rm, true, scrname+".autoRaise", altscrname+".AutoRaise"),
+ click_raises(rm, true, scrname+".clickRaises", altscrname+".ClickRaises"),
+--- a/src/ScreenResource.hh
++++ b/src/ScreenResource.hh
+@@ -40,6 +40,7 @@ struct ScreenResource {
+ workspace_warping,
+ workspace_warping_horizontal,
+ workspace_warping_vertical,
++ show_clientmachine,
+ show_window_pos,
+ auto_raise,
+ click_raises;
+--- a/nls/C/Translation.m
++++ b/nls/C/Translation.m
+@@ -83,6 +83,7 @@ $set 4 #Configmenu
+ 27 Ignore Resize Increment
+ 28 Disable Moving
+ 29 Disable Resizing
++33 Show clientmachine
+
+ $set 5 #Ewmh_OBSOLETE
+
+--- a/nls/fluxbox-nls.hh
++++ b/nls/fluxbox-nls.hh
+@@ -90,6 +90,7 @@ enum {
+ ConfigmenuStrictMouseFocus = 30,
+ ConfigmenuFocusSameHead = 31,
+ ConfigmenuOpaqueResize = 32,
++ ConfigmenuWorkspaceShowClientmachine = 33,
+
+ EwmhSet = 5,
+ EwmhOutOfMemoryClientList = 1,
+--- a/doc/asciidoc/fluxbox.txt
++++ b/doc/asciidoc/fluxbox.txt
+@@ -1084,6 +1084,12 @@ across the edge of the screen.
+ +
+ Default: *True*
+
++*session.screen0.showClientmachine*: 'boolean'::
++This enables in the titlebar an indication of forwarded client windows
++with "(on $CLIENT)" appended to the main title.
+++
++Default: *True*
++
+ *session.screen0.showwindowposition*: 'boolean'::
+ Setting this resource to True shows the user, in a little window,
+ the exact position of the application window while the user is
bgstack15