Kirjoittaja Aihe: kde 3.5 ctrl-alt-d (näytä työpöytä) käyttäytyy oudosti[RATKAISTU](käännä kicker)  (Luettu 7200 kertaa)

aapo

  • Käyttäjä
  • Viestejä: 195
    • Profiili
Kde 3.5.8. Kun painan ctrl-alt-d kaikki ikkunat pienenevät alapalkkiin, hyvä, näin halusinkin. Kun nyt teen mitä tahansa (avaan kansion työpöydältä tai käynnistän k-valikosta tai taskbarista mitä tahansa), niin kaikki nuo pienentämäni ikkunat hyppäävät takaisin isoiksi. Tätä en odottanut.
Onko tämä normaalia?

Jos tuota ctrl-alt-d painaa toistuvasti, niin ne saa palautettua, dokumentoitu ominaisuus: "Pressing the same key combination again brings you to your previous state.", mutta mitenkä tämä automaattinen silmillä hyppääminen?

(meinaan, että en viitsi tehdä bugiraporttia, jos tämä onkin ominaisuus)
« Viimeksi muokattu: 22.05.08 - klo:13.37 kirjoittanut aapo »

Risto H. Kurppa

  • Käyttäjä
  • Viestejä: 3024
  • Useita Kubuntuja ajossa.
    • Profiili
    • http://risto.kurppa.fi
On normaalia, on ominaisuus, ei hyvä sellainen.

Eli tuo työpöydän näyttö on tavallaan 'siirrä ikkunat hetkeksi syrjään' -juttu eikä 'minimize all' ja juurikin kun nyt avaa jotain, kaikki pullahtavat esiin..

r
UUSI UBUNTUN KÄYTTÄJÄ: SÄÄSTÄ AIKAASI LUKEMALLA  -> TÄMÄ <-

aapo

  • Käyttäjä
  • Viestejä: 195
    • Profiili
Pienennä kaikki VS Näytä työpöytä
« Vastaus #2 : 16.05.08 - klo:01.25 »
Hei, tämä ominaisuus ottaa nyt toden teolla päähän. (Hauskinta tietysti se, että joku KDE-kehittäjä on nähnyt paljon vaivaa tämän ominaisuuden toteuttamiseen ja minä näen hirveästi vaivaa sen poistamiseen)

"Näytä työpöytä / Show Desktop" ja "Pienennä kaikki / Minimize All" ovat kaksi täysin eriasiaa, vaikka niitä yleisesti ottaen käytetään pahasti ristiin.

wmctrl-nimisellä ohjelmalla jolla voi komentaa ikkunoita tekemään vaikka mitä (löytyy repoista)
Koodia: [Valitse]
wmctrl -r "Downloads" -b add,hidden
Pienentää ikkunan, jonka nimi on Downloads. Jos käytät KDE:tä, niin ei pienennä.


Yritys 2:
Tein ohjelman, joka kelaa jokaisen ikkunan läpi ja pienentää sen. Pommin varma. Paitsi että ei toimi KDE:n kanssa. Ikkunan pienentäminen on vain kehoitus, jota KDE ei tottele. Muut ikkunoinnit kyllä.

Tallenna tiedostoon.
Koodia: [Valitse]
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/Xatom.h>

Display *dd;
Window root_win;
int scr_screen;

int main (int argc, char *argv[])
   {
   dd = XOpenDisplay (NULL);
   if (!dd)
      return 0;
   scr_screen = DefaultScreen (dd);
   root_win = RootWindow (dd, scr_screen);

   unsigned int nwins, i;
   Window dummyw1, dummyw2, *wins;
   XWindowAttributes attr;

   XQueryTree(dd, root_win, &dummyw1, &dummyw2, &wins, &nwins);
   for(i = 0; i < nwins; i++)
      {
      XGetWindowAttributes(dd, wins[i], &attr);
      XIconifyWindow (dd, wins[i], scr_screen);
      //iconifyWindow(    WId   , False  );
      }
      XFree(wins);
   }

