Willkommen im #Neuland
Login wie bei quake.ingame.de zuvor, die Passwörter aus der alten Datenbank wurden aber gelöscht - einmal hier neu anfordern.
Wer seine E-Mail-Adresse nicht mehr hat oder kennt, bitte eine Nachricht mit Infos schicken o. im Discord melden.

PQ Discord Server: #planetquake                                                                                                                                         Spenden? Hier entlang!

[xmonad] Frage betreffend keyboard shortcuts

GNU/Linux-, *BSD- und Fricklerforum
Antworten
Phelot
Patriot
Patriot
Beiträge: 1322
Registriert: Nov 2002

[xmonad] Frage betreffend keyboard shortcuts

Beitrag von Phelot »

Hey,

wurde in einem anderen Topic mit xmonad angefixt :)

Habe nun eine kleine frage: weiss jemand wie man die verschiedenen Anordnungsalgorithmen auf verschiedene Mod-Tastenkombinationen binded? Momentan kann ich nur mit Mod-Space durchcyceln. Ich würde gerne Mod-V für Tall und Mod-H für die horizontale Anordnung verwenden. Oder ist es möglich "zurückzucyceln"?


meine ~/.xmonad/xmonad.hs, kopiert aus einem tutorial. habe lediglich nochmals einen fullmode hinzugefügt, so dass ich mit mod-space immer zu diesem komme. wie gesagt, ich habe keine ahnung von haskell :ugly:

Code: Alles auswählen

import XMonad hiding (Tall)
import XMonad.Hooks.ManageDocks
import XMonad.Hooks.SetWMName
import XMonad.Layout.ThreeColumns
import XMonad.Layout.HintedTile
import XMonad.Layout.NoBorders

myLayout = avoidStruts $
         smartBorders $
         hintedTile Tall |||
         noBorders Full |||
         hintedTile Wide |||
         noBorders Full  -- |||
  --       threeCol

  -- hintedTile listens to application hints, so as not to break gVim.
  where
     hintedTile = HintedTile nmaster delta ratio TopLeft
     threeCol   = ThreeCol nmaster delta ratio
     nmaster    = 1
     delta      = 3/100
     ratio      = 1/2

myManageHook = composeAll
    [ className =? "Gimp" --> doFloat ]

main = do
    xmonad $ defaultConfig
        { 
          -- Left WIN Key as modifying
          -- rather than Left ALT
          modMask = mod1Mask

        , manageHook = manageDocks <+> myManageHook <+> manageHook defaultConfig

        -- I used to use: avoidStruts $ layoutHook defaultConfig
        , layoutHook = myLayout

        -- This hack is necessary to make Java GUIs like NetBeans work.  See the FAQ.
        , logHook = setWMName "LG3D"
        }

/e :ugly:
Bild

Bild
p4nDa
Doom
Doom
Beiträge: 3540
Registriert: Jun 2005

Beitrag von p4nDa »

ich fand das standardmaessig ganz ok so und hab da nichts weiter geandert.

Du weisst dass du mit [font=monospaced]Mod + ,[/font] bzw [font=monospaced]Mod + .[/font] durchwechseln kannst?
Bild
Pummeluft
Daemia
Daemia
Beiträge: 319
Registriert: Feb 2010

Beitrag von Pummeluft »

Ich hab es mir auch gerade nach diesem Tutorial Xmonad/Config archive/John Goerzen's Configuration - HaskellWiki installiert und habe ein paar Fragen / Probleme:
- Kann ich einen Autostart für Programme einrichten (z.B. 4 gleichgroße Terminals auf Workspace1, Firefox im Vollbild auf Workspace2)?
- Der Trayer funktioniert nicht. Ich kann ihn manuell starten, aber dann ist er unten als vollständige horizontale Linie. Wenn ich ihn mit allen Parametern starte, ist er an der richtigen Position, aber die Symbole / Plugins fehlen und nach dem Neustart ist er wieder weg
- Ich habe versucht das Hintergrundbild zu ändern, aber er übernimmt es nicht: bsetbg -center bg.jpg in der .xsession
- Ich habe versucht eine Transparenz im Terminal einzustellen, was auch in einem Versuch funktionierte, nach dem Neustart aber wieder weg war. Muss ich das auch in irgendeine Config schreiben?
- Kann ich Transparenz auch in anderen Programmen einstellen (Nautilus)?
- Kann ich im Trayer dann auch eine Shutdown/Reboot-Verknüpfung erstellen?
- Kann ich ausschalten, dass es einen Fokusrahmen gibt, wenn nur ein Fenster geöffnet ist?

