Xmonad

Si tu color=#0000FF[/color] veux juste rajouter les onglets en plus de la config par défaut, ce ~/.xmonad/xmonad.hs fait l’affaire :[code]import XMonad
import XMonad.Layout.Tabbed

main = xmonad defaultConfig {
layoutHook = simpleTabbed ||| layoutHook defaultConfig
}[/code]

edit : pour passer d’un layout à l’autre : alt-space

[quote=“eol”]Si tu veux juste rajouter les onglets en plus de la config par défaut, ce ~/.xmonad/xmonad.hs fait l’affaire :[code]import XMonad
import XMonad.Layout.Tabbed

main = xmonad defaultConfig {
layoutHook = simpleTabbed ||| layoutHook defaultConfig
}[/code][/quote]
Merci, c’est presque ça !
Il faudrait que je puisse l’appliquer à une colonne seulement.

Première chose que j’ai fait c’est remplacer terminal par urxvt (à la réflexion il faudrait plutôt que je modifie l’alternative x-terminal-emulator), puis remplacer alt par la touche super (trop d’interférences avec d’autres raccourcis clavier).

[quote=“MisterFreez”]Merci, c’est presque ça !
Il faudrait que je puisse l’appliquer à une colonne seulement.[/quote]
Dans ce cas, tu tireras profit de xmonad.org/xmonad-docs/xmonad-co … Combo.html

Oui, moi aussi, j’ai quand même préféré citer le raccourci par défaut pour d’éventuels testeurs.

Il faudra sans doute aussi faire en sorte que xmonad reconaisse ton clavier azerty : xmonad.org/xmonad-docs/xmonad-co … zerty.html

Pas toujours facile de faire le tri entre le haskell et les multiples extensions existantes :slightly_smiling:

[quote=“eol”][quote=“MisterFreez”]Merci, c’est presque ça !
Il faudrait que je puisse l’appliquer à une colonne seulement.[/quote]
Dans ce cas, tu tireras profit de xmonad.org/xmonad-docs/xmonad-co … Combo.html[/quote]
Merci c’est très souple !
Faut d’abord que je vois comment me servir des workspaces ensuite je m’amuserais avec ça.

[quote=“thuban”]Il faudra sans doute aussi faire en sorte que xmonad reconaisse ton clavier azerty : xmonad.org/xmonad-docs/xmonad-co … zerty.html

Pas toujours facile de faire le tri entre le haskell et les multiples extensions existantes :slightly_smiling:[/quote]
Ça change quoi ? Si ça modifie les raccourcis clavier pour que les touches soient au même endroit comme remplacer mod-q par mod-a ?

Je n’arrive pas à le faire fonctionner comme je veux, mais tu remarqueras que contrairement à awesome, et tout comme dwm, xmonad par défaut n’est pas fait pour nos claviers français.
En particulier, pour changer de tag, il faut faire mod+n, où n est un chiffre. Sauf que nos claviers français n’ont pas les chiffres placés de la même façon que sur un qwerty, rendant l’utilisation des tags impossible.

Ça m’étonne quand même que cette fonction ne soit pas disponible pour awesome, mais effectivement après recherche rien à faire je ne vois pas.

Tu parle des onglets ? J’ai demandé sur IRC, il a existé une extension, mais il y a longtemps et je ne crois pas qu’elle soit compatible avec la version actuelle.

Pour les tags je n’avais en effet pas eu de problèmes sous awesome alors que là je n’arrive pas à les utiliser en effet. Je vais regarder ce que donne cette conf’ (et surtout comment l’intégret à ce que j’ai déjà).

[quote=“MisterFreez”]Faut d’abord que je vois comment me servir des workspaces ensuite je m’amuserais avec ça.[/quote]Le ~/.xmonad/xmonad.hs suivant a ce qu’il faut :[code]import XMonad
import qualified XMonad.StackSet as W

import XMonad.Actions.CycleWS
import XMonad.Actions.DwmPromote

import XMonad.Config.Azerty

import XMonad.Util.EZConfig – pour écrire moins dans la section des raccourcis clavier

tiled = Tall 1 (3/100) (31/50)

main = xmonad $ azertyConfig {
modMask = mod4Mask,
layoutHook = tiled ||| Full,
}

`additionalKeysP`
("M-<Tab>", toggleWS),
("M-<Return>", dwmpromote)
][/code]

[quote=“MisterFreez”]Ça change quoi ? Si ça modifie les raccourcis clavier pour que les touches soient au même endroit comme remplacer mod-q par mod-a ?[/quote]C’est utile pour le changement d’espace de travail et pour l’ajout/le retrait de fenêtre dans le master ( comma period sur qwerty, coma semicolon sur azerty )L’utilisation de azertyConfig fait tout ces changements à ta place.