käännä:
Koodia: [Valitse]
gcc -lX11 tiedosto.c -o pienennin

Suorita
Koodia: [Valitse]
./pienennin


Ketään KDE:lle kehittäjää?
Koodissa on kommentoituna toi kde:n iconifyWindow, sille pitää antaa ikkunoiden WId :ejä, jotta toimisi. Millä selvitän ne? Eli tiedän Window ja pitäs tietää WId.

(QT4:ssä tulee activeWindow, jolla saa ainakin yhden ikkunan WIdin selville, mutta pysyttelisin mielummin vielä tässä qt3:ssa)


Löytyy muuten googlella aika monta foorumia, jossa joku itkee samaa ongelmaa. Pari tuntia oon tota selvitelly.




mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Kde 3.5.8. Kun painan ctrl-alt-d kaikki ikkunat pienenevät alapalkkiin, hyvä, näin halusinkin.

Itse ihmettelen miksi kaikki ikkunat pitäisi saada kerralla pieneksi? Minä en muista kokeneeni tuollaiselle toiminnolle koskaan mitään tarvetta.

Risto H. Kurppa

  • Käyttäjä
  • Viestejä: 3024
  • Useita Kubuntuja ajossa.
    • Profiili
    • http://risto.kurppa.fi
Itse ihmettelen miksi kaikki ikkunat pitäisi saada kerralla pieneksi? Minä en muista kokeneeni tuollaiselle toiminnolle koskaan mitään tarvetta.

Jotta pääsisi työpöytään käsiksi: joillakin on tapana pitää tiedostoja työpöydällä tai pikakuvakkeita joihinkin ohjelmiin tms tai ihan vaan kiva taustakuva näkyviin siksi aikaa kun vessassa käy. Ja ok, siellä on se nappula jolla tämän voi tehdä ('näytä työpöytä') - mutta jotkut jotkut tekevät taas tällaiset mieluummin näppäimistöltä kuin hiirellä.

r
UUSI UBUNTUN KÄYTTÄJÄ: SÄÄSTÄ AIKAASI LUKEMALLA  -> TÄMÄ <-

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Tjaa...minä painan aina Ctrl + Alt + ->
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

mgronber

  • Käyttäjä
  • Viestejä: 1458
    • Profiili
Itse ihmettelen miksi kaikki ikkunat pitäisi saada kerralla pieneksi? Minä en muista kokeneeni tuollaiselle toiminnolle koskaan mitään tarvetta.
Jotta pääsisi työpöytään käsiksi: joillakin on tapana pitää tiedostoja työpöydällä tai pikakuvakkeita joihinkin ohjelmiin tms tai ihan vaan kiva taustakuva näkyviin siksi aikaa kun vessassa käy.

Ihmettelenkin kovasti miksi työpöydällä pitää säilyttää kuvakkeita sillä siellähän ne ovat mahdollisimman hankalasti tavoitettavissa ja lisäksi peittävät häiritsevästi taustakuvaakin. Työpöytiä on käytössä liian vähän jos ei löydy vähintään yhtä tyhjänä olevaa työpöytää jolla voi ihastella taustakuvaa IMHO.

Vessakäynnin ajaksi kone tietysti lukitaan ettei tapahdu kauheita jos kissat, koirat, lapset tai pienet vihreät miehet kävelevät näppäimistön yli.

Lainaus
Ja ok, siellä on se nappula jolla tämän voi tehdä ('näytä työpöytä') - mutta jotkut jotkut tekevät taas tällaiset mieluummin näppäimistöltä kuin hiirellä.

Eikö tuon nappulan toiminallisuutta saa sidottua pikanäppäimeen? Onko sen toiminnallisuus erilainen kuin aloitusviestissä mainitun Ctrl - Alt - d -yhdistelmän?