Ich benutze Ubuntu 11.10 und hab (noch) wenig Ahnung von Linux, weshalb mir Google leider oft nicht wirklich weiterhilft. Wäre nett, wenn sich einer von euch erbarmt.
Danke
fame
Combo
Combo
Beiträge: 13805
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Hab grad nicht so viel lust zu schreiben, daher erstmal ne kurze Antwort:

1) Autostart: Einfach in die .xsession eintragen was du starten willst und gut. Wie man einzelne Programme bestimmten Workspaces zuordnet steht oft genug im Netz. Stichwort: "do shift"

2) Transparenz: Was für ein Terminal benutzt du? Je nachdem musst du es dann in eine Config Datei schreiben. Die Transparenz hat mit xmonad nichts zu tun sondern muss vom jeweiligen Programm unterstützt werden. Soweit ich weiss kann Nautilus sowas nicht, musste sonst selbst mal gucken. Grafische Dateimanager sind imho recht nutzlos.

3) Trayer: Lies dir doch einfach mal die Manpage durch und stell ihn dann nach und nach so ein wie du es willst. Wenn dann in einem Schritt die Symbole verschwinden könntest gezielter fragen.

4) Hintergrund: Kenne bsetbg jetzt nicht, aber versuch mal feh oder xsri zum setzen des Hintergrunds.

5) Ausschalten Rahmen: Das geht bestimmt :) Meine Haskel Skills sind leider sehr eingerostet und ich hab auch grad keinen Zugriff zu meinem Rechner. Du müsstest einfach über das aktuelle Windowset abfragen wieviele Fenster es gibt und dann die jeweile Option aktivieren/deaktivieren. Ich würde es an deiner Stelle selbst versuchen, denn nur so lernt man Haskell und das braucht man nunmal um die xmonad config anzupassen.
Phelot
Patriot
Patriot
Beiträge: 1322
Registriert: Nov 2002

Beitrag von Phelot »

MCHammel hat geschrieben:Ich hab es mir auch gerade nach diesem Tutorial Xmonad/Config archive/John Goerzen's Configuration - HaskellWiki installiert und habe ein paar Fragen / Probleme:
- Kann ich einen Autostart für Programme einrichten (z.B. 4 gleichgroße Terminals auf Workspace1, Firefox im Vollbild auf Workspace2)?
- Der Trayer funktioniert nicht. Ich kann ihn manuell starten, aber dann ist er unten als vollständige horizontale Linie. Wenn ich ihn mit allen Parametern starte, ist er an der richtigen Position, aber die Symbole / Plugins fehlen und nach dem Neustart ist er wieder weg
- Ich habe versucht das Hintergrundbild zu ändern, aber er übernimmt es nicht: bsetbg -center bg.jpg in der .xsession
- Ich habe versucht eine Transparenz im Terminal einzustellen, was auch in einem Versuch funktionierte, nach dem Neustart aber wieder weg war. Muss ich das auch in irgendeine Config schreiben?
- Kann ich Transparenz auch in anderen Programmen einstellen (Nautilus)?
- Kann ich im Trayer dann auch eine Shutdown/Reboot-Verknüpfung erstellen?
- Kann ich ausschalten, dass es einen Fokusrahmen gibt, wenn nur ein Fenster geöffnet ist?

Ich benutze Ubuntu 11.10 und hab (noch) wenig Ahnung von Linux, weshalb mir Google leider oft nicht wirklich weiterhilft. Wäre nett, wenn sich einer von euch erbarmt.
Danke
Ich habe mir das ganze, bevor ich xmonad zusammen mit xfce benutzt habe, folgendermassen eingerichtet:

File /usr/share/xsession/xmonad.desktop erstellen mit dem Inhalt:
[Desktop Entry]
Encoding=UTF-8
Name=XMonadSession
Comment=Lightweight tiling window manager
Exec=/usr/share/xsessions/xmonad.start
Icon=xmonad.png
Type=XSession

zusaetzlich noch ein startscript /usr/share/xsession/xmonad.start, das beim
waehlen der xmonad session ausgefuehrt wird:

#!/bin/bash
xrdb -merge .Xresources
xsetroot -cursor_name pirate
trayer --edge top --align right --SetDockType true --SetPartialStrut true --expand true --width 15 --height 12 --transparent true --tint 0x000000 &
xfce4-volumed & # keyboard controls for volume
dropbox start
nm-applet &
xfce4-power-manager &
guake &
feh --bg-center /home/username/Pictures/wps/_1920x1200_3.jpg
exec xmonad

script noch per sudo chmod +x /usr/share/xsession/xmonad.start ausfuehrbar machen. keine garantie, das dies die sinnvollste loesung ist, jedoch ging es eigentlich einigermassen gut, obwohl man sagen muss, dass die oneiric standard installation mit xmonad einige probleme hat. (ghc7 beschwert sich teils ueber fehlende module beim kompilieren der xmonad config.) ka, evtl hilft dir etwas daran (feh zb).

das ganze zusammen mit xmobar, der von xmonad gestartet wird.
mittlerweile habe ich es nun so, dass xmobar am oberen bildschirmrand 70% der laenge ausfuellt, und die restlichen 30% von xfce4-panel eingenommen wird, der mir dann auch icons, widgets etc darstellt.
Bild

Bild
fame
Combo
Combo
Beiträge: 13805
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Deine Loesung ist jetzt nicht verkehrt, aber unnoetig und imho sind die Verzeichnisse auch schlecht gewaehlt.

Eine einfache xmonad.desktop die xmonad startet reicht doch. Den Autostart regelt man dann ueber die .xsession in $HOME. Bei deiner Variante hat jeder User diesselben Programme im Autostart. Bei der Variante muss man dann auch nicht die xmonad.desktop von Hand anpassen.
Phelot
Patriot
Patriot
Beiträge: 1322
Registriert: Nov 2002

Beitrag von Phelot »

fame hat geschrieben:Deine Loesung ist jetzt nicht verkehrt, aber unnoetig und imho sind die Verzeichnisse auch schlecht gewaehlt.

Eine einfache xmonad.desktop die xmonad startet reicht doch. Den Autostart regelt man dann ueber die .xsession in $HOME. Bei deiner Variante hat jeder User diesselben Programme im Autostart. Bei der Variante muss man dann auch nicht die xmonad.desktop von Hand anpassen.
ok danke fuer den hinweis.ist die .xsession im home dir ein einfaches bash script oder muss man da noch etwas beachten?
Bild

Bild
fame
Combo
Combo
Beiträge: 13805
Registriert: Okt 2000
Wohnort: LK Rosenheim

Beitrag von fame »

Da muss man nichts beachten. Nur halt dass du Programme, die dauerhaft laufen, in den Hintergrund schickst, was du aber bereits machst (das & am Ende der Zeile).

Du kannst einfach deine xmonad.start da rein pasten. Das exec xmonad kannst du wegmachen, wenn du über sowas wie gdm/kdm dein xmonad auswählst, da dann ja bereits die xmonad.desktop ausgeführt wird. Die müsstest du dann noch auf die Default xmonad.desktop zurücksetzen wenn du die noch hast.

Wobei du hast ja nur die Exec Zeile angepasst. Denke wenn du da einfach sowas wie /usr/bin/xmonad (falls dort dein xmonad bin liegt) hinschreibst sollte das passen.
Antworten