Censé faire les changements pour azerty. J’ai utilisé un xmonad.hs,certes plus petit, mais équivalent au tiens eol, et je n’ai toujours pas accès à une configuration pour azerty. Je pensais que c’était parce que je ne comprend définitivement rien au haskell, mais ton bout de code semble dire le contraire :slightly_smiling:

Bon, va falloir qu’on réveille un topic XMonad.
Tu nous postes ton xmonad.hs ?

Dans celui posté au dessus, il y a des trucs qui sont juste là pour émuler dwm
pour pouvoir profiter des réflexes déjà bien ancrés …

[code]–
– An example, simple ~/.xmonad/xmonad.hs file.
– It overrides a few basic settings, reusing all the other defaults.

import XMonad
import XMonad.Layout.Tabbed
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Config.Azerty

– To configure terminal user update-alternative --config x-terminal-emulator

myBorderWidth = 2
myModMask = mod4Mask
myNormalBorderColor = "#cccccc"
myFocusedBorderColor = "#cd8b00"
myLayout = simpleTabbed ||| layoutHook defaultConfig
myWorkspaces = [“1”,“2”,“3”,“4”]
–myLogHook = dynamicLogDzen

– A structure containing your configuration settings, overriding
– fields in the default config. Any you don’t override, will
– use the defaults defined in xmonad/XMonad/Config.hs

main = xmonad $ azertyConfig {
– simple stuff
–focusFollowsMouse = myFocusFollowsMouse,
borderWidth = myBorderWidth,
modMask = myModMask,
workspaces = myWorkspaces,
normalBorderColor = myNormalBorderColor,
focusedBorderColor = myFocusedBorderColor,

  -- key bindings
    --keys               = azertyKeys,
    --mouseBindings      = myMouseBindings,

  -- hooks, layouts
    layoutHook         = myLayout
    --manageHook         = myManageHook,
    --handleEventHook    = myEventHook,
    --logHook            = myLogHook,
    --startupHook        = myStartupHook
}[/code]

Voici le miens qui marche.

Je me suis permis de diviser le sujet.

J’avais juste ça :

[code]import XMonad
import XMonad.Config.Azerty

main = do
xmonad $ azertyConfig
{ terminal = “x-terminal-emulator”
, modMask = mod4Mask
}
[/code]
sérieusement, c’est quoi mon problème avec xmonad? :unamused: Visiblement il me manquait la ligne “keys …” . PAs facile de trouver toutes ces infos, c’était pas mis sur la page du module!

Enfin ce n’est pas très grave, j’ai tout ce qu’il me faut avec dwm, et je ne vois rien dans xmonad qui serait un réel plus pour moi (n’hésitez pas à me dire quelles fonctions de xmonad vous fait rêver les gars :wink: ).

Je connais que dalle à haskell mais tente ça :

[code]import XMonad
import XMonad.Config.Azerty

main = xmonad $ azertyConfig {
modMask = mod4Mask
}[/code]
Le “do” pose peut être problème. Pour le terminal, utiliser x-terminal-emulator ne sert à rien car il est près configuré ainsi.

[quote=“MisterFreez”]Je connais que dalle à haskell mais tente ça :

[code]import XMonad
import XMonad.Config.Azerty

main = xmonad $ azertyConfig {
modMask = mod4Mask
}[/code]
Le “do” pose peut être problème. Pour le terminal, utiliser x-terminal-emulator ne sert à rien car il est près configuré ainsi.[/quote]
Ah oui, le petit do met peut-être le bazard, je vais tenter :slightly_smiling: .
Je ne savais pas pour le terminal. C’est toujours plus pratique d’utiliser x-terminal-emulator, même dans les scripts, ça évite de devoir tout changer à la main s’il le faut.

edit : c’était bien le do qui posait problème! merci!

[quote=“MisterFreez”][code]import XMonad
import XMonad.Layout.Tabbed
import XMonad.Hooks.DynamicLog
import XMonad.Hooks.ManageDocks
import XMonad.Config.Azerty

myBorderWidth = 2
myModMask = mod4Mask
myNormalBorderColor = "#cccccc"
myFocusedBorderColor = "#cd8b00"
myLayout = simpleTabbed ||| layoutHook defaultConfig
myWorkspaces = [“1”,“2”,“3”,“4”]

main = xmonad $ azertyConfig {
borderWidth = myBorderWidth,
modMask = myModMask,
workspaces = myWorkspaces,
normalBorderColor = myNormalBorderColor,
focusedBorderColor = myFocusedBorderColor,

    layoutHook         = myLayout
}

[/code]
Voici le miens qui marche.[/quote]
Bonsoir,
je me suis permis de le coller sans les commentaires pour mieux le visualiser.
Je ne sais pas où tu en es avec ta barre de status mais pour l’instant :import XMonad.Hooks.DynamicLogn’est pas utilisé.

En important import XMonad.Util.Loggers -- si tu veux ajouter des sorties de commandes dans ta barre import XMonad.Util.Run
un bout de code du genre :[code]mrfreezePP :: PP
mrfreezePP = defaultPP { ppCurrent = dzenColor “#cd8b00” “#cccccc” . pad,
ppVisible = dzenColor “#cd8b00” “#cd8b00” . pad,
ppHidden = dzenColor “#cccccc” “#cd8b00” . pad,
(…)
(…)
ppSep = " ",

                    ppTitle    = dzenColor "#cd8b00" "#cccccc" . dzenEscape,
                    ppExtras = [ logCmd "while :; do date |cut -d : -f1,2 ; sleep 60 ; done" ]

– exemple à la con, hein …
}[/code]Inspiration ( même plagiat sur certains points ) ici : xmonad.org/xmonad-docs/xmonad-co … icLog.html

Plus une fonction main du genre :main = do h <- spawnPipe "dzen2" xmonad $ azertyConfig { modMask = mod4Mask, (...) logHook = dynamicLogWithPP $ mrfreezePP { ppOutput = hPutStrLn h }, (...) }
Tu devrais déjà avoir un début de quelque chose

Bon d’accord, il reste à voir pour un affichage propre dans la barre …

Merci beaucoup, pour le moment j’ai survolé ton code, je regarderais ça plus tard dans la soirée. J’ai ceci qui m’avais permis de configurer xmobar avant de le faire faire par xmonad :

Config { font = "-*-terminus-*-*-*-*-12-*-*-*-*-*-*-u" , bgColor = "#000000" , fgColor = "#00FFFF" , position = TopW , commands = [ Run Network "eth0" ["-L","0","-H","32","-l", "green", "--normal","orange","--high","red"] 40 , Run Cpu ["<cpu0>/<cpu1>","-L","3","-H","50","-l","green","--normal","orange","--high","red"] 40 , Run Cpu ["<cpu0>","-L","3","-H","50","-l","green","--normal","orange","--high","red"] 40 , Run Memory ["-t","Mem: <usedratio>%", "-l", "green", "--normal","orange","--high","red"] 40 , Run Date "%a %b %_d %H:%M" "date" 60 , Run CpuFreq ["-t","Freq: <cpu0> | <cpu1> GHz","-L","0","-H","2","-l","green","-n","orange","-h","red"] 50 , Run StdinReader ] , sepChar = "%" , alignSep = "}{" , template = " %StdinReader% }{ %cpu% @ %cpufreq% <fc=#0033FF>|</fc> %memory% <fc=#0033FF>|</fc> %eth0% <fc=#0033FF>|</fc> %date% " }

Ce que je n’arrive pas encore à faire c’est à gérer la superposition de la barre (actuellement elle se place au dessus des clients/fenêtres).

J’avais cru que tu voulais utiliser dzen ( d’après une ligne commentée de ton xmonad.hs )
Je viens d’aller voir sur le site de xmobar, ça à l’air sympa aussi, je vais jouer un peu avec …

[quote=“MisterFreez”]Ce que je n’arrive pas encore à faire c’est à gérer la superposition de la barre (actuellement elle se place au dessus des clients/fenêtres).[/quote]Faut assigner un raccourci clavier à “sendMessage ToggleStruts”

[quote=“eol”]J’avais cru que tu voulais utiliser dzen ( d’après une ligne commentée de ton xmonad.hs )
Je viens d’aller voir sur le site de xmobar, ça à l’air sympa aussi, je vais jouer un peu avec …[/quote]
Je suis très erratique quand je découvre et que je maîtrise mal. En l’occurrence comme dzen est le premier exemple que j’ai vu de « dialogue » entre xmonad et une barre, j’ai commencé avec. Mais je préfère laisser sa chance à xmobar qui se configure avec le même langage qu’xmonad (tout en étant agnostique et utilisable ailleurs).

Je me suis mal exprimé je veux toujours voir la barre sans qu’elle empiète sur les clients.

[quote=“MisterFreez”]Je me suis mal exprimé je veux toujours voir la barre sans qu’elle empiète sur les clients.[/quote]À part si je comprends mal ce que tu souhaites, c’est le comportement par défaut.

Tu veux dire que chez toi, le haut du client est invisible à cause de la barre ?