Aloitusviestissä kuvattu toiminnallisuus on siinä mielessä järkevää että jos joku pitää kuvakkeita työpöydällä ja haluaa kesken hommien päästä niihin käsiksi niin käytännöllisintä on piilottaa muut ikkunat vain hetkellisesti jotta työpöydältä saa kaivettua haluamansa. Samoin jos ikkunat haluaa hetkeksi piiloon esimerkiksi vessakäynnin ajaksi (jos on niin uhkarohkea että uskaltaa pitää koneensa lukitsematta ilman valvontaa) niin siihenkin tuo sopii täydellisesti. Paluun jälkeen hommia pääsee jatkamaan siitä mihin ne jäivät kun kaikki ikkunat palaavat kerralla takaisin.

Edelleen ihmettelen miksi kaikki ikkunat pitäisi saada yhdellä kertaa pysyvästi minimoitua? Jos ruudulla olevat ikkunat ovat tarpeettomia niin ne voi sulkea. Jos niiden kanssa tehtävät hommat keskeyttää vain väliaikaisesti ja rupeaa tekemään jotakin muuta niin silloin vaihdetaan työpöytää.

Tomin

  • Palvelimen ylläpitäjä
  • Käyttäjä / moderaattori+
  • Viestejä: 11481
    • Profiili
    • Tomin kotisivut
Itse ihmettelen miksi kaikki ikkunat pitäisi saada kerralla pieneksi? Minä en muista kokeneeni tuollaiselle toiminnolle koskaan mitään tarvetta.
Jotta pääsisi työpöytään käsiksi: joillakin on tapana pitää tiedostoja työpöydällä tai pikakuvakkeita joihinkin ohjelmiin tms tai ihan vaan kiva taustakuva näkyviin siksi aikaa kun vessassa käy.

Ihmettelenkin kovasti miksi työpöydällä pitää säilyttää kuvakkeita sillä siellähän ne ovat mahdollisimman hankalasti tavoitettavissa ja lisäksi peittävät häiritsevästi taustakuvaakin. Työpöytiä on käytössä liian vähän jos ei löydy vähintään yhtä tyhjänä olevaa työpöytää jolla voi ihastella taustakuvaa IMHO.

Vessakäynnin ajaksi kone tietysti lukitaan ettei tapahdu kauheita jos kissat, koirat, lapset tai pienet vihreät miehet kävelevät näppäimistön yli.
On niitä muitakin syitä lukitä se työpöytä ;)
Automaattinen allekirjoitus:
Lisäisitkö [RATKAISTU] ketjun ensimmäisen viestin aiheeseen ongelman ratkettua, kiitos.

aapo

  • Käyttäjä
  • Viestejä: 195
    • Profiili
'Näytä työpöytä'-painike alapalkissa tekee samankuin ctrl-alt-d. Eli se on juuri tuo, että pikkuisen vilautetaan työpöytää, ja sitten kaikki taas oikeille paikoilleen.

Olisin toivonut enemmän ohjeita homman korjaamiseen, kuin syyn kyseenalaistamiseen, mutta voinhan joutessani senkin tehdä. Tätä keskustelua ei voi verrata käyttäjän ja kehittäjän väliseen, mutta käykö niissä yleensä näin.
Käyttäjä: "Toivoisin tähän ohjelmaan tällaista muutosta"
kehittäjä: "mitä sinä sillä teet?"
käyttäjä: "no minulla on siihen tällaisia syitä kts. liite A"
kehittäjä: "mutta nuo eivät ole hyviä syitä, kyllä sinun pitää oppia tekemään nuo hommat tälla tavalla kts. liite 1"
jne.

Koneella on monta käyttäjää, mutta yksi käyttäjätunnus. (tästä  voimme aloittaa uuden ketjun, lähtien siitä, että jos koneeseen on fyysinen pääsy, niin salasanat ovat turhia)
Osa käynnissä olevista ikkunoista kuuluu toiselle käyttäjälle ja osa taasen toiselle. Osa ikkunoista on yhteisiä. Kaikki (tämän koneen) käyttäjät eivät hahmota monen työpöydän käyttämistä, mikä muuten olisi hyvä ratkaisu. Näytössä on riittävästi tilaa, jotta työpöydälle voi laittaa kymmenen kuvaketta tärkeimpiin kansioihin ja kymmenen käytetyintä ohjelmaa, ja silti näkyy vielä taustakuvaakin tarpeeksi. Konetta ei sammuteta koskaan, vaan se käy välissä vain hibernatessa, joten ikkunoita ei katoa mihinkään, vaan ne ihan oikeasti sammuvat vasta pyynnöstä. Yhtäaikaa käynnissä olevia projekteja on monta ja ikkunoita auki useita (juuri tällä hetkellä liioittelematon tilanne 19 ikkunaa (ja kyse ei ole tabien käytön puutteesta, firefoxissa 45 tabia auki, yhdessä niistä)).

Kun käyttäjä vaihtuu, helpointa olisi pienentää kaikki ja aloittaa puhtaalta pöydältä silti rikkomatta mitään. Monen työpöydän käyttö tosiaan olisi yksi ratkaisu, mutta toisaalta miksi käyttäjän pitää oppia uutta ja muutta tottumuksiaan, eikö tietokoneen pitäisi olla se joka joustaa?

väite: työpöytäkuvakkeet hankalassa paikassa.
-jos kaikki ikkunat saa kerralla pieneksi, ne ovat hyvässä paikassa. jos ikkunoita ei saa kerralla pieneksi, ne ovat vaikeassa paikassa
(huomaa syy-seuraus suhteen suunta)

väite: työpöytäkuvakkeet peittävät taustakuvaa
-isolle laajakuvanäytölle mahtuu sekä kuvakkeita että tyhjääkin tilaa taustakuvalle


lainaus
Edelleen ihmettelen miksi kaikki ikkunat pitäisi saada yhdellä kertaa pysyvästi minimoitua? Jos ruudulla olevat ikkunat ovat tarpeettomia niin ne voi sulkea. Jos niiden kanssa tehtävät hommat keskeyttää vain väliaikaisesti ja rupeaa tekemään jotakin muuta niin silloin vaihdetaan työpöytää.
/lainaus

Tarpeettomia minulle, mutta tarpeellisia toiselle. En saa sammuttaa, mutta haluan silti nähdä työpöydän.


Mistä löydän ihmisen kertomaan kuinka muutan xlib-ohjelman kde-ohjelmaksi? Selasin kickerin koodista jo kohdan missä on showdesktop-funktio, mutta sitä ei voi siitä suoraan siirtää omaan mini-ohjelmaan (vertaa tuota xlib-ohjelmaa), vaan se on tiukasti osa koko kickerin koodia ja samalla kde-base-koodia. (Haiskahtaako tämä jo siltä, että olen tosissani asian suhteen?)



aapo

  • Käyttäjä
  • Viestejä: 195
    • Profiili
Hain kickerin lähdekoodin + riippuvuudet, kyydissä tulee koko kdebase. configure+make (make ei mee edes läpi). kdebase/kicker/kicker make menee läpi, joten puukotus
showdesktop.cpp
void ShowDesktop::showDesktop( bool b )
josta tämmönen
 if( m_wmSupport )
    {
        NETRootInfo i( qt_xdisplay(), 0 );
        i.setShowingDesktop( true );
        return;
    }
ja deiconified kutsut pois.

En edes tiedä kuinka syvälle tuo m_wmSupport yms yltää, mutta joku jossakin on päättänyt, että MinimizeAll:ia on täysin kielletty.
KDE 4:ssä kicker on ilmeisesti haudattuna, joten näyttää siltä että tämä oli vasta ensimmäinen erävoitto ja toinen erä häämöttää tulevaisuudessa.


Tästä jatkunee privaatisti. Annan neuvoja jos joku toinenkin tämän kanssa taistelee. Tämä oli minulle iso asia, ja uskon jos se on jollekulle muullekin.