How to determine if window is maximised or minimised from bash scriptHow to close, minimize, and maximize a specified window from Terminal?Problem with using wmctrl to arrange windows in compizHow to determine status of upstart job in bash script?Bash escape from scriptHow do I use wmctrl to detect if a window is present?How do I permanently change window titles?Executing wmctrl from bashsleep X - won't actually make bash script loop waitSet window size and positionObtain last active time of window from IDFrom a bash script, send commands to a terminal window

How to use Pandas to get the count of every combination inclusive

Shell script can be run only with sh command

Concept of linear mappings are confusing me

Why is "Reports" in sentence down without "The"

What makes Graph invariants so useful/important?

Is it legal to have the "// (c) 2019 John Smith" header in all files when there are hundreds of contributors?

Why has Russell's definition of numbers using equivalence classes been finally abandoned? ( If it has actually been abandoned).

Where to refill my bottle in India?

A newer friend of my brother's gave him a load of baseball cards that are supposedly extremely valuable. Is this a scam?

Simulate Bitwise Cyclic Tag

N.B. ligature in Latex

Prevent a directory in /tmp from being deleted

Closed subgroups of abelian groups

Is there a familial term for apples and pears?

What Brexit solution does the DUP want?

What is GPS' 19 year rollover and does it present a cybersecurity issue?

Divisibility of sum of multinomials

What is the meaning of "of trouble" in the following sentence?

cryptic clue: mammal sounds like relative consumer (8)

How to make payment on the internet without leaving a money trail?

Calculus Optimization - Point on graph closest to given point

Can an x86 CPU running in real mode be considered to be basically an 8086 CPU?

I see my dog run

My colleague's body is amazing



How to determine if window is maximised or minimised from bash script


How to close, minimize, and maximize a specified window from Terminal?Problem with using wmctrl to arrange windows in compizHow to determine status of upstart job in bash script?Bash escape from scriptHow do I use wmctrl to detect if a window is present?How do I permanently change window titles?Executing wmctrl from bashsleep X - won't actually make bash script loop waitSet window size and positionObtain last active time of window from IDFrom a bash script, send commands to a terminal window






.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty,.everyoneloves__bot-mid-leaderboard:empty margin-bottom:0;








4















I have a bash script that moves my windows from the left screen to right screen in dual-screen setup. Currently the way it works is cycling through the window ids that are given by xdotool search --onlyvisible --maxdepth 2 --class "" and then moves them to the right by the screen width. It already works... unless the window in question is maximises or minimised.



So what is needed is a way to check the current status of the window. I have found an answer that provides the way to add and remove those bits, but where is the way to check if they are set already?



If it is not possible to do via xdotool, it should be possible to reuse the window id provided by the command mentioned above.










share|improve this question




























    4















    I have a bash script that moves my windows from the left screen to right screen in dual-screen setup. Currently the way it works is cycling through the window ids that are given by xdotool search --onlyvisible --maxdepth 2 --class "" and then moves them to the right by the screen width. It already works... unless the window in question is maximises or minimised.



    So what is needed is a way to check the current status of the window. I have found an answer that provides the way to add and remove those bits, but where is the way to check if they are set already?



    If it is not possible to do via xdotool, it should be possible to reuse the window id provided by the command mentioned above.










    share|improve this question
























      4












      4








      4








      I have a bash script that moves my windows from the left screen to right screen in dual-screen setup. Currently the way it works is cycling through the window ids that are given by xdotool search --onlyvisible --maxdepth 2 --class "" and then moves them to the right by the screen width. It already works... unless the window in question is maximises or minimised.



      So what is needed is a way to check the current status of the window. I have found an answer that provides the way to add and remove those bits, but where is the way to check if they are set already?



      If it is not possible to do via xdotool, it should be possible to reuse the window id provided by the command mentioned above.










      share|improve this question














      I have a bash script that moves my windows from the left screen to right screen in dual-screen setup. Currently the way it works is cycling through the window ids that are given by xdotool search --onlyvisible --maxdepth 2 --class "" and then moves them to the right by the screen width. It already works... unless the window in question is maximises or minimised.



      So what is needed is a way to check the current status of the window. I have found an answer that provides the way to add and remove those bits, but where is the way to check if they are set already?



      If it is not possible to do via xdotool, it should be possible to reuse the window id provided by the command mentioned above.







      bash xdotool wmctrl






      share|improve this question













      share|improve this question











      share|improve this question




      share|improve this question










      asked 2 hours ago









      v010dyav010dya

      5872728




      5872728




















          1 Answer
          1






          active

          oldest

          votes


















          5














          Retrieve info on the window state



          You can get the info (and a lot more) from the command:



          xprop -id <window_id>


          To get what you are specifically looking for:



          xprop -id 0x04c00010 | grep "_NET_WM_STATE(ATOM)"


          The output will look like:



          _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_HIDDEN


          on a window that is maximized (h + v) and minimized at the same time, or just



          _NET_WM_STATE(ATOM) =


          (or no output at all) if none of those is the case.



          More fun



          Of course, using various languages, you can use Wnck, like in the python snippet below. (snippet from window-shuffler). The snippet outputs a list, showing the window name + either True or False (minimized).



          #!/usr/bin/env python3
          import gi
          gi.require_version('Wnck', '3.0')
          from gi.repository import Wnck


          def get_winlist(scr=None, selecttype=None):
          """
          get the window list. possible args: screen, select_type, in case it is
          already fetched elsewhere. select type is optional, to fetch only
          specific window types.
          """
          if not scr:
          scr = Wnck.Screen.get_default()
          scr.force_update()
          windows = scr.get_windows()
          if selecttype:
          windows = [w for w in windows if check_windowtype(w, selecttype)]
          return windows

          wlist = get_winlist()
          for w in wlist:
          print(w.get_name(), ",", w.is_maximized())


          Output looks like:



          Wnck.Window - Classes - Wnck 3.0 - Mozilla Firefox , True
          Postvak IN - vlijm@planet.nl - Mozilla Thunderbird , True
          Showtime , False
          settingsexample.vala - Visual Studio Code , False
          *Niet-opgeslagen document 1 - gedit , False
          desktop_weather , False
          Tilix: Standaard , False





          share|improve this answer

























          • Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

            – John1024
            1 hour ago











          • @John1024 Ah, thanks! will add it to the answer.

            – Jacob Vlijm
            1 hour ago











          • On my system it is shown in either case, even when empty.

            – v010dya
            11 mins ago











          Your Answer








          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "89"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          autoActivateHeartbeat: false,
          convertImagesToLinks: true,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: 10,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













          draft saved

          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1132023%2fhow-to-determine-if-window-is-maximised-or-minimised-from-bash-script%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown

























          1 Answer
          1






          active

          oldest

          votes








          1 Answer
          1






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes









          5














          Retrieve info on the window state



          You can get the info (and a lot more) from the command:



          xprop -id <window_id>


          To get what you are specifically looking for:



          xprop -id 0x04c00010 | grep "_NET_WM_STATE(ATOM)"


          The output will look like:



          _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_HIDDEN


          on a window that is maximized (h + v) and minimized at the same time, or just



          _NET_WM_STATE(ATOM) =


          (or no output at all) if none of those is the case.



          More fun



          Of course, using various languages, you can use Wnck, like in the python snippet below. (snippet from window-shuffler). The snippet outputs a list, showing the window name + either True or False (minimized).



          #!/usr/bin/env python3
          import gi
          gi.require_version('Wnck', '3.0')
          from gi.repository import Wnck


          def get_winlist(scr=None, selecttype=None):
          """
          get the window list. possible args: screen, select_type, in case it is
          already fetched elsewhere. select type is optional, to fetch only
          specific window types.
          """
          if not scr:
          scr = Wnck.Screen.get_default()
          scr.force_update()
          windows = scr.get_windows()
          if selecttype:
          windows = [w for w in windows if check_windowtype(w, selecttype)]
          return windows

          wlist = get_winlist()
          for w in wlist:
          print(w.get_name(), ",", w.is_maximized())


          Output looks like:



          Wnck.Window - Classes - Wnck 3.0 - Mozilla Firefox , True
          Postvak IN - vlijm@planet.nl - Mozilla Thunderbird , True
          Showtime , False
          settingsexample.vala - Visual Studio Code , False
          *Niet-opgeslagen document 1 - gedit , False
          desktop_weather , False
          Tilix: Standaard , False





          share|improve this answer

























          • Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

            – John1024
            1 hour ago











          • @John1024 Ah, thanks! will add it to the answer.

            – Jacob Vlijm
            1 hour ago











          • On my system it is shown in either case, even when empty.

            – v010dya
            11 mins ago















          5














          Retrieve info on the window state



          You can get the info (and a lot more) from the command:



          xprop -id <window_id>


          To get what you are specifically looking for:



          xprop -id 0x04c00010 | grep "_NET_WM_STATE(ATOM)"


          The output will look like:



          _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_HIDDEN


          on a window that is maximized (h + v) and minimized at the same time, or just



          _NET_WM_STATE(ATOM) =


          (or no output at all) if none of those is the case.



          More fun



          Of course, using various languages, you can use Wnck, like in the python snippet below. (snippet from window-shuffler). The snippet outputs a list, showing the window name + either True or False (minimized).



          #!/usr/bin/env python3
          import gi
          gi.require_version('Wnck', '3.0')
          from gi.repository import Wnck


          def get_winlist(scr=None, selecttype=None):
          """
          get the window list. possible args: screen, select_type, in case it is
          already fetched elsewhere. select type is optional, to fetch only
          specific window types.
          """
          if not scr:
          scr = Wnck.Screen.get_default()
          scr.force_update()
          windows = scr.get_windows()
          if selecttype:
          windows = [w for w in windows if check_windowtype(w, selecttype)]
          return windows

          wlist = get_winlist()
          for w in wlist:
          print(w.get_name(), ",", w.is_maximized())


          Output looks like:



          Wnck.Window - Classes - Wnck 3.0 - Mozilla Firefox , True
          Postvak IN - vlijm@planet.nl - Mozilla Thunderbird , True
          Showtime , False
          settingsexample.vala - Visual Studio Code , False
          *Niet-opgeslagen document 1 - gedit , False
          desktop_weather , False
          Tilix: Standaard , False





          share|improve this answer

























          • Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

            – John1024
            1 hour ago











          • @John1024 Ah, thanks! will add it to the answer.

            – Jacob Vlijm
            1 hour ago











          • On my system it is shown in either case, even when empty.

            – v010dya
            11 mins ago













          5












          5








          5







          Retrieve info on the window state



          You can get the info (and a lot more) from the command:



          xprop -id <window_id>


          To get what you are specifically looking for:



          xprop -id 0x04c00010 | grep "_NET_WM_STATE(ATOM)"


          The output will look like:



          _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_HIDDEN


          on a window that is maximized (h + v) and minimized at the same time, or just



          _NET_WM_STATE(ATOM) =


          (or no output at all) if none of those is the case.



          More fun



          Of course, using various languages, you can use Wnck, like in the python snippet below. (snippet from window-shuffler). The snippet outputs a list, showing the window name + either True or False (minimized).



          #!/usr/bin/env python3
          import gi
          gi.require_version('Wnck', '3.0')
          from gi.repository import Wnck


          def get_winlist(scr=None, selecttype=None):
          """
          get the window list. possible args: screen, select_type, in case it is
          already fetched elsewhere. select type is optional, to fetch only
          specific window types.
          """
          if not scr:
          scr = Wnck.Screen.get_default()
          scr.force_update()
          windows = scr.get_windows()
          if selecttype:
          windows = [w for w in windows if check_windowtype(w, selecttype)]
          return windows

          wlist = get_winlist()
          for w in wlist:
          print(w.get_name(), ",", w.is_maximized())


          Output looks like:



          Wnck.Window - Classes - Wnck 3.0 - Mozilla Firefox , True
          Postvak IN - vlijm@planet.nl - Mozilla Thunderbird , True
          Showtime , False
          settingsexample.vala - Visual Studio Code , False
          *Niet-opgeslagen document 1 - gedit , False
          desktop_weather , False
          Tilix: Standaard , False





          share|improve this answer















          Retrieve info on the window state



          You can get the info (and a lot more) from the command:



          xprop -id <window_id>


          To get what you are specifically looking for:



          xprop -id 0x04c00010 | grep "_NET_WM_STATE(ATOM)"


          The output will look like:



          _NET_WM_STATE(ATOM) = _NET_WM_STATE_MAXIMIZED_HORZ, _NET_WM_STATE_MAXIMIZED_VERT, _NET_WM_STATE_HIDDEN


          on a window that is maximized (h + v) and minimized at the same time, or just



          _NET_WM_STATE(ATOM) =


          (or no output at all) if none of those is the case.



          More fun



          Of course, using various languages, you can use Wnck, like in the python snippet below. (snippet from window-shuffler). The snippet outputs a list, showing the window name + either True or False (minimized).



          #!/usr/bin/env python3
          import gi
          gi.require_version('Wnck', '3.0')
          from gi.repository import Wnck


          def get_winlist(scr=None, selecttype=None):
          """
          get the window list. possible args: screen, select_type, in case it is
          already fetched elsewhere. select type is optional, to fetch only
          specific window types.
          """
          if not scr:
          scr = Wnck.Screen.get_default()
          scr.force_update()
          windows = scr.get_windows()
          if selecttype:
          windows = [w for w in windows if check_windowtype(w, selecttype)]
          return windows

          wlist = get_winlist()
          for w in wlist:
          print(w.get_name(), ",", w.is_maximized())


          Output looks like:



          Wnck.Window - Classes - Wnck 3.0 - Mozilla Firefox , True
          Postvak IN - vlijm@planet.nl - Mozilla Thunderbird , True
          Showtime , False
          settingsexample.vala - Visual Studio Code , False
          *Niet-opgeslagen document 1 - gedit , False
          desktop_weather , False
          Tilix: Standaard , False






          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 3 mins ago

























          answered 1 hour ago









          Jacob VlijmJacob Vlijm

          66.2k9131230




          66.2k9131230












          • Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

            – John1024
            1 hour ago











          • @John1024 Ah, thanks! will add it to the answer.

            – Jacob Vlijm
            1 hour ago











          • On my system it is shown in either case, even when empty.

            – v010dya
            11 mins ago

















          • Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

            – John1024
            1 hour ago











          • @John1024 Ah, thanks! will add it to the answer.

            – Jacob Vlijm
            1 hour ago











          • On my system it is shown in either case, even when empty.

            – v010dya
            11 mins ago
















          Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

          – John1024
          1 hour ago





          Excellent suggestion +1. As a comment, I tried it (under Linux, X11) and got slightly different results. When a window is neither hidden nor maximized, _NET_WM_STATE(ATOM) does not, as shown in the answer, appear with an empty value. Instead, it is not in the output at all.

          – John1024
          1 hour ago













          @John1024 Ah, thanks! will add it to the answer.

          – Jacob Vlijm
          1 hour ago





          @John1024 Ah, thanks! will add it to the answer.

          – Jacob Vlijm
          1 hour ago













          On my system it is shown in either case, even when empty.

          – v010dya
          11 mins ago





          On my system it is shown in either case, even when empty.

          – v010dya
          11 mins ago

















          draft saved

          draft discarded
















































          Thanks for contributing an answer to Ask Ubuntu!


          • Please be sure to answer the question. Provide details and share your research!

          But avoid


          • Asking for help, clarification, or responding to other answers.

          • Making statements based on opinion; back them up with references or personal experience.

          To learn more, see our tips on writing great answers.




          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2faskubuntu.com%2fquestions%2f1132023%2fhow-to-determine-if-window-is-maximised-or-minimised-from-bash-script%23new-answer', 'question_page');

          );

          Post as a guest















          Required, but never shown





















































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown

































          Required, but never shown














          Required, but never shown












          Required, but never shown







          Required, but never shown







          Popular posts from this blog

          Oświęcim Innehåll Historia | Källor | Externa länkar | Navigeringsmeny50°2′18″N 19°13′17″Ö / 50.03833°N 19.22139°Ö / 50.03833; 19.2213950°2′18″N 19°13′17″Ö / 50.03833°N 19.22139°Ö / 50.03833; 19.221393089658Nordisk familjebok, AuschwitzInsidan tro och existensJewish Community i OświęcimAuschwitz Jewish Center: MuseumAuschwitz Jewish Center

          Valle di Casies Indice Geografia fisica | Origini del nome | Storia | Società | Amministrazione | Sport | Note | Bibliografia | Voci correlate | Altri progetti | Collegamenti esterni | Menu di navigazione46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)46°46′N 12°11′E / 46.766667°N 12.183333°E46.766667; 12.183333 (Valle di Casies)Sito istituzionaleAstat Censimento della popolazione 2011 - Determinazione della consistenza dei tre gruppi linguistici della Provincia Autonoma di Bolzano-Alto Adige - giugno 2012Numeri e fattiValle di CasiesDato IstatTabella dei gradi/giorno dei Comuni italiani raggruppati per Regione e Provincia26 agosto 1993, n. 412Heraldry of the World: GsiesStatistiche I.StatValCasies.comWikimedia CommonsWikimedia CommonsValle di CasiesSito ufficialeValle di CasiesMM14870458910042978-6

          Typsetting diagram chases (with TikZ?) Announcing the arrival of Valued Associate #679: Cesar Manara Planned maintenance scheduled April 17/18, 2019 at 00:00UTC (8:00pm US/Eastern)How to define the default vertical distance between nodes?Draw edge on arcNumerical conditional within tikz keys?TikZ: Drawing an arc from an intersection to an intersectionDrawing rectilinear curves in Tikz, aka an Etch-a-Sketch drawingLine up nested tikz enviroments or how to get rid of themHow to place nodes in an absolute coordinate system in tikzCommutative diagram with curve connecting between nodesTikz with standalone: pinning tikz coordinates to page cmDrawing a Decision Diagram with Tikz and layout